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 limite l a 8192.
temperature- Sa li fè
- Konbyen varyasyon ou vle. 0 pou repons ki pi estab.
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, none, required, oswa yon fonksyon presi.
response_format- Sa li fè
- Mete {"type": "json_object"} pou jwenn JSON sèlman.
top_p- Sa li fè
- Yon lòt fason pou kontwole varyasyon. Sèvi ak youn oswa lòt, pa tou de.
stop- Sa li fè
- Jiska kat tèks ki fè jenerasyon an kanpe.
seed- Sa li fè
- Pou eseye jwenn menm repons lan de fwa.
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.
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.
stream = client.chat.completions.create(
model="deepseek-v4-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è
{
"model": "deepseek-v4-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
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
{
"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
// 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è.
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.