Имитация API OpenAI

При создании приложений, подключенных к OpenAI, часто только часть приложения взаимодействует с API OpenAI. При работе с частями приложения, которые не требуют реальных ответов из API OpenAI, можно имитировать ответы с помощью прокси-сервера разработки. Использование имитированных ответов позволяет избежать ненужных затрат. Использует OpenAIMockResponsePlugin локальную языковую модель, запущенную в Ollama, для имитации ответов из API OpenAI.

Перед началом работы

Чтобы имитировать ответы OpenAI API с помощью прокси-сервера разработки, на компьютере необходимо установить Ollama. Чтобы установить Ollama, следуйте инструкциям в документации по Ollama.

По умолчанию в прокси-сервере разработки используется языковая модель phi-3. Чтобы использовать другую модель, обновите model свойство в файле конфигурации прокси-сервера разработки.

Настройка прокси-сервера разработки для имитации ответов OpenAI API

Совет

Действия, описанные в этом руководстве, доступны в предустановке прокси-сервера разработки. Чтобы использовать предустановку, в командной строке запустите devproxy preset get simulate-openaiи следуйте инструкциям.

Чтобы имитировать ответы OpenAI API с помощью прокси-сервера разработки, необходимо включить его OpenAIMockResponsePlugin в devproxyrc.json файле.

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
    }
  ]
}

Затем настройте прокси-сервер разработки для перехвата запросов к API OpenAI. OpenAI рекомендует использовать конечную точку https://api.openai.com/v1/chat/completions , которая позволяет воспользоваться новейшими моделями и функциями.

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/completions"
  ]
}

Наконец, настройте прокси-сервер разработки для использования локальной языковой модели.

{
  // [...] trimmed for brevity
  "languageModel": {
    "enabled": true
  }
}

Полный файл конфигурации выглядит следующим образом.

{
  "$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.19.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/completions"
  ],
  "languageModel": {
    "enabled": true
  }
}

Имитация ответов API OpenAI

Запустите Ollama с языковой моделью phi-3. В командной строке выполните команду ollama run phi3.

Затем запустите прокси-сервер разработки. Если вы используете предустановку, выполните команду devproxy -c "~appFolder/presets/simulate-openai/simulate-openai.json. При использовании пользовательского файла конфигурации с именем devproxyrc.json, хранящегося в текущем рабочем каталоге, выполните команду devproxy. Прокси-сервер разработки проверяет, что он может получить доступ к языковой модели Ollama и подтверждает, что он готов имитировать ответы OpenAI API.

 info    OpenAIMockResponsePlugin: Checking language model availability...
 info    Listening on 127.0.0.1:8000...

Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy

Запустите приложение и выполните запросы к API OpenAI. Прокси-сервер разработки перехватывает запросы и имитирует ответы с помощью локальной языковой модели.

Снимок экрана: командная строка с имитацией ответа на прокси-сервер разработки для запроса на OpenAI API.

Следующий шаг

Дополнительные сведения о OpenAIMockResponsePlugin.

Примеры

См. также связанные примеры прокси-сервера разработки: