Skip to content

Chat Completions

Metin üretmenin ana yoludur: sohbet, soru-cevap, özetleme, araç çağırma ve görsel anlama hep bu uç noktadan geçer.

POST/v1/chat/completions

İstek parametreleri

AlanTipZorunluAçıklama
modelstringModel adı (örn. verinova)
messagesdiziSohbet mesajları (aşağıya bakın)
streambooleantrue ise SSE akışı döner
stream_optionsobje{ "include_usage": true } ile akışta token bilgisi
max_tokensintegerÜretilecek azami token
max_completion_tokensintegermax_tokens'ın yeni adı
temperaturenumberYaratıcılık (0–2). Düşük = tutarlı
top_pnumberÇekirdek örnekleme
toolsdiziModelin çağırabileceği fonksiyonlar
tool_choicestring/objeAraç seçim davranışı
response_formatobje{ "type": "json_object" } veya json_schema
stopstring/diziDurdurma dizileri
frequency_penalty / presence_penaltynumberTekrar cezaları
seednumberTekrarlanabilirlik için
userstringSon kullanıcı tanımlayıcısı

messages öğesi

AlanTipAçıklama
rolestringsystem, user veya assistant
contentstring | diziDüz metin veya çok parçalı içerik (metin + görsel)
tool_callsdizi(assistant) Model tarafından istenen araç çağrıları
tool_call_idstring(tool) Hangi araç çağrısına yanıt

Temel örnek

bash
curl https://app.qevron.ai/v1/chat/completions \
  -H "Authorization: Bearer $QEVRON_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "verinova",
    "messages": [
      { "role": "system", "content": "Sen yardımcı bir asistansın." },
      { "role": "user", "content": "Python'\''da bir listeyi nasıl ters çeviririm?" }
    ]
  }'
python
resp = client.chat.completions.create(
    model="verinova",
    messages=[
        {"role": "system", "content": "Sen yardımcı bir asistansın."},
        {"role": "user", "content": "Python'da bir listeyi nasıl ters çeviririm?"},
    ],
)
print(resp.choices[0].message.content)
javascript
const resp = await client.chat.completions.create({
  model: "verinova",
  messages: [
    { role: "system", content: "Sen yardımcı bir asistansın." },
    { role: "user", content: "Python'da bir listeyi nasıl ters çeviririm?" },
  ],
});
console.log(resp.choices[0].message.content);

Yanıt

json
{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1716200000,
  "model": "verinova",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "list.reverse() ile yerinde, veya list[::-1] ile yeni liste olarak..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": { "prompt_tokens": 31, "completion_tokens": 42, "total_tokens": 73 }
}
AlanAçıklama
choices[].message.contentÜretilen yanıt metni
choices[].finish_reasonstop, length, tool_calls, content_filter
usageToken kullanımı

Akış (Streaming)

"stream": true ekleyin; yanıt SSE parçaları olarak gelir. Ayrıntı: Akış.

Görsel anlama (Vision)

Görsel destekleyen modellerde (örn. spook-vision) content'i çok parçalı gönderin:

json
{
  "model": "spook-vision",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Bu görselde ne var?" },
        { "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,..." } }
      ]
    }
  ]
}

image_url.url bir genel URL veya data: base64 olabilir. Tam rehber: Görsel Anlama.

Araç çağırma (Tools)

json
{
  "model": "verinova",
  "messages": [{ "role": "user", "content": "İstanbul'da hava nasıl?" }],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Bir şehrin hava durumunu getirir",
        "parameters": {
          "type": "object",
          "properties": { "city": { "type": "string" } },
          "required": ["city"]
        }
      }
    }
  ]
}

Model bir aracı çağırmak isterse yanıtın choices[0].message.tool_calls alanı dolar; siz fonksiyonu çalıştırıp sonucu role: "tool" mesajı olarak geri gönderirsiniz.

JSON çıktı

json
"response_format": { "type": "json_object" }

veya şema zorunlu kılmak için:

json
"response_format": {
  "type": "json_schema",
  "json_schema": { "name": "kisi", "schema": { "type": "object", "properties": { "ad": {"type":"string"} } } }
}

Qevron — AI gateway. Arpanet / OpenAI / Anthropic / Gemini uyumlu.