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


Симуляция API Azure OpenAI

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

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

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

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

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

Совет

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

Чтобы имитировать ответы API OpenAI Azure с помощью Dev Proxy, необходимо включить 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 Azure. Для простоты используйте подстановочные знаки для перехвата запросов ко всем развертываниям.

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://*.openai.azure.com/openai/deployments/*/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://*.openai.azure.com/openai/deployments/*/completions*"
  ],
  "languageModel": {
    "enabled": true
  }
}

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

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

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

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

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

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

Примеры

Смотрите также примеры прокси для разработки: