Developer guide

API çağrısı yapma

API uyumlu yollar ve akış·ses kuralları

CLEVI ağ geçidinin çağrı yolları, OpenAI uyumlu ve Anthropic uyumlu spesifikasyonlara ayrılır.
Her iki spesifikasyon da aynı API anahtarını kullanır ve konuşmalı akıl yürütme modelleri her iki spesifikasyon üzerinden de çağrılabilir.
Gömme ve ses·voice yolları yalnızca OpenAI uyumlu spesifikasyonda bulunur;
Anthropic uyumlu spesifikasyon ise messages, count_tokens ve models olmak üzere üç yol sağlar.

Akış, istek gövdesindeki stream ile etkinleştirilir; gömme ve bazı modeller·yollar tarafından desteklenmez. Ses·voice yolları, sesi olduğu gibi döndürme ve çıktıları CleviDrive'da 3 gün boyunca saklama gibi genel akıl yürütmeden farklı kurallara uyar.

Model kimlikleri ve modele göre izin verilen çağrılar model sayfasında, kimlik doğrulama üst bilgileri ve base URL ise API anahtarıyla kimlik doğrulama sayfasında yer alır.

Yol seçimi

Yapmak istediğiniz işe ve kullandığınız SDK'ya göre bir yol seçin. Tablodaki yollar, her spesifikasyonun base URL'sinin sonuna eklenen göreli yollardır.

Yapmak istediğiniz işSpesifikasyonYol
Konuşmalı akıl yürütme, OpenAI SDK kullanımıOpenAI uyumluPOST /chat/completions veya POST /responses
Konuşmalı akıl yürütme, Anthropic SDK kullanımıAnthropic uyumluPOST /v1/messages
Gömme oluşturmaOpenAI uyumluPOST /embeddings
Ses sentezi·transkripsiyon, voice yönetimiOpenAI uyumlu/audio ve /voices altındaki yollar
Çağrılabilir modelleri kontrol etmeHer ikisiGET /models

OpenAI uyumlu yollar

OpenAI uyumlu spesifikasyonun base URL'si https://platform.clevi.net/api/v2/aiservice/openai/v1 adresidir. İstek ve yanıt gövdeleri OpenAI spesifikasyonunu izler. Aşağıdaki tabloda akıl yürütme ve model yolları ana bilgisayar temelinde tam yollar olarak gösterilir; ses·voice yolları ise ilerideki ses ve voice yolları bölümünde düzenlenmiştir.

YöntemYolAçıklama
POST/api/v2/aiservice/openai/v1/chat/completionsKonuşma tabanlı çıkarım talep eder. stream etkinleştirildiğinde SSE üzerinden yanıt verir.
POST/api/v2/aiservice/openai/v1/responsesResponses biçimini kullanarak çağrı yapar. stream desteklenir.
GET/api/v2/aiservice/openai/v1/responses/{responseId}Kaydedilmiş tek bir yanıtı getirir.
GET/api/v2/aiservice/openai/v1/responses/{responseId}/input_itemsKaydedilmiş yanıtın giriş öğeleri listesini getirir.
POST/api/v2/aiservice/openai/v1/responses/{responseId}/cancelArka planda devam eden yanıtı iptal eder.
DELETE/api/v2/aiservice/openai/v1/responses/{responseId}Kaydedilmiş yanıtı siler.
POST/api/v2/aiservice/openai/v1/completionsEski metin tamamlama isteğinde bulunur. stream desteklenir.
POST/api/v2/aiservice/openai/v1/embeddingsEmbedding oluşturur. Akış desteklenmez.
GET/api/v2/aiservice/openai/v1/modelsBu anahtarla çağrılabilen modellerin listesini döndürür.
GET/api/v2/aiservice/openai/v1/models/{modelId}Tek bir modeli getirir. Erişilemeyen bir model için 404 döndürür.

chat/completions çağrısı yapan en basit örnektir. sk-... yerine API anahtarı ekranından aldığınız anahtarı, model yerine model sayfasındaki kimliği girin.

curl https://platform.clevi.net/api/v2/aiservice/openai/v1/chat/completions \
  -H "X-API-Key: sk-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

Diğer yollar

Aşağıdaki yollar tanılama, eski sürüm uyumluluğu ve aktarım amaçlıdır.

YolAçıklama
GET /api/v2/aiservice/openai/v1/healthzSes provider'ının durumunu kontrol eder.
/api/v2/aiservice/openai/v1/api/status · /api/options · /api/generate · /outputs/{filename}Eski Cosa'nın durumunu ve seçeneklerini sorgulama, oluşturma çağrısı (multipart) ve çıktıları indirme yollarıdır.
/api/v2/aiservice/openai/v1/{routeKey} (GET · POST · PUT · PATCH · DELETE)Yukarıdaki tabloda yer almayan provider yollarını kuralları uygulayarak iletir. chat/completions, completions, embeddings ve responses özel yollar tarafından işlendiğinden POST iletimi olarak çağrılırsa 404 döndürür.

İstek ve yanıt alanlarının tamamını OpenAPI 3.0 belgesinde https://platform.clevi.net/api/v2/console/openapi/cloud-inference-v1 bulabilirsiniz. Yol listesi bu belgeden oluşturulur ve belge yalnızca konsolda oturum açmış bir oturumla açılabilir. Aynı belgeyi kullanarak istemci oluşturabilirsiniz.

Anthropic uyumlu yollar

Anthropic uyumlu spesifikasyonun base URL'si https://platform.clevi.net/api/v2/aiservice/anthropic olup Anthropic SDK'sı istek yoluna /v1'i doğrudan ekler. İstek ve yanıt gövdeleri Anthropic Messages spesifikasyonunu izler.

YöntemYolAçıklama
POST/api/v2/aiservice/anthropic/v1/messagesMessages spesifikasyonuna uygun şekilde çağrı yapar. model, messages ve max_tokens gereklidir; stream desteklenir.
POST/api/v2/aiservice/anthropic/v1/messages/count_tokensYalnızca giriş belirteçlerinin sayısını ücretlendirme olmadan tahmin eder. max_tokens gerekli değildir.
GET/api/v2/aiservice/anthropic/v1/modelsİmleç sayfalandırma yöntemiyle model listesini döndürür. limit 1~1000 arasında olmalıdır; aralık dışındaysa 400 döndürür.
GET/api/v2/aiservice/anthropic/v1/models/{modelId}Tek bir modeli sorgular. Erişilemeyen bir modelse 404 döndürür.

messages çağrısı için minimum örnektir.

curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/messages \
  -H "X-API-Key: sk-..." \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "cip-5.5-im",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "안녕하세요"}]
  }'

anthropic-version başlığı atlanırsa 2023-06-01 olarak işlenir. Ağ geçidi, anthropic-version ve anthropic-beta başlıklarını olduğu gibi iletir.

Akış (SSE)

İstek gövdesinde stream true olarak ayarlanırsa sunucu, Server-Sent Events ile yanıt verir. Destek durumu yol ve modele göre aşağıdaki gibi değişir.

HedefDavranış
OpenAI uyumlu POST /chat/completions · POST /completions · POST /responsesstream desteklenir.
Anthropic uyumlu POST /v1/messagesstream desteklenir.
POST /embeddingsAkış desteklenmez.
Ivy arama serisi modelleri (ivy-4-mm-search vb.)stream etkinleştirilse bile sunucu bunu devre dışı bırakır ve tek seferde yanıt verir.
GET /responses/{responseId}?stream=true400 döndürür. Arka plan yanıtlarının kullanımını tam olarak yalnızca bir kez ölçmek mümkün olana kadar kapalı tutulan yoldur.

İlk parçayla birlikte aşağıdaki üç başlığı gönderir. Daha sonra her parçada data: satırını gönderip hemen flush eder ve yalnızca üst akış bir etkinlik adı sağladığında event: satırını da gönderir.

  • Content-Type: text/event-stream
  • Cache-Control: no-cache
  • X-Accel-Buffering: no

Anthropic uyumlu yolun parçalarında event satırı ile data satırı eşleşir.

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"안"}}

chat/completions parçaları data satırı olarak gelir ve son olarak data: [DONE] olduğu gibi iletilir.

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[...]}

data: [DONE]

Akış sırasında bir hata oluşursa normal çağrıyla aynı hata JSON'ı data: tek satır olarak iletilir ve HTTP durum kodu da değiştirilir.

Ses ve voice yolları

TTS·STT ve Cosa voice yönetimi yolları OpenAI uyumlu spesifikasyona dahildir ve genel çıkarımdan farklı birkaç kural uygulanır. Hangi modelin hangi yola izin verdiğini model sayfasındaki Cosa tablosundan kontrol edin.

YöntemYolAçıklama
POST/api/v2/aiservice/openai/v1/audio/speechMetni sese dönüştürür ve sesi olduğu gibi döndürür.
POST/api/v2/aiservice/openai/v1/audio/transcriptionsSesi metne dönüştürür (multipart).
POST/api/v2/aiservice/openai/v1/audio/speech/cloneKlonlanmış sesle konuşma sentezler (multipart).
GET/api/v2/aiservice/openai/v1/voicesArayanın kullanabileceği seslerin listesini döndürür.
POST/api/v2/aiservice/openai/v1/voicesSes örneğiyle bir ses kaydeder (multipart).
POST/api/v2/aiservice/openai/v1/voices/designAçıklama metniyle sentezlenmiş bir ses oluşturur.
DELETE/api/v2/aiservice/openai/v1/voices/{voiceId}Sesi siler. Yalnızca sahibi silebilir.

Aşağıdaki kurallar yalnızca ses ve voice yollarına uygulanır.

Kuralİçerik
İkili aktarımıaudio/speech, audio/speech/clone ve outputs/{filename} için başarılı yanıtlar, sesi olduğu gibi iletirken aynı zamanda CleviDrive'a kaydeder.
Fiş başlıklarıX-Clevi-Drive-File-Id, X-Clevi-Drive-File-Version-Id, X-Clevi-Drive-Download-Url, X-Clevi-Drive-Expires-At, X-Clevi-Drive-Retention-Days: 3 başlıklarını yanıta ekler.
Product seçimiaudio/speech ve audio/transcriptions, Product seçimini istek gövdesindeki model ile yapar. Ses ve tanılama yolları için X-Product-Sku başlığı veya product_sku sorgu parametresi gereklidir.
Ses sahipliğiKlonlanan veya kaydedilen sesler, onları oluşturan kişiye ait olur. Başka bir sahibin sesiyle sentezleme veya silme girişimlerinde 403 döndürülür ve GET /voices listesine yalnızca size ait sesler dahil edilir.
Boyut ve süreİstek üst sınırı 28 MiB, upstream çağrısı zaman aşımı ise 5 dakikadır.
provider yoğunluğuUpstream yoğun olduğunda 409 durumunu olduğu gibi iletir ve Retry-After varsa bu değeri de iletir. Ağ geçidi yeniden deneme yapmaz veya isteği kuyruğa almaz.

Dil ve bölge

Makine çevirisiyle çevrilen diller clevi/cip-5.5-im tarafından çevrilir ve bu şekilde işaretlenir. Bu, yayımlanmış site paketi bulunan diller için geçerlidir.

137 dil

Önerilen

1

Doğu Asya

7

Güneydoğu Asya

11

Güney Asya

18

Orta Asya

5

Orta Doğu ve Kafkasya

10

Batı Avrupa ve Güney Avrupa

17

Birleşik Krallık ve İrlanda

4

Kuzey Avrupa

10

Orta Avrupa ve Balkanlar

14

Doğu Avrupa

5

Doğu Afrika

8

Batı Afrika ve Orta Afrika

9

Afrika’nın Güneyi

8

Amerika

5

Okyanusya

5