Simuler l’API Azure OpenAI

En un clin d’œil
Objectif: Simuler Azure OpenAI à l’aide de LLM local
Heure : 15 minutes
Plugins :OpenAIMockResponsePlugin
Prérequis :Configurer le proxy de développement, modèle de langage local

Lorsque vous créez des applications connectées à Azure OpenAI, souvent, seule une partie de l’application interagit avec l’API Azure OpenAI. Lorsque vous travaillez sur les parties de l’application qui ne nécessitent pas de réponses réelles de l’API Azure OpenAI, vous pouvez simuler les réponses à l’aide de Dev Proxy. L’utilisation de réponses simulées vous permet d’éviter les coûts inutiles. Le OpenAIMockResponsePlugin utilise un modèle de langage local s’exécutant sur votre ordinateur pour simuler les réponses de l’API Azure OpenAI.

Avant de commencer

Pour simuler les réponses de l’API Azure OpenAI à l’aide de Dev Proxy, vous devez installer un client de modèle de langage pris en charge sur votre machine.

Par défaut, Dev Proxy utilise le modèle de langage llama3.2 exécuté sur Ollama. Pour utiliser un autre client ou un autre modèle, mettez à jour les paramètres du modèle de langage dans le fichier de configuration de Dev Proxy.

Configurer Dev Proxy pour simuler les réponses de l’API Azure OpenAI

Conseil

Les étapes décrites dans ce tutoriel sont disponibles dans une présélection de proxy de développement prête à l’emploi. Pour utiliser le préréglage, dans la ligne de commande, exécutez devproxy config get simulate-azure-openai et suivez les instructions.

Pour simuler des réponses d’API Azure OpenAI à l’aide du proxy de développement, vous devez activer le fichier OpenAIMockResponsePlugindevproxyrc.json.

Fichier:devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.3.1/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ]
}

Ensuite, configurez le proxy de développement pour intercepter les requêtes vers l’API Azure OpenAI. Pour plus de simplicité, utilisez des caractères génériques pour intercepter les requêtes pour tous les déploiements.

Fichier : devproxyrc.json

{
  // [...] trimmed for brevity
  "urlsToWatch": [
    "https://*.openai.azure.com/openai/deployments/*/completions*"
  ]
}

Enfin, configurez le proxy de développement pour utiliser un modèle de langage local.

Fichier : devproxyrc.json

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

Le fichier de configuration complet ressemble à ceci.

Fichier : devproxyrc.json

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v3.3.1/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
  }
}

Simuler des réponses de l’API Azure OpenAI

En supposant la configuration par défaut, démarrez Ollama avec le modèle de langage llama3.2. Dans l’invite de commandes, exécutez ollama run llama3.2.

Ensuite, démarrez Dev Proxy. Si vous utilisez le préréglage, exécutez devproxy --config-file "~dataFolder/configs/simulate-azure-openai/.devproxy/devproxyrc.json". Si vous utilisez un fichier de configuration personnalisé nommé devproxyrc.json, situé dans le répertoire de travail courant, exécutez devproxy. Dev Proxy vérifie qu’il peut accéder au modèle de langage sur Ollama et confirme qu’il est prêt à simuler les réponses de l’API Azure OpenAI.

 info    OpenAIMockResponsePlugin: Checking language model availability...
 info    Dev Proxy 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

Exécutez votre application et effectuez des demandes à l’API Azure OpenAI. Dev Proxy intercepte les requêtes et simule les réponses à l’aide du modèle de langage local.

Capture d’écran d’une invite de commandes avec le proxy de développement simulant la réponse d’une demande à l’API Azure OpenAI.

Étape suivante

En savoir plus sur OpenAIMockResponsePlugin.

Exemples

Consultez également les exemples associés de Dev Proxy :