DeepSeek: DeepSeek V3.2
DeepSeek V3.2 associe le raisonnement textuel à l’utilisation d’outils et à l’analyse de contextes longs. Son architecture à attention parcimonieuse et son format de conversation actualisé prennent en charge la programmation, la recherche et les tâches d’agents en plusieurs étapes, avec un contexte de 128K et des processus distincts de raisonnement et de réponse directe.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
DeepSeek V3.2 est le modèle textuel de DeepSeek pour le raisonnement et le travail d’agents, avec un accent sur le traitement efficace des contextes longs. Le producteur organise ses principaux changements autour de DeepSeek Sparse Attention, d’un cadre d’apprentissage par renforcement à grande échelle et d’une chaîne d’entraînement aux tâches d’agents. Il accepte des questions et un contexte écrits et produit du texte, notamment une réponse, du code ou du contenu d’appel d’outil. Il se distingue de la version antérieure V3.2 Exp et de la variante de raisonnement Speciale distincte.
DeepSeek Sparse Attention ajoute un indexeur et une sélection fine des tokens à l’architecture d’attention latente. Pour une longue séquence, l’indexeur sélectionne les informations des tokens précédents utilisées par le calcul principal d’attention. Le rapport indique qu’il s’agit du changement architectural par rapport à V3.1 Terminus et que cette architecture est la même que celle de V3.2 Exp. Son contexte publié est de 128K tokens, ce qui permet un contenu source substantiel et une tâche continue, tandis que le raisonnement généré et l’historique des outils consomment aussi le contexte disponible.
Le post-entraînement couvre les réponses avec et sans raisonnement en mathématiques, en programmation, en raisonnement logique, en tâches générales d’agents, en programmation par des agents et en recherche. Des spécialistes de domaines fournissent des données consolidées dans le modèle final, suivies d’un apprentissage par renforcement mixte. Pour une question ordinaire, une réponse directe peut convenir ; pour un problème difficile, le processus de raisonnement peut développer une solution avant de présenter le résultat final. Précisez la réponse ou le livrable requis indépendamment du raisonnement intermédiaire.
Un changement substantiel de cette édition est le raisonnement avec des outils. Le format de discussion actualisé permet au raisonnement de se poursuivre au cours d’une tâche d’appel d’outils, plutôt que de traiter l’analyse et l’action comme des étapes sans lien. Une opération sélectionnée par le modèle est exécutée par l’application, qui renvoie son résultat pour l’étape suivante. La règle de contexte d’outils du producteur conserve le raisonnement historique tant que seuls des messages liés aux outils sont ajoutés ; lorsqu’un nouveau message utilisateur arrive, elle supprime ce raisonnement tout en préservant les appels d’outils et leurs résultats. Une distinction correcte des rôles de conversation est importante pour ce comportement.
Pour la programmation, fournissez le fragment source ou les fichiers pertinents, le problème observé, le résultat attendu et les conditions que la modification doit préserver. Exemple de consigne : « Utilisez le code fourni et les résultats des outils pour localiser la cause, proposer la plus petite correction et renvoyer le correctif final avec le résultat de validation qui l’étaye. » Pour une tâche de recherche, décrivez la question, les preuves requises et ce qui constitue une réponse achevée. Les outils de recherche et d’exécution sont fournis par l’application environnante plutôt que par le texte seul.
Le producteur recommande une température de 1.0 et top-p à 0.95 pour un usage local. V3.2 introduit une représentation révisée des appels d’outils et un encodeur de messages dédié. Son rôle developer est réservé au gabarit d’agent de recherche du producteur, et l’API officielle n’accepte pas ce rôle. L’analyseur de référence attend une sortie bien formée et ne répare pas les résultats mal formés ; lorsqu’une application utilise des champs générés ou des arguments d’outils, elle doit vérifier leur structure avant d’agir à partir de ceux-ci.
Le rapport technique identifie les longues trajectoires de raisonnement et les auto-vérifications redondantes comme des limites pratiques. Une tâche d’agent peut atteindre la limite de 128K même lorsque les sources d’origine tiennent dans le contexte, car les sorties d’outils et les raisonnements répétés s’accumulent. Gardez une trace concise des observations pertinentes et explicitez le livrable final. Pour un travail qui dépend de connaissances précises, joignez les éléments faisant autorité ou fournissez un outil de recherche adapté plutôt que d’attendre des connaissances d’entraînement qu’elles définissent chaque fait.
DeepSeek V3.2 Speciale est une variante distincte de raisonnement approfondi mobilisant davantage de calcul ; sa fiche de modèle indique qu’elle ne prend pas en charge l’appel d’outils. Ses caractéristiques ne doivent pas servir de profil d’outils standard pour V3.2. De même, la génération V4 ultérieure et le prédécesseur expérimental possèdent des identités et des choix de configuration distincts. Conservez l’édition V3.2 nommée lorsque vous comparez des tâches où le modèle et le format de prompt comptent.
Pour une analyse pratique fondée sur des sources, identifiez les éléments et demandez une conclusion étayée par les passages pertinents, en distinguant les hypothèses et les informations manquantes. Pour un agent, précisez les fonctions autorisées, le résultat final attendu et le critère d’achèvement. Cela organise le processus de raisonnement et d’outils du modèle autour d’un livrable textuel, de code ou d’analyse examinable et lié aux preuves fournies.
Ailoot Ultra · Chat OpenAI POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingPremiers pas
DeepSeek V3.2 associe le raisonnement textuel à l’utilisation d’outils et à l’analyse de contextes longs. Son architecture à attention parcimonieuse et son format de conversation actualisé prennent en charge la programmation, la recherche et les tâches d’agents en plusieurs étapes, avec un contexte de 128K et des processus distincts de raisonnement et de réponse directe.
- Entrées acceptées
- Texte
- Résultats
- Texte
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Chat OpenAI POST /v1/chat/completions
- Entrée
text- Sortie
text- Format de sortie
- json ou SSE
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites deepseek-v3.2-thinking | Par défaut— |
Champmessages | Typemessage[] | ExigenceObligatoire | Valeurs et limites Nombre minimal d’éléments: 1 | Par défaut— |
Champmessages[].role | Typestring | ExigenceObligatoire | Valeurs et limites Selon le modèle | Par défaut— |
Champmessages[].content | Typestring | ExigenceFacultatif | Valeurs et limites S’applique lorsque: Conversation textuelle | Par défaut— |
Champstream | Typeboolean | ExigenceFacultatif | Valeurs et limites | Par défautfalse |
Combinaisons d’éléments d’entrée
Texte · Texte UTF8
messages[].content
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, messages |
Paramètrematerial_types | Contrattext |
Paramètremessages | Contrattableau de messages avec une structure role/content |
Paramètrefile_material | Contratdocument UTF-8 réel inséré sous forme de texte littéral ; aucun identifiant de fichier déduit |
Paramètreoptional_controls | Contratstream |
Paramètrecontrol_scope | ContratConversation textuelle ; stream est un booléen dont la valeur par défaut est false. |
Paramètreoutput_modalities | Contrattext |
Paramètrehosted_operations | Contratfalse |
Paramètremultimodal_input_binding | Contratnull |
Alias de méthode : /chat/completions
Cycle de vie : synchronous_or_streamed
Envoyez l’identifiant exact du modèle avec messages.
La longueur du contexte n’est pas un plafond de sortie.
Un fichier texte peut fournir du texte littéral ; les entrées image/audio/objets fichier nécessitent une liaison exacte.
Tarifs
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs Ailoot
Prix par configuration
| Configuration | Barème tarifaire | Coût |
|---|---|---|
| ConfigurationTarifs de base des tokens | Barème tarifaireTarif de base | Coût Entrée · Tokens en entrée $0.00058 / 1K tokens Sortie · Tokens en sortie $0.00086 / 1K tokens Entrée · Lecture du cache $0 / 1K tokens Entrée · Écriture dans le cache $0 / 1K tokens Entrée · Écriture dans le cache, 1 h — / 1K tokens |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Chat OpenAI
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"deepseek-v3.2-thinking","messages":[{"role":"user","content":"hello"}],"stream":false}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="deepseek-v3.2-thinking", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
Recevoir et enregistrer les résultats
Ailoot Ultra · Chat OpenAI
json ou SSE
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez chaque choix avec son contenu, ses appels d’outils et son raisonnement. En SSE, assemblez les deltas par index de choix et d’outil, puis conservez le motif final de terminaison et les données d’utilisation.
Si la réponse d’origine doit être vérifiée
Conservez les identifiants de requête et de réponse ainsi que les en-têtes. Aucune URL générique de récupération des tâches textuelles n’est fournie.
Champs de la réponse
| Champ | Type |
|---|---|
Champchoices[].index | Typeinteger |
Champchoices[].message.content | Typestring|null |
Champchoices[].message.tool_calls | Typetool_call[] |
Champchoices[].message.reasoning_content | Typestring |
Champchoices[].message.reasoning_details | Typeobject|array |
Champchoices[].finish_reason | Typestring|null |
Champusage | Typeobject |
Erreurs et étapes suivantes
| Réponse | Condition | Étape suivante |
|---|---|---|
Réponse400 · invalid_request_error | ConditionChamps obligatoires, représentation des contenus ou valeur de paramètre non valides | Étape suivanteCorrigez les champs indiqués avant une nouvelle requête de création. |
Alias
Alias du modèle
Ailoot Ultra deepseek-v3.2-thinking
Alias des chemins de méthode
/chat/completions
ID d’appel associés
FAQ · DeepSeek: DeepSeek V3.2
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/chat/completions·deepseek-v3.2-thinking:text→text- Quels champs la requête utilise-t-elle ?
POST /v1/chat/completions·deepseek-v3.2-thinking:model,messages,stream- Quelles limites s’appliquent ?
POST /v1/chat/completions·deepseek-v3.2-thinking:messages.min_items:1