Aracılığıyla paylaş


OpenAI API benzetimi

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

OpenAI'ye bağlı uygulamalar oluşturduğunuzda, genellikle uygulamanın yalnızca bir bölümü OpenAI API'siyle etkileşim kurar. Uygulamanın 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 OpenAI API'sinden gelen yanıtları simüle etmek için yerel bir dil modeli kullanır.

Başlamadan önce

Dev Proxy kullanarak OpenAI API yanıtlarını simüle etmek için makinenizde desteklenen bir dil modeli istemcisinin yüklü olması gerekir.

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üncelleştirin.

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-openaive yönergeleri izleyin.

Dev Proxy kullanarak 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/v2.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "OpenAIMockResponsePlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll"
    }
  ]
}

Ardından, OpenAI API'sine yönelik istekleri kesmek için Dev Proxy'yi yapılandırın. OpenAI, en son modellerden ve özelliklerden yararlanmanızı sağlayan uç noktanın kullanılmasını https://api.openai.com/v1/chat/completions önerir.

Dosya: devproxyrc.json (kök düzeyine ekle)

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

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

Dosya: devproxyrc.json (kök düzeyine ekle)

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

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

Dosya: devproxyrc.json (tamamlandı)

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

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

Varsayılan yapılandırmayı varsayarsak, 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 -c "~appFolder/config/simulate-openai/simulate-openai.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 kontrol eder ve OpenAI API yanıtlarını simüle etmeye hazır olduğunu onaylar.

 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

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

OpenAI API'sine yönelik bir 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: