Artfical AI / API
API-Schlüssel erstellen tAI öffnen
Erste Schritte

Chat Completions

POST /v1/chat/completions ist der eine Endpunkt, der alles erledigt: Einzelfragen, mehrteilige Unterhaltungen, Tool Calling und Bild-Eingabe, blockierend oder gestreamt.

Request

POST https://api.artfical.com/v1/chat/completions
Authorization: Bearer tai-sk-...
Content-Type: application/json
FeldTypErforderlichBeschreibung
modelstringJaEine der auf der Seite Modelle aufgeführten Modell-IDs, z. B. "tai-4.1". Ein nicht erkannter Wert wird mit 400 abgelehnt, bevor irgendeine Generierung stattfindet.
messagesarrayJaDie bisherige Unterhaltung, älteste zuerst. Den Aufbau der einzelnen Einträge finden Sie unten unter Messages.
streambooleanNeinStandardmäßig false. Bei true ist die Antwort ein Server-Sent-Events-Stream statt eines einzelnen JSON-Bodys; siehe Streaming.
toolsarrayNeinOpenAI-förmige Function-Tool-Definitionen, die das Modell aufrufen kann. Siehe Tool Calling.
temperature, top_p, presence_penalty, frequency_penalty, seed, stopverschiedenNeinSampling-Steuerungen, unverändert weitergereicht. Zulässige Wertebereiche finden Sie unter Sampling-Parameter.

Messages

Jeder Eintrag in messages hat eine role und einen content. Vier Rollen werden erkannt:

RolleBedeutung
systemHintergrundanweisungen für die Unterhaltung. Sind mehrere system-Nachrichten vorhanden, werden sie der Reihe nach zusammengefasst. Eine System-Nachricht überschreibt niemals tAIs eigene Kernidentität und Verhaltensregeln; sie ergänzt den Kontext der Unterhaltung, nicht das, was tAI grundlegend ist.
userEtwas, das die Person (oder Ihre Anwendung, in ihrem Namen) sagt.
assistantEine vorherige Antwort des Modells. Fügen Sie frühere assistant-Nachrichten ein, wenn Sie den Gesprächsverlauf senden, damit das Modell den vollständigen Hin-und-Her-Verlauf hat, nicht nur die letzte Nutzernachricht. Eine assistant-Nachricht kann außerdem tool_calls enthalten; siehe Tool Calling.
toolDas Ergebnis eines Tool-Aufrufs, den Ihr eigener Code ausgeführt hat, über tool_call_id mit dem Aufruf verknüpft. Siehe Tool Calling.

Bei einem reinen Text-Turn ist content einfach ein String:

{"role": "user", "content": "İstanbul'da bugün hava nasıl olur sence?"}

Um ein Bild zusammen mit Text einzubinden, wird content statt eines einfachen Strings zu einem Array typisierter Teile; das genaue Format und welche Modelle es akzeptieren finden Sie unter Bilder.

Response (ohne Streaming)

Mit "stream": false (dem Standardwert) ist die Antwort ein einzelnes JSON-Objekt, zurückgegeben, sobald die Generierung abgeschlossen ist:

{
  "id": "chatcmpl-817c002145ac47feb83a0006c58ff43b",
  "object": "chat.completion",
  "created": 1788961617,
  "model": "tai-4.1",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Merhaba! Ben tAI, size nasıl yardımcı olabilirim?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 1303,
    "completion_tokens": 232,
    "total_tokens": 1535
  }
}
FeldBeschreibung
idEin eindeutiger Bezeichner für diese Completion, mit dem Präfix chatcmpl-.
choicesImmer genau ein Eintrag (Index 0). tAI unterstützt es nicht, mehrere Kandidaten-Completions in einer einzigen Anfrage anzufordern.
choices[].finish_reason"stop" für eine normal abgeschlossene Antwort, oder "tool_calls", wenn das Modell darum bittet, ein oder mehrere Tools aufzurufen, statt direkt zu antworten. Siehe Tool Calling.
usageToken-Zahlen für diese Anfrage. completion_tokens spiegelt wider, was das Modell tatsächlich generiert hat, unabhängig von einer eventuellen Obergrenze im Stil von max_tokens.

Eine vollständige Unterhaltung

Senden Sie bei jeder Anfrage den gesamten Verlauf mit; die API ist zustandslos und behält von sich aus keine Erinnerung an frühere Aufrufe. Jede Anfrage steht für sich, mit genau dem Kontext, den Sie mitsenden.

{
  "model": "tai-4.1",
  "messages": [
    {"role": "system", "content": "Kısa ve net cevaplar ver."},
    {"role": "user", "content": "3 çarpı 4 kaç eder?"},
    {"role": "assistant", "content": "12."},
    {"role": "user", "content": "Peki onu 2'ye böl."}
  ]
}

Antwortlänge

Derzeit gibt es keine clientseitig einstellbare Obergrenze dafür, wie viele Tokens eine Antwort enthalten kann; jedes Modell hat seine eigene interne, für dieses Modell abgestimmte Obergrenze. Wenn eine Anfrage schnell fehlschlagen soll, statt lang zu laufen, ist der zuverlässigste Hebel stop-Sequenzen (siehe Sampling-Parameter) oder einfach im Prompt selbst um Kürze zu bitten.