Artfical AI / API
API açarı əldə edin tAI-ni açın
Başlanğıc

Söhbət tamamlamaları

POST /v1/chat/completions hər şeyi edən tək endpoint-dir: tək-növbəli suallar, çox-növbəli söhbətlər, alət çağırışı və şəkil girişi, bloklayıcı və ya axın formasında.

Sorğu

POST https://api.artfical.com/v1/chat/completions
Authorization: Bearer tai-sk-...
Content-Type: application/json
SahəTipTələb olunurTəsvir
modelstringBəliModellər səhifəsində sadalanan model ID-lərindən biri, məs. "tai-4.1". Tanınmayan dəyər hər hansı generasiya başlamazdan əvvəl 400 ilə rədd edilir.
messagesarrayBəliİndiyə qədərki söhbət, ən köhnədən başlayaraq. Hər girişin forması üçün aşağıdakı Mesajlar bölməsinə baxın.
streambooleanXeyrDefolt olaraq false. true olduqda, cavab tək bir JSON gövdəsi əvəzinə server-sent-events axını olur; bax Axın.
toolsarrayXeyrModelin çağırmağı seçə biləcəyi OpenAI formatlı funksiya alət tərifləri. Bax Alət çağırışı.
temperature, top_p, presence_penalty, frequency_penalty, seed, stopmüxtəlifXeyrNümunələmə tənzimləmələri, olduğu kimi ötürülür. Qəbul edilən diapazonlar üçün Nümunələmə parametrləri səhifəsinə baxın.

Mesajlar

messages-dəki hər giriş bir role və bir content-ə malikdir. Dörd rol tanınır:

RolMəna
systemSöhbət üçün fon təlimatları. Birdən çox system mesajı varsa, onlar sıra ilə birləşdirilir. system mesajı heç vaxt tAI-nin öz əsas kimliyini və davranış qaydalarını ləğv etmir; söhbətin kontekstinə əlavə olunur, tAI-nin əsasən nə olduğuna deyil.
userŞəxsin (və ya onun adından tətbiqinizin) dediyi bir şey.
assistantƏvvəlki model cavabı. Söhbət tarixçəsini göndərərkən əvvəlki assistant mesajlarını daxil edin ki, model yalnız son user mesajını deyil, tam qarşılıqlı mübadiləni görsün. assistant mesajı həmçinin tool_calls daşıya bilər; bax Alət çağırışı.
toolÖz kodunuzun icra etdiyi bir alət çağırışının nəticəsi, tool_call_id vasitəsilə çağırışa bağlanır. Bax Alət çağırışı.

Sadə mətn növbəsi üçün content sadəcə bir string-dir:

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

Mətnlə yanaşı bir şəkil daxil etmək üçün content sadə bir string əvəzinə tipləşdirilmiş hissələrdən ibarət array olur; dəqiq forma və hansı modellərin bunu qəbul etdiyi üçün Şəkillər səhifəsinə baxın.

Cavab (axın olmadan)

"stream": false ilə (defolt), cavab generasiya tamamlandıqdan sonra bir dəfə qaytarılan tək bir JSON obyektidir:

{
  "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
  }
}
SahəTəsvir
idBu tamamlama üçün unikal identifikator, chatcmpl- prefiksi ilə.
choicesHəmişə tam olaraq bir giriş (index 0). tAI tək bir sorğudan bir neçə namizəd tamamlama tələb etməyi dəstəkləmir.
choices[].finish_reasonNormal tamamlanmış cavab üçün "stop", model birbaşa cavab verməkdənsə bir və ya bir neçə alət çağırmaq istədikdə isə "tool_calls". Bax Alət çağırışı.
usageBu sorğu üçün token sayları. completion_tokens hər hansı max_tokens tipli tavandan asılı olmayaraq modelin faktiki generasiya etdiyini əks etdirir.

Tam bir söhbət

Hər sorğuda tam tarixçəni daxil edin; API stateless-dir və özbaşına əvvəlki çağırışların yaddaşını saxlamır. Hər sorğu, yalnız göndərdiyiniz kontekstlə tək başına dayanır.

{
  "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."}
  ]
}

Cavabın uzunluğu

Hazırda cavabın neçə token ehtiva edə biləcəyi üçün klient tərəfindən təyin edilə bilən bir tavan yoxdur; hər modelin həmin model üçün tənzimlənmiş öz daxili tavanı var. Sorğunun uzun sürmək əvəzinə tez uğursuz olmasına ehtiyacınız varsa, ən etibarlı vasitə stop ardıcıllıqlarıdır (bax Nümunələmə parametrləri) və ya sadəcə promptun özündə qısalıq tələb etməkdir.