Azure OpenAI API'si benzetimi

Bir bakışta
Hedef: Yerel LLM kullanarak Azure OpenAI simülasyonu
Süre: 15 dakika
Eklentiler: OpenAIMockResponsePlugin
Önkoşullar:Geliştirme Proxy'sini ayarlama, Yerel dil modeli

Azure OpenAI'ye bağlı uygulamalar oluşturduğunuzda genellikle uygulamanın yalnızca bir bölümü Azure OpenAI API'siyle etkileşim kurar. Uygulamanın Azure OpenAI API'sinden gerçek yanıt gerektirmeyen bölümleri üzerinde çalışırken, Dev Proxy kullanarak yanıtların benzetimini yapabilirsiniz. Sanal yanıtların kullanılması gereksiz maliyetlerle karşılaşmamanızı sağlar. OpenAIMockResponsePlugin, Azure OpenAI API yanıtlarını simüle etmek için makinenizde çalışan bir yerel dil modeli kullanır.

Başlamadan önce

Dev Proxy kullanarak Azure OpenAI API yanıtlarını simüle etmek için makinenizde bir desteklenen dil modeli istemcisi yüklü olmalıdır.

Varsayılan olarak Dev Proxy, Ollama üzerinde çalışan llama3.2 dil modelini kullanır. Farklı bir istemci veya model kullanmak için Dev Proxy yapılandırma dosyasındaki dil modeli ayarlarını güncelleyin.

Azure OpenAI API yanıtlarının benzetimini yapmak için Dev Proxy'yi yapılandırma

İpucu

Bu öğreticide açıklanan adımlar kullanıma hazır Dev Proxy ön ayarında kullanılabilir. Ön ayarı kullanmak için komut satırında komutunu çalıştırın devproxy config get simulate-azure-openaive yönergeleri izleyin.

Dev Proxy kullanarak Azure OpenAI API yanıtlarının benzetimini yapmak için, OpenAIMockResponsePlugin öğesini devproxyrc.json dosyasında etkinleştirmeniz gerekir.

Dosya: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"
    }
  ]
}

Ardından Dev Proxy'yi Azure OpenAI API'sine yönelik istekleri kesecek şekilde yapılandırın. Kolaylık olması için, tüm dağıtımlara yönelik istekleri kesmek için joker karakterler kullanın.

Dosya: devproxyrc.json

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

Son olarak, Dev Proxy'yi yerel dil modeli kullanacak şekilde yapılandırın.

Dosya: devproxyrc.json

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

Yapılandırma dosyasının tamamı şöyle görünür.

Dosya: 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
  }
}

Azure OpenAI API yanıtlarının benzetimini yapın

Varsayılan yapılandırmayla, Ollama'yı llama3.2 dil modeliyle başlatın. Komut satırında komutunu çalıştırın ollama run llama3.2.

Ardından Dev Proxy'yi başlatın. Ön ayarı kullanıyorsanız komutunu çalıştırın devproxy --config-file "~dataFolder/configs/simulate-azure-openai/.devproxy/devproxyrc.json". adlı devproxyrc.json, geçerli çalışma dizininde depolanan özel bir yapılandırma dosyası kullanıyorsanız komutunu çalıştırın devproxy. Dev Proxy, Ollama'daki dil modeline erişip erişemediğini denetler ve Azure OpenAI API yanıtlarının benzetimini yapmaya hazır olduğunu doğrular.

 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

Uygulamanızı çalıştırın ve Azure OpenAI API'sine istek gönderin. Dev Proxy istekleri durdurur ve yerel dil modelini kullanarak yanıtların simülasyonunu oluşturur.

Azure OpenAI API'sine yönelik istek için yanıt simülasyonu yapılan Dev Proxy ile komut isteminin ekran görüntüsü.

Sonraki adım

OpenAIMockResponsePlugin hakkında daha fazla bilgi edinin.

Örnekler

Ayrıca ilgili Dev Proxy örneklerine de bakın: