Поделиться через


Имитация API OpenAI

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

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

Чтобы имитировать ответы OpenAI API с помощью Dev Proxy, на вашем компьютере должен быть установлен поддерживаемый клиент языковой модели .

По умолчанию Dev Proxy использует языковую модель llama3.2, работающую на Ollama. Чтобы использовать другой клиент или модель, обновите параметры языковой модели в файле конфигурации Dev Proxy.

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

Совет

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

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

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.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/dotnet/dev-proxy/main/schemas/v1.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ],
  "urlsToWatch": [
    "https://api.openai.com/v1/chat/completions"
  ],
  "languageModel": {
    "enabled": true
  }
}

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

Предполагая, что конфигурация используется по умолчанию, запустите Ollama с языковой моделью llama3.2. В командной строке выполните команду ollama run llama3.2.

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

 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. Прокси-сервер разработки перехватывает запросы и имитирует ответы с помощью локальной языковой модели.

Снимок экрана командной строки с Dev Proxy, симулирующим ответ на запрос к API OpenAI.

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

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

Примеры

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