DeepSeek: DeepSeek V3.2
DeepSeek V3.2 combine le raisonnement textuel à l'utilisation d'outils et à l'analyse à long contexte. Son architecture à attention parcimonieuse et son format de conversation mis à jour prennent en charge la programmation, la recherche et les tâches d'agents en plusieurs étapes, avec un contexte de 128K et des flux 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 à long contexte. Le producteur organise ses principaux changements autour de DeepSeek Sparse Attention, d'un cadre d'apprentissage par renforcement à plus grande échelle et d'une chaîne d'entraînement de tâches d'agents. Il accepte des questions écrites et du contexte et produit du texte, notamment une réponse, du code ou du contenu d'appels d'outils. Il se distingue de la version antérieure V3.2 Exp et de la variante de raisonnement Speciale séparée.
DeepSeek Sparse Attention ajoute un indexeur et une sélection fine de jetons à l'architecture d'attention latente. Pour une longue séquence, l'indexeur sélectionne l'information des jetons antérieurs utilisée par le calcul d'attention principal. Le rapport indique qu'il s'agit du changement architectural par rapport à V3.1 Terminus et que l'architecture est la même que celle de V3.2 Exp. Son contexte publié est de 128K jetons, ce qui permet des sources substantielles 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 qui sont consolidées dans le modèle final; cette étape est suivie d'un apprentissage par renforcement mixte. Pour une question ordinaire, une réponse directe peut convenir; pour un problème difficile, le flux avec 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 l'édition est le raisonnement avec des outils. Le format de clavardage mis à jour permet au raisonnement de se poursuivre dans une tâche d'appels 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 retourne 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 écarte ce raisonnement tout en conservant 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 conserver. Un exemple de consigne est : « Utilisez le code et les résultats d'outils fournis pour localiser la cause, proposer la plus petite correction et retourner le correctif final avec le résultat de validation qui l'appuie. » 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 l'utilisation locale. 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 sur ceux-ci.
Le rapport technique identifie les longues trajectoires de raisonnement et l'autovérification redondante comme limites pratiques. Une tâche d'agent peut atteindre la limite de 128K même lorsque les sources originales tiennent dans le contexte, parce que les sorties d'outils et le raisonnement répété s'accumulent. Gardez un relevé concis des observations pertinentes et explicitez le livrable final. Pour les tâches qui dépendent de connaissances précises, joignez les éléments faisant autorité ou fournissez un outil de recherche adapté plutôt que de compter sur les connaissances d'entraînement pour définir chaque fait.
DeepSeek V3.2 Speciale est une variante distincte de raisonnement approfondi à forte capacité de calcul et ne prend pas en charge les appels d'outils dans la fiche du modèle. Ses caractéristiques ne doivent pas être utilisées comme profil d'outils standard de 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 séparés. Conservez l'édition nommée V3.2 lorsque vous comparez des tâches pour lesquelles le modèle et le format de consigne importent.
Pour une analyse pratique fondée sur des sources, identifiez les éléments et demandez une conclusion appuyée par les passages pertinents, en gardant distinctes les hypothèses et l'information manquante. Pour un agent, précisez les fonctions autorisées, le résultat final attendu et le critère d'achèvement. Cela prépare le flux de raisonnement et d'outils du modèle autour d'un livrable textuel, de code ou analytique vérifiable, lié aux preuves fournies.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingPour commencer
DeepSeek V3.2 combine le raisonnement textuel à l'utilisation d'outils et à l'analyse à long contexte. Son architecture à attention parcimonieuse et son format de conversation mis à jour prennent en charge la programmation, la recherche et les tâches d'agents en plusieurs étapes, avec un contexte de 128K et des flux 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 · OpenAI Chat 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é comme texte littéral ; aucun ID 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’ID 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/objet 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 jetons | Barème tarifaireTarif de base | Coût Entrée · Jetons en entrée $0.00058 / 1K jetons Sortie · Jetons en sortie $0.00086 / 1K jetons Entrée · Lecture du cache $0 / 1K jetons Entrée · Écriture dans le cache $0 / 1K jetons Entrée · Écriture dans le cache, 1 h — / 1K jetons |
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 · OpenAI Chat
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 · OpenAI Chat
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, et conservez le motif final d’arrêt et les données d’utilisation.
Si la réponse d’origine doit être vérifiée
Conservez les ID et les en-têtes de requête/réponse. Aucune URL générique de récupération de tâche textuelle 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 éléments fournis ou valeur de paramètre invalides | É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