Skip to main content
CID222 Docs
GeliştirmeBaşlarken

İlk isteğinizi gönderin

Bir ağ geçidi API anahtarı oluşturun, sağlayıcı kimlik bilgisi ekleyin ve Server-Sent Events akışını doğru okuyan bir sohbet isteği yapın.

  • Sürüm: 0.4
  • Rol: admin_user
  • Tür: görev

Bir istemi CID222 üzerinden bir sağlayıcıya ulaştırın ve geri alın. Bir ağ geçidi API anahtarı oluşturur, CID222'ye harcayacağı bir sağlayıcı kimlik bilgisi verir ve yanıtını Server-Sent Events (SSE) akışı olarak okuduğunuz tek bir istek yaparsınız.

Neye ihtiyacım var?

Lisans
Any
Rol
admin_user

Ön koşullar

  • Cihaz ilk açılış kurulum sihirbazını tamamlamıştır ve kontrol panelini sunmaktadır.
  • Kontrol paneline admin_user rolüne sahip bir kiracıyla giriş yapabilirsiniz.
  • En az bir LLM sağlayıcısı (OpenAI, Azure OpenAI, Anthropic veya Google) için bir API anahtarınız vardır.
  • İstemciniz ağ geçidine TCP 443 üzerinden, konteynere doğrudan çağrı yapıyorsanız TCP 3000 üzerinden erişebilir.
  • Test edeceğiniz makinede curl 7.72 veya üzeri, ya da requests paketiyle Python 3.9 veya üzeri kuruludur.

CID222, POST /chat/completions çağrılarının hepsinde text/event-stream döndürür. Akışsız bir mod yoktur; bu nedenle aşağıdaki örnekler gövdeyi JSON olarak ayrıştırmak yerine satır satır okur.

İlk çağrıyı yapın

Bir ağ geçidi API anahtarı oluşturun

Yönetim → API Anahtarları yolunu seçin, ardından API Anahtarı Oluştur düğmesini seçin. Anahtara bir ad ve isteğe bağlı olarak bir son kullanma tarihi verin.

Anahtar yalnızca bir kez, cid_key_ ve ardından 64 onaltılık karakter biçiminde gösterilir. CID222 yalnızca özetini saklar ve anahtarı bir daha gösteremez.

Anahtarı ortamınıza kaydedin

Anahtarı, çağrıyı yapacağınız makinede bir ortam değişkenine kopyalayın.

export CID222_API_KEY="cid_key_0123456789abcdef…"
export CID222_BASE_URL="https://<appliance-fqdn>"

echo "$CID222_API_KEY" komutu cid_key_ ile başlayan bir değer yazdırır.

Bir sağlayıcı kimlik bilgisi ekleyin

Yönetim → Kimlik Bilgileri yolunu seçin, ardından Kimlik Bilgisi Ekle düğmesini seçin. Sağlayıcıyı seçin, sağlayıcının kendi API anahtarını yapıştırın ve kaydedin.

Kimlik bilgisi listede sağlayıcısı ve kapsamıyla görünür. CID222 değeri şifreler ve hiçbir zaman geri döndürmez.

Kiracınızın kullanabileceği modelleri listeleyin

Ağ geçidi API anahtarıyla GET /models çağrısı yapın.

curl -sS "$CID222_BASE_URL/models" \
  -H "Authorization: Bearer $CID222_API_KEY"

Yanıt bir JSON dizisidir. Yalnızca kiracınızın etkin kimlik bilgisine sahip olduğu sağlayıcıların modelleri görünür; boş bir dizi, önceki adımın etkili olmadığı anlamına gelir.

[
  {
    "id": "0f2a…",
    "model_name": "gpt-4o",
    "display_name": "GPT-4o (Vision)",
    "provider": { "id": "8c31…", "code": "openai", "name": "OpenAI" },
    "supports_vision": true,
    "supports_streaming": true,
    "is_active": true,
    "created_at": "2026-09-01T08:12:44.000Z"
  }
]

KKV içeren bir istem gönderin

POST /chat/completions adresine tek bir mesaj gönderin ve akışı okuyun. Model adı birden çok sağlayıcı tarafından sunuluyorsa model ile birlikte provider alanını da gönderin — gpt-4o hem openai hem de azure_openai tarafından kayıtlıdır.

curl -N -sS -X POST "$CID222_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $CID222_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "provider": "openai",
    "messages": [
      {
        "role": "user",
        "content": "Summarise this feedback in one sentence: Great product. Reach me at john.smith@example.com or 555-0142."
      }
    ]
  }'

-N seçeneği curl'ün çıktı arabelleğini kapatır. Bu seçenek olmadan olaylar yalnızca akış kapandığında görünür.

Akış, üretim süresi boyunca duraklar, ardından yanıtın tamamını tek bir olayda iletir:

data: {"type":"token_usage","usage":{"prompt_tokens":41,"completion_tokens":19,"total_tokens":60}}

data: {"id":"filtered-response","content":"The customer is happy with the product and left contact details.","finish_reason":"stop","filtered":false,"entities_masked":0}

data: [DONE]

Warning

Yanıt, token başına farklar hâlinde değil tek bir olay olarak gelir ve olay adları CID222'ye özgüdür. OpenAI akış biçimine göre yazılmış bir istemci burada choices, delta veya artımlı metin bulamaz. Mevcut bir SDK'yı bu uç noktaya bağlamadan önce Sohbet API'si sayfasını okuyun.

Doğrulama

  1. Son adımdaki komut data: [DONE] ile biter ve ondan önceki satır boş olmayan bir content ile birlikte "id":"filtered-response" taşır.
  2. Tespit ve Filtreleme → Tüm Tespitler yolunu seçin. İsteğe ait bir satır bulunur; e-posta adresini ve telefon numarasını, varlık türleri, güven puanları ve uygulanan eylemle gösterir.
  3. İsteği açıkça toksik veya jailbreak niteliğinde bir istemle yineleyin. Akış, error alanı ve "type":"content_rejected" taşıyan tek bir olayın ardından data: [DONE] gönderir ve sağlayıcı hiç çağrılmaz.

Başarısız olursa

  • GET /models [] döndürüyor → kiracının hiçbir sağlayıcı için etkin kimlik bilgisi yok. Kimlik bilgisi adımını yineleyin ve kimlik bilgisinin kiracınıza ya da kiracınızın üye olduğu bir gruba atanmış olduğunu doğrulayın.
  • İstek 401 döndürüyor → başlık hatalı biçimlendirilmiş. Başlık bir X-API-Key başlığı değil, Authorization: Bearer cid_key_<64 hex> olmalıdır.
  • İstek LICENSE_EXPIRED ile 402 döndürüyor → kurulu lisans geçersiz veya süresi dolmuş. Bir yönetici, Ayarlar → Lisans altından yenileme kurar.
  • İstek ROLE_NOT_FOR_CHAT ile 403 döndürüyor → çağıran kiracı, sohbeti kullanmayan auditor rolüne sahip.
  • Bir dakika boyunca hiçbir şey gelmiyor, sonra her şey birden geliyor → bu, arızalı bir davranış değil, arabelleğe alınmış akışın tasarlandığı gibi çalışmasıdır.

Sonraki adımlar

  • Kimlik doğrulama — API anahtarı yerine ne zaman JWT kullanacağınız ve hangi yüzeylerin API anahtarını reddettiği.
  • Sohbet API'si — her istek alanı ve akışın taşıyabileceği her olay.
  • Oturumlar API'si — konuşma geçmişini yeniden göndermek yerine CID222'ye tutturun.

Son güncelleme

Bu sayfada