DeepSeek: DeepSeek V3.2
DeepSeek V3.2 combina razonamiento textual con uso de herramientas y análisis de contexto largo. Su arquitectura de atención dispersa y su formato de conversación actualizado admiten programación, búsqueda y tareas de agentes de varios pasos, con un contexto de 128K y flujos separados de razonamiento y respuesta directa.
Sobre el modelo
Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.
DeepSeek V3.2 es el modelo textual de DeepSeek para razonamiento y trabajo de agentes, con énfasis en el procesamiento eficiente de contextos largos. El productor organiza sus cambios principales en torno a DeepSeek Sparse Attention, un marco de aprendizaje por refuerzo ampliado y un proceso de entrenamiento de tareas de agentes. Acepta preguntas y contexto escritos y produce texto, incluidas respuestas, código o contenido de llamadas a herramientas. Se distingue de la versión anterior V3.2 Exp y de la variante de razonamiento independiente Speciale.
DeepSeek Sparse Attention añade un indexador y una selección detallada de tokens a la arquitectura de atención latente. Para una secuencia larga, el indexador selecciona la información de tokens anteriores utilizada en el cálculo principal de atención. El informe indica que este es el cambio arquitectónico respecto a V3.1 Terminus y que utiliza la misma arquitectura que V3.2 Exp. Su contexto publicado es de 128K tokens, lo que admite una cantidad considerable de material de origen y una tarea continuada, aunque el razonamiento generado y el historial de herramientas también consumen el contexto disponible.
El ajuste posterior abarca respuestas con y sin razonamiento en matemáticas, programación, razonamiento lógico, tareas generales de agentes, programación mediante agentes y búsqueda. Especialistas de distintos ámbitos aportan datos que se consolidan en el modelo final, seguidos de aprendizaje por refuerzo mixto. Para una pregunta ordinaria puede ser apropiada una respuesta directa; para un problema difícil, el flujo de razonamiento puede desarrollar una solución antes de presentar el resultado final. Especifica la respuesta o entregable requerido independientemente del razonamiento intermedio.
Un cambio sustancial de la edición es el razonamiento con herramientas. El formato de chat actualizado permite que el razonamiento continúe durante una tarea con llamadas a herramientas, en lugar de tratar el análisis y la acción como etapas inconexas. La aplicación ejecuta una operación seleccionada por el modelo y devuelve su resultado para el siguiente paso. La regla del productor para el contexto de herramientas conserva el razonamiento histórico mientras solo se añaden mensajes relacionados con herramientas; cuando llega un nuevo mensaje del usuario, descarta ese razonamiento y conserva las llamadas a herramientas y sus resultados. Distinguir correctamente los roles de la conversación es importante para ese comportamiento.
Para programación, proporciona el fragmento de origen o los archivos pertinentes, el problema observado, el resultado esperado y las condiciones que debe conservar la modificación. Un ejemplo de encargo es: «Utiliza el código proporcionado y los resultados de herramientas para localizar la causa, proponer la corrección mínima y devolver el parche definitivo con el resultado de validación que lo respalda». Para una tarea de búsqueda, describe la pregunta, las pruebas requeridas y qué cuenta como una respuesta completa. Las herramientas de búsqueda y ejecución las proporciona la aplicación que lo integra, no el texto por sí solo.
El productor recomienda una temperatura de 1.0 y top-p de 0.95 para uso local. V3.2 introduce una representación revisada de llamadas a herramientas y un codificador específico de mensajes. Su rol developer está reservado para la plantilla del agente de búsqueda del productor, y la API oficial no acepta ese rol. El analizador de referencia espera una salida bien formada y no repara resultados mal formados; cuando una aplicación utiliza campos generados o argumentos de herramientas, debe comprobar su estructura antes de actuar sobre ellos.
El informe técnico identifica las trayectorias largas de razonamiento y la autoverificación redundante como limitaciones prácticas. Una tarea de agente puede alcanzar el límite de 128K incluso cuando el material de origen original cabe, porque se acumulan las salidas de herramientas y el razonamiento repetido. Mantén un registro conciso de las observaciones pertinentes y explicita el entregable final. Para trabajo que dependa de conocimientos, adjunta material procedente de fuentes acreditadas o proporciona una herramienta de búsqueda adecuada en lugar de esperar que los conocimientos del entrenamiento definan cada hecho.
DeepSeek V3.2 Speciale es una variante independiente de razonamiento profundo con alto cómputo y, según la ficha del modelo, no admite llamadas a herramientas. Sus características no deben utilizarse como perfil de herramientas del V3.2 estándar. Asimismo, la generación posterior V4 y el predecesor experimental tienen identidades y opciones de configuración independientes. Conserva la edición identificada V3.2 al comparar tareas en las que importen el modelo y el formato de instrucciones.
Para un análisis práctico basado en fuentes, etiqueta los materiales y pide una conclusión respaldada por los pasajes pertinentes, manteniendo diferenciados los supuestos y la información ausente. Para un agente, indica las funciones permitidas, el resultado final esperado y el criterio de finalización. Así se prepara el flujo de razonamiento y herramientas del modelo en torno a un entregable textual, de código o analítico revisable y vinculado a las pruebas proporcionadas.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingPrimeros pasos
DeepSeek V3.2 combina razonamiento textual con uso de herramientas y análisis de contexto largo. Su arquitectura de atención dispersa y su formato de conversación actualizado admiten programación, búsqueda y tareas de agentes de varios pasos, con un contexto de 128K y flujos separados de razonamiento y respuesta directa.
- Entradas aceptadas
- Texto
- Resultados
- Texto
Disponible en Ailoot · entradas y métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Tipos de entrada
text- Tipos de salida
text- Formato de salida
- json o SSE
| Campo | Tipo | Requisito | Valores y límites | Predeterminado |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObligatorio | Valores y límites deepseek-v3.2-thinking | Predeterminado— |
Campomessages | Tipomessage[] | RequisitoObligatorio | Valores y límites Número mínimo de elementos: 1 | Predeterminado— |
Campomessages[].role | Tipostring | RequisitoObligatorio | Valores y límites Depende del modelo | Predeterminado— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores y límites Se aplica cuando: Conversación textual | Predeterminado— |
Campostream | Tipoboolean | RequisitoOpcional | Valores y límites | Predeterminadofalse |
Combinaciones de materiales de entrada
Texto · Texto UTF8
messages[].content
Parámetros del método y ciclo de vida
| Parámetro | Contrato |
|---|---|
Parámetrocontent_type | Contratoapplication/json |
Parámetrorequired | Contratomodel, messages |
Parámetromaterial_types | Contratotext |
Parámetromessages | Contratomatriz de mensajes con estructura role/content |
Parámetrofile_material | Contratodocumento real en UTF-8 insertado como texto literal; no se deduce ningún ID de archivo |
Parámetrooptional_controls | Contratostream |
Parámetrocontrol_scope | ContratoConversación textual; stream es un booleano y su valor predeterminado es false. |
Parámetrooutput_modalities | Contratotext |
Parámetrohosted_operations | Contratofalse |
Parámetromultimodal_input_binding | Contratonull |
Alias de método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envía el ID exacto del modelo junto con messages.
La longitud del contexto no es un límite máximo de salida.
Un archivo de texto puede aportar texto literal; las entradas de imagen, audio u objetos de archivo requieren una vinculación exacta.
Planes
Las referencias tarifarias no añaden opciones a la solicitud. Los parámetros admitidos se indican en el método seleccionado.
- Modo rápido
- Sin especificar Cuando se selecciona el modo rápido
- Modo flex
- Sin especificar Cuando se selecciona el modo flex
- Esfuerzo máximo de razonamiento
- Sin especificar Cuando el esfuerzo máximo de razonamiento utiliza el ajuste predeterminado (default)
Tarifas de Ailoot
Precios por configuración
| Configuración | Tabla de tarifas | Cargo |
|---|---|---|
| ConfiguraciónTarifas base por token | Tabla de tarifasTarifa base | Cargo Entrada · Tokens de entrada $0.00058 / 1K tokens Salida · Tokens de salida $0.00086 / 1K tokens Entrada · Lectura de caché $0 / 1K tokens Entrada · Escritura en caché $0 / 1K tokens Entrada · Escritura en caché, 1 hora — / 1K tokens |
Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. Cómo funcionan la reserva y la liquidación →
Solicitudes de ejemplo
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"))
Recibir y guardar resultados
Ailoot Ultra · OpenAI Chat
json o SSE
Conserva todos los resultados completados
Conserva todas las respuestas, archivos y partes de contenido completos recibidos.
Conserva cada alternativa y su contenido, llamadas de herramientas y razonamiento. En SSE, ensambla los fragmentos incrementales por índice de alternativa/herramienta y conserva el motivo final de terminación y el uso.
Si es necesario revisar la respuesta original
Conserva los ID de solicitud y respuesta y las cabeceras. No se proporciona una URL genérica para recuperar tareas de texto.
Campos de respuesta
| Campo | Tipo |
|---|---|
Campochoices[].index | Tipointeger |
Campochoices[].message.content | Tipostring|null |
Campochoices[].message.tool_calls | Tipotool_call[] |
Campochoices[].message.reasoning_content | Tipostring |
Campochoices[].message.reasoning_details | Tipoobject|array |
Campochoices[].finish_reason | Tipostring|null |
Campousage | Tipoobject |
Errores y siguientes pasos
| Respuesta | Condición | Siguiente paso |
|---|---|---|
Respuesta400 · invalid_request_error | CondiciónCampos obligatorios, representación del material o valor del parámetro no válidos | Siguiente pasoCorrige los campos indicados antes de una nueva solicitud de creación. |
Alias
Alias del modelo
Ailoot Ultra deepseek-v3.2-thinking
Alias de rutas de métodos
/chat/completions
ID de modelo relacionados
FAQ · DeepSeek: DeepSeek V3.2
- ¿Qué entradas y resultados están disponibles?
POST /v1/chat/completions·deepseek-v3.2-thinking:text→text- ¿Qué campos utiliza la solicitud?
POST /v1/chat/completions·deepseek-v3.2-thinking:model,messages,stream- ¿Qué límites se aplican?
POST /v1/chat/completions·deepseek-v3.2-thinking:messages.min_items:1