Chat Completions (OpenAI uyumlu)
OpenAI POST /v1/chat/completions ile uyumlu. İstek gövdesindeki
messages içeriği, model çağrılmadan önce PII açısından maskelenir.
stream: true ile SSE streaming desteklenir.
POST
/v1/chat/completionsRequest body
requiredapplication/jsonmodelstringrequiredHedef model kimliği (panelde tanımlı).
messagesChatMessage[]requiredmin items 1
Show propertiesHide properties
Array of
ChatMessagerolestringrequiredAllowed:
systemuserassistanttoolcontentstringrequiredMesaj metni. Varsayılan olarak tüm rollerin (`system`, `user`,
`assistant`, `tool`) içeriğindeki kişisel veriler gateway içinde
maskelenir; modele yalnızca maskeli hali gider.
streambooleantrue ise yanıt SSE stream olarak döner.
default: false
temperaturenumbermin 0 · max 2 · default: 1
max_tokensintegerÜretilecek azami token sayısı.
min 1
top_pnumbermin 0 · max 1
Responses
200Başarılı yanıt
idstringobjectstringcreatedintegermodelstringchoicesChatChoice[]Show propertiesHide properties
Array of
ChatChoiceindexintegerfinish_reasonstringmessageChatMessageShow propertiesHide properties
rolestringrequiredAllowed:
systemuserassistanttoolcontentstringrequiredMesaj metni. Varsayılan olarak tüm rollerin (`system`, `user`,
`assistant`, `tool`) içeriğindeki kişisel veriler gateway içinde
maskelenir; modele yalnızca maskeli hali gider.
usageUsageShow propertiesHide properties
prompt_tokensintegercompletion_tokensintegertotal_tokensinteger401Eksik veya geçersiz sanal anahtar
errorobjectShow propertiesHide properties
messagestringtypestring429Kota/oran limiti aşıldı
errorobjectShow propertiesHide properties
messagestringtypestringRequest
from openai import OpenAI
client = OpenAI(
base_url="https://gw-tr.gurubase.io/v1",
api_key="SANAL_ANAHTAR",
)
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "user", "content": "Ayşe Demir'in talebini özetle."},
],
)
print(resp.choices[0].message.content)import requests
response = requests.post(
"https://gw-tr.gurubase.io/v1/chat/completions",
headers={
"Content-Type": "application/json"
},
json={
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "string"
}
],
"stream": False,
"temperature": 1,
"max_tokens": 0,
"top_p": 0
},
)curl -X POST "https://gw-tr.gurubase.io/v1/chat/completions" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "string"
}
],
"stream": false,
"temperature": 1,
"max_tokens": 0,
"top_p": 0
}'const response = await fetch("https://gw-tr.gurubase.io/v1/chat/completions", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "string"
}
],
"stream": false,
"temperature": 1,
"max_tokens": 0,
"top_p": 0
})
});Response
{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 1718000000,
"model": "gpt-4o-mini",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "system",
"content": "string"
}
}
],
"usage": {
"prompt_tokens": 0,
"completion_tokens": 0,
"total_tokens": 0
}
}{
"error": {
"message": "Sanal anahtar gerekli veya geçersiz.",
"type": "invalid_request_error"
}
}{
"error": {
"message": "string",
"type": "string"
}
}