DeepSeek: DeepSeek V3.2
DeepSeek V3.2 combina raciocínio textual com utilização de ferramentas e análise de contextos longos. A sua arquitetura de atenção esparsa e o formato de conversa atualizado apoiam tarefas de programação, pesquisa e agentes com várias etapas, com um contexto de 128K e fluxos separados de raciocínio e resposta direta.
Sobre o modelo
Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.
DeepSeek V3.2 é o modelo textual da DeepSeek para raciocínio e trabalho com agentes, com ênfase no processamento eficiente de contextos longos. O produtor organiza as suas principais alterações em torno de DeepSeek Sparse Attention, de uma estrutura de aprendizagem por reforço ampliada e de um processo de treino para tarefas com agentes. Aceita perguntas escritas e contexto e produz texto, incluindo uma resposta, código ou conteúdo de chamadas de ferramentas. É distinto da versão anterior V3.2 Exp e da variante de raciocínio separada Speciale.
DeepSeek Sparse Attention acrescenta um indexador e seleção fina de tokens à arquitetura de atenção latente. Numa sequência longa, o indexador seleciona a informação de tokens anteriores utilizada pelo cálculo principal de atenção. O relatório afirma que esta é a alteração arquitetural em relação a V3.1 Terminus e que utiliza a mesma arquitetura de V3.2 Exp. O seu contexto publicado é de 128K tokens, permitindo material de origem substancial e uma tarefa continuada, embora o raciocínio gerado e o histórico de ferramentas também consumam o contexto disponível.
O pós-treino abrange respostas com e sem raciocínio em matemática, programação, raciocínio lógico, tarefas gerais de agentes, programação com agentes e pesquisa. Especialistas de cada domínio fornecem dados que são consolidados no modelo final, seguindo-se aprendizagem por reforço mista. Para uma pergunta comum, uma resposta direta pode ser adequada; para um problema difícil, o fluxo de raciocínio pode desenvolver uma solução antes de apresentar o resultado final. Especifique a resposta ou o artefacto exigido independentemente do raciocínio intermédio.
Uma alteração substancial desta edição é o raciocínio com ferramentas. O formato de conversa atualizado permite que o raciocínio continue ao longo de uma tarefa com chamadas de ferramentas, em vez de tratar a análise e a ação como etapas sem relação entre si. Uma operação selecionada pelo modelo é executada pela aplicação, que devolve o respetivo resultado para a etapa seguinte. A regra de contexto de ferramentas do produtor conserva o raciocínio histórico enquanto forem acrescentadas apenas mensagens relacionadas com ferramentas; quando chega uma nova mensagem do utilizador, descarta esse raciocínio, preservando as chamadas de ferramentas e os resultados. A distinção correta dos papéis na conversa é importante para esse comportamento.
Para programação, forneça o fragmento de código ou os ficheiros relevantes, o problema observado, o resultado esperado e as condições que a alteração deve preservar. Um exemplo de pedido é: «Utilize o código e os resultados de ferramentas fornecidos para localizar a causa, proponha a menor correção possível e devolva a alteração final acompanhada do resultado de validação que a sustenta.» Para uma tarefa de pesquisa, descreva a pergunta, os elementos de prova necessários e o que constitui uma resposta concluída. As ferramentas de pesquisa e execução são fornecidas pela aplicação envolvente, e não pelo texto por si só.
O produtor recomenda temperatura 1.0 e top-p 0.95 para utilização local. V3.2 introduz uma representação revista das chamadas de ferramentas e um codificador de mensagens específico. O papel developer está reservado para o modelo de instruções do agente de pesquisa do produtor, e a API oficial não aceita esse papel. O analisador de referência espera saída bem formada e não corrige resultados malformados; quando uma aplicação utiliza campos gerados ou argumentos de ferramentas, deve verificar a sua estrutura antes de agir com base neles.
O relatório técnico identifica trajetórias de raciocínio longas e autoverificação redundante como limitações práticas. Uma tarefa com agentes pode atingir o limite de 128K mesmo quando o material de origem original cabe no contexto, porque se acumulam saídas de ferramentas e raciocínio repetido. Mantenha um registo conciso das observações relevantes e torne explícito o artefacto final. Para trabalho que dependa de conhecimento rigoroso, anexe material proveniente de fontes de referência ou forneça uma ferramenta de pesquisa adequada, em vez de esperar que o conhecimento adquirido no treino determine todos os factos.
DeepSeek V3.2 Speciale é uma variante separada de raciocínio profundo com elevado uso de computação e, segundo a ficha do modelo, não suporta chamadas de ferramentas. As suas funcionalidades não devem ser utilizadas como perfil de ferramentas da V3.2 normal. Da mesma forma, a geração V4 posterior e o predecessor experimental têm identidades e opções de configuração separadas. Conserve a edição com designação própria V3.2 ao comparar tarefas em que o modelo e o formato dos prompts sejam importantes.
Para uma análise prática baseada em fontes, identifique os materiais e peça uma conclusão sustentada pelas passagens relevantes, mantendo os pressupostos e a informação em falta distintos. Para um agente, indique as funções permitidas, o resultado final esperado e o critério de conclusão. Assim, o fluxo de raciocínio e ferramentas do modelo fica orientado para um artefacto textual, de código ou analítico que possa ser revisto e esteja ligado aos elementos de prova fornecidos.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.2-thinking
deepseek-v3.2-thinkingIntrodução
DeepSeek V3.2 combina raciocínio textual com utilização de ferramentas e análise de contextos longos. A sua arquitetura de atenção esparsa e o formato de conversa atualizado apoiam tarefas de programação, pesquisa e agentes com várias etapas, com um contexto de 128K e fluxos separados de raciocínio e resposta direta.
- Entradas aceites
- Texto
- Resultados
- Texto
Disponível no Ailoot · entradas e métodos
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Entrada
text- Saída
text- Formato de saída
- json ou SSE
| Campo | Tipo | Requisito | Valores e limites | Predefinição |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObrigatório | Valores e limites deepseek-v3.2-thinking | Predefinição— |
Campomessages | Tipomessage[] | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
Campomessages[].role | Tipostring | RequisitoObrigatório | Valores e limites Depende do modelo | Predefinição— |
Campomessages[].content | Tipostring | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
Campostream | Tipoboolean | RequisitoOpcional | Valores e limites | Predefiniçãofalse |
Combinações de materiais de entrada
Texto · Texto UTF8
messages[].content
Parâmetros e ciclo de vida do método
| Parâmetro | Contrato |
|---|---|
Parâmetrocontent_type | Contratoapplication/json |
Parâmetrorequired | Contratomodel, messages |
Parâmetromaterial_types | Contratotext |
Parâmetromessages | ContratoLista de mensagens com estrutura role/content |
Parâmetrofile_material | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
Parâmetrooptional_controls | Contratostream |
Parâmetrocontrol_scope | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
Parâmetrooutput_modalities | Contratotext |
Parâmetrohosted_operations | Contratofalse |
Parâmetromultimodal_input_binding | Contratonull |
Aliases do método: /chat/completions
Ciclo de vida: synchronous_or_streamed
Envie o ID exato do modelo com messages.
O comprimento do contexto não é um limite de saída.
Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.
Tarifários
As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.
- Modo rápido
- Não especificado Quando o modo rápido está selecionado
- Modo flex
- Não especificado Quando o modo flex está selecionado
- Esforço máximo de raciocínio
- Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)
Tarifas Ailoot
Preços por configuração
| Configuração | Tabela de tarifas | Custo |
|---|---|---|
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Custo Entrada · Tokens de entrada $0.00058 / 1K tokens Saída · Tokens de saída $0.00086 / 1K tokens Entrada · Leitura da cache $0 / 1K tokens Entrada · Escrita na cache $0 / 1K tokens Entrada · Escrita na cache, 1 hora — / 1K tokens |
O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. Como funcionam a reserva e a liquidação →
Exemplos de pedidos
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"))
Receber e guardar os resultados
Ailoot Ultra · OpenAI Chat
json ou SSE
Guardar todos os resultados concluídos
Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.
Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.
Se for necessário verificar a resposta original
Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.
Campos da resposta
| 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 |
Erros e passos seguintes
| Resposta | Condição | Passo seguinte |
|---|---|---|
Resposta400 · invalid_request_error | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |
Aliases
Aliases do modelo
Ailoot Ultra deepseek-v3.2-thinking
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
FAQ · DeepSeek: DeepSeek V3.2
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·deepseek-v3.2-thinking:text→text- Que campos utiliza o pedido?
POST /v1/chat/completions·deepseek-v3.2-thinking:model,messages,stream- Que limites se aplicam?
POST /v1/chat/completions·deepseek-v3.2-thinking:messages.min_items:1