Custom AI Modülü

Bu modül, henüz Crowdin tarafından desteklenmeyen yapay zeka sağlayıcılarını bağlamanıza yardımcı olur. Bu tür bir uygulama oluşturmanızdan sonra, içeriğinizi bağlı YZ sağlayıcıyla önceden çevirebilecek ve YZ sağlayıcısını Düzenleyicide bir yardımcı olarak kullanabileceksiniz.

Bu modüle aşağıdaki kullanıcı kategorilerinden biri için erişim verebilirsiniz:

Crowdin için:

  • Sadece ben (yani proje sahibi)
  • Tüm proje üyeleri
  • Seçilen kullanıcılar

Crowdin Enterprise için:

  • Sadece kuruluş üst yöneticileri
  • Kuruluş projelerindeki tüm kullanıcılar
  • Seçilen kullanıcılar

Yapı

{
   "ai-provider": [
     {
       "key": "custom-ai",
       "name": "Özel Open AI",
       "logo": "/logo.png",
       "url": "/ai-settings",
       "chatCompletionsUrl": "/chat/completions",
       "modelsUrl": "/models"
     }
   ]
}

Özellikler

key

Tür: dizgi

Zorunlu: evet

Açıklama: Crowdin uygulaması içindeki modül tanımlayıcısı.

name

Tür: dizgi

Zorunlu: evet

Açıklama: Modülün insan tarafından okunabilir adı.

logo

Tür: dizgi

Zorunlu: evet

Açıklama: Crowdin kullanıcı arayüzünde görüntülenecek olan özel YZ’nin logosu için göreceli URL.
Önerilen çözünürlük 48x48 pikseldir.

url

Tür: dizgi

Zorunlu: hayır

Açıklama: Modül ayarları sayfasının göreceli URL (örn. YZ sağlayıcı kimlik bilgileri ayarları vb.).

chatCompletionsUrl

Tür: dizgi

Zorunlu: evet

Açıklama: Sohbet tamamlamalarını getirmek için kullanılan göreceli URL.

modelsUrl

Tür: dizgi

Zorunlu: evet

Açıklama: YZ sağlayıcısı tarafından desteklenen modellerin listesini almak için kullanılan göreceli URL.

environments

Tür: dizgi

İzin verilen değerler: crowdin, crowdin-enterprise

Açıklama: Bir modülün yüklenebildiği ortamlar kümesi.
Bu parametre, ürünler arası uygulamalar için gereklidir.

Özel YZ Uygulaması ile Crowdin arasındaki iletişim

Sistem, chatCompletionsUrl kullanarak uygulamaya istemler gönderir, uygulama daha sonra istemleri işler ve sisteme bir yanıtla yanıt verir. YZ > Sağlayıcılar sayfasında bir Özel YZ sağlayıcısı yapılandırılırken Crowdin, modelsUrl kullanarak uygulamaya bir istek gönderir. Özellikle Özel YZ sağlayıcı ayarları sayfasındaki ilgili giriş alanında mevcut modelleri görüntülemek için. Kullanıcı gerekli modelleri seçip kaydedebilir, bu da daha sonra içeriğin ön çevirisi ve chatCompletionsUrl kullanılarak yardımcı ile iletişim için kullanılacaktır.

chatCompletions için Crowdin’den Uygulamaya istek

HTTP isteği:

POST https://{AppBaseUrl}/chat/completions/

İstek Başlıkları

chatCompletionsUrl isteği yetkilendirme başlıklarını içerecektir (örn. Authorization: Bearer <App JWT token>).

İstek yükü örneği:

{
  "model": "gpt-3.5-turbo",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "İstem"
        },
        {
          "type": "image",
          "mimeType": "image/png",
          "url": "https://picsum.photos/200/300"
        }
      ]
    },
    {
      "role": "assistant",
      "content": "Yanıtla"
    },
    {
      "role": "user",
      "content": "Yeni istem"
    }
  ]
}

Uygulamadan Beklenen Yanıt

Yanıt yükü örneği:

{
   "choices": [
      {
         "message": {
            "role": "assistant",
            "content": "Yeni yanıt"
         }
      }
   ]
}

modelsUrl için Uygulamadan Crowdin’e yanıt

Yanıt yükü örneği:

{
  "data": [
    {
      "id": "gpt-3.5-turbo",
      "supportsJsonMode": true,
      "supportsFunctionCalling": true,
      "supportsVision": false,
      "contextWindowLimit": 16385,
      "outputLimit": 4096
    },
    {
      "id": "gpt-4-turbo",
      "supportsJsonMode": true,
      "supportsFunctionCalling": true,
      "supportsVision": true,
      "contextWindowLimit": 128000,
      "outputLimit": 4096
    },
    {
      "id": "gpt-5-power",
      "supportsJsonMode": true,
      "supportsFunctionCalling": true,
      "supportsVision": true,
      "contextWindowLimit": 1000000,
      "outputLimit": 8192
    },
    {
      "id": "gpt-6-devil",
      "supportsJsonMode": true,
      "supportsFunctionCalling": true,
      "supportsVision": true,
      "contextWindowLimit": 1000000,
      "outputLimit": 8192
    },
    {
      "id": "gpt-7-magic",
      "supportsJsonMode": true,
      "supportsFunctionCalling": true,
      "supportsVision": true,
      "contextWindowLimit": 1000000,
      "outputLimit": 8192
    }
  ]
}

Varsayılan değerler:

  • supportsJsonMode: false
  • supportsFunctionCalling: false
  • supportsVision: false
  • contextWindowLimit: 4096
  • outputLimit: 4096

Uygulamadan gelen yanıtların yapısı sunulan örneklere uygun olmalıdır, aksi takdirde Crowdin bunları geçersiz sayacaktır.

Bu makale yararlı oldu mu?