Ale dirèk nan kontni an

Chat

POST /v1/chat/completions — konpatib ak API OpenAI a, ak streaming oswa san li.

Paramèt

  • model
    Sa li fè
    Non modèl la. Gade paj Modèl yo.
  • messages
    Sa li fè
    Lis mesaj yo, ak wòl system, user, oswa assistant.
  • max_tokens
    Sa li fè
    Konbyen token repons lan ka gen. Nou koupe l nan limit modèl la — gade paj Modèl yo.
  • temperature
    Sa li fè
    Mache sèlman si ou touye rezònman an ak thinking: {"type": "disabled"}. Pandan rezònman an alimen — se default la — DeepSeek inyore l.
  • stream
    Sa li fè
    Voye repons lan tikras pa tikras.
  • tools
    Sa li fè
    Fonksyon ou yo, pou modèl la ka mande w kouri youn. Gade anba a.
  • tool_choice
    Sa li fè
    auto oswa none. required ak chwazi yon fonksyon pa non pa mache pandan mòd rezònman an, epi se li ki alimen pa default.
  • response_format
    Sa li fè
    Mete {"type": "json_object"} pou jwenn JSON. Ou dwe ekri mo "json" nan prompt la tou — gade anba a.
  • top_p
    Sa li fè
    Menm kondisyon an. Epi menm lè sa a DeepSeek monte tout valè anba 0.95 rive 0.95.
  • stop
    Sa li fè
    Jiska sèz tèks ki fè jenerasyon an kanpe.
  • thinking
    Sa li fè
    {"type": "disabled"} pou touye rezònman an. Li alimen pa default, epi se li ki bay reasoning_content.

Nou pa voye n ni best_of: yo miltipliye sa yon sèl demann ka koute, epi rezèvasyon an fèt anvan. Si w voye max_completion_tokens olye de max_tokens, nou li l tou. seed, user, presence_penalty ak frequency_penalty nou aksepte yo epi nou jete yo: DeepSeek pa gen de premye yo menm, epi li retire de lòt yo. Nan plas yo nou voye yon idantifyan pa nou — yon kòd fèmen pou kont ou, ki pa kle ou ni anyen ou voye ban nou — pou kachèt DeepSeek la rete pou ou sèl, pa pataje ak lòt moun.

Rezònman an

Tou de modèl yo reflechi anvan yo reponn, epi sa alimen pa default. Rezònman an vini nan yon chan apa, reasoning_content, akote content. Se repons lan ki nan content — se sa pou w montre yon itilizatè.

Token rezònman yo se token sòti, epi ou peye pou yo. Se konsa yon repons kout ka koute plis pase sa ou te atann. Mete thinking sou {"type": "disabled"} si ou pa bezwen l.

Repons JSON

response_format poukont li pa ase. DeepSeek mande de bagay ansanm: mete {"type": "json_object"}, epi ekri mo json nan mesaj system oswa user a, ak yon egzanp fòm ou vle a. San egzanp lan, sa li voye ka pa parse.

Bay max_tokens ase espas tou: si JSON an koupe nan mitan, ou jwenn yon tèks ki pa valab olye de yon erè.

Streaming

Sou yon koneksyon ki dwòp, streaming pi bon: ou wè premye mo yo touswit, epi si liy lan koupe ou kenbe sa ou te deja resevwa.

python
stream = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Esplike sa yon API ye."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta:
        print(delta, end="", flush=True)

Si koneksyon an koupe nan mitan, nou fè ou peye sèlman token nou te deja jenere yo. Nou pa janm fè ou peye pou yon repons ou pa resevwa.

Yon demann konplè

json
{
  "model": "deepseek-flash",
  "messages": [
    {"role": "system", "content": "Ou se yon asistan ki pale kreyòl."},
    {"role": "user", "content": "Ki sa ki yon baz done?"}
  ],
  "max_tokens": 800,
  "temperature": 0.7,
  "stream": true
}

Rele fonksyon ou yo

Ou dekri fonksyon ou yo, epi modèl la deside kilè pou l mande w kouri youn. Se sa ki fè diferans ant yon bwat chat ak yon lojisyèl ki fè bagay: chèche yon kòmand, li yon baz done, voye yon mesaj.

Tou de modèl yo sipòte l. Ou pa janm bay nou aksè ak fonksyon an — nou voye deskripsyon an sèlman, epi se kòd ou ki kouri l.

1. Dekri zouti a

javascript
const tools = [
  {
    type: "function",
    function: {
      name: "get_balance",
      description: "Jwenn balans yon kliyan / Get a customer's balance",
      parameters: {
        type: "object",
        properties: {
          customer_id: { type: "string" },
        },
        required: ["customer_id"],
      },
    },
  },
];

const response = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages: [{ role: "user", content: "Ki balans kliyan 42?" }],
  tools,
});

2. Modèl la mande pou w rele l

json
{
  "choices": [{
    "finish_reason": "tool_calls",
    "message": {
      "role": "assistant",
      "content": null,
      "tool_calls": [{
        "id": "call_a1b2",
        "type": "function",
        "function": {
          "name": "get_balance",
          "arguments": "{\"customer_id\":\"42\"}"
        }
      }]
    }
  }]
}

Remake finish_reason: "tool_calls", epi arguments se yon tèks JSON — ou dwe fè JSON.parse sou li.

3. Voye rezilta a tounen

javascript
// Kouri fonksyon an ou menm, epi voye rezilta a tounen.
// Run the function yourself, then send the result back.
messages.push(response.choices[0].message);
messages.push({
  role: "tool",
  tool_call_id: "call_a1b2",
  content: JSON.stringify({ balance_htg: 1250 }),
});

const answer = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages,
  tools,
});

Modèl la ka mande plizyè zouti youn dèyè lòt. Repete etap 2 ak 3 jiskaske finish_reason vin stop — se konsa yon agent fonksyone.

Chak tou nan bouk la se yon demann ki konte nan limit ou epi ki koute. Yon agent ki gen yon gwo kontèks rive nan limit token pa minit la vit — gade paj Erè.

Kenbe demann yo piti

API a pa gen memwa. Chak tou voye tout konvèsasyon an ankò: enstriksyon sistèm nan, chak zouti ou deklare ak tout schema li, chak mesaj anvan, ak tout fichye yon zouti te retounen. Nou faktire tout sa chak fwa — donk yon zouti kòd ki li dis fichye ap peye pou dis fichye sa yo nan chak tou ki vini apre.

  • Kòmanse yon sesyon nouvo lè sijè a chanje. Se sa ki bese depans lan plis.
  • Pa mete menm fichye a de fwa. Yon zouti ki relì yon fichye ajoute l yon dezyèm fwa nan demann lan.
  • Retire zouti ou pa sèvi. Chak deskripsyon zouti se token nan chak tou, menm lè modèl la pa janm rele l.
  • Si ou pa bezwen rezònman an, mete thinking: {"type": "disabled"}. Rezònman an se token sòti ou peye, epi li ka pi long pase repons lan.

Limit di a se 2 MB pou kò demann lan — gade kf_413 nan paj Erè a. Men depans lan monte byen anvan ou rive la, donk pa tann limit la pou w kenbe konvèsasyon yo kout.

Sa nou pa sipòte

  • Fine-tuning
  • Embeddings
  • Imaj, son, ak videyo

Nou konsantre sou chat pou kounye a. Si ou bezwen youn nan bagay sa yo, di nou.