DeepSeek: DeepSeek V3.1
DeepSeek V3.1 é um modelo textual híbrido com modos de pensamento e de resposta direta na mesma edição. O seu contexto de 128K e o perfil melhorado de utilização de ferramentas suportam programação, análise de documentos e pesquisa fornecida pela aplicação, com texto ou propostas de chamadas de ferramentas como resultado.
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.1 é o modelo textual híbrido da DeepSeek: a mesma edição identificada suporta respostas com e sem pensamento através de diferentes definições do template de conversação. O produtor destaca melhorias na utilização de ferramentas, nas tarefas de agentes e na eficiência do raciocínio face ao modelo anterior. Aceita instruções escritas e contexto textual e gera uma resposta, código ou conteúdo de chamadas de ferramentas. A identidade V3.1 original é distinta de Terminus, V3.2 e da família V4.
A ficha do modelo indica um total de 671 mil milhões de parâmetros, 37 mil milhões de parâmetros ativos e um contexto de 128K, tanto para a edição de base como para a edição com pós-treino. V3.1 parte da base V3 original, com treino alargado em documentos longos antes do pós-treino. A sua estrutura de mistura de especialistas e de atenção latente segue a arquitetura V3. Estes factos de conceção explicam o perfil textual de contexto longo, sem transformar o valor do contexto numa especificação separada de saída máxima.
O modo sem pensamento prepara uma resposta direta, enquanto o modo de pensamento inicia uma fase de raciocínio antes da resposta. O template de conversação do produtor usa um marcador de fecho de pensamento para respostas diretas e um marcador de abertura de pensamento para a interação de raciocínio atual. Numa conversa com várias interações, o conteúdo de raciocínio anterior é descartado, enquanto as respostas finais e o marcador de fecho permanecem no contexto. Esta é a regra de histórico do V3.1 original, distinta da regra posterior de V3.2 que preserva o raciocínio entre mensagens relacionadas com ferramentas.
As chamadas normais de ferramentas estão documentadas no modo sem pensamento. A aplicação fornece nomes de funções, descrições e esquemas de parâmetros; o modelo devolve o nome da ferramenta selecionada e argumentos JSON na representação de chamadas de ferramentas do produtor. A aplicação executa a operação e devolve o resultado. Atribua finalidades específicas às ferramentas e mantenha a observação devolvida ligada à chamada, para que o passo seguinte do modelo tenha provas, em vez de pressupor que uma ação ocorreu.
A pesquisa em modo de pensamento usa um formato separado e especializado de agente de pesquisa. A DeepSeek documenta uma ferramenta de pesquisa fornecida pelo utilizador para perguntas que exigem informações externas ou atuais, com chamadas e observações repetidas ao longo de várias interações. A pesquisa faz, portanto, parte do fluxo envolvente; não é uma afirmação de que uma resposta textual navegou autonomamente na Web. Defina a pergunta, os critérios das fontes e a resposta final pretendida antes de iniciar a tarefa de pesquisa.
Para programação, forneça o fragmento ou os ficheiros relevantes, o comportamento observado, o comportamento esperado e as restrições a preservar. Um pedido ilustrativo é: «Identifique a causa desta falha para a entrada fornecida, proponha uma correção dirigida e explique a condição que a alteração trata.» Para uma tarefa documental, identifique as secções de origem e peça uma comparação com requisitos explícitos. Exija que a resposta final distinga a conclusão sustentada pelas fontes de uma próxima ação proposta.
O produtor treina V3.1 usando o formato de escala UE8M0 FP8 para pesos e ativações. As suas recomendações locais também identificam parâmetros sensíveis à precisão que devem ser tratados corretamente. Estas são características da referência publicada do produtor, não uma afirmação sobre a precisão ou implementação selecionadas por todas as aplicações. Um derivado, uma variante quantizada e o ponto de controlo Terminus posterior continuam a ser opções distintas da edição V3.1 original identificada.
Prepare trabalhos mais longos com uma pergunta clara, identificações das fontes e um resultado final definido. Distribua a conversa, o texto de origem, o raciocínio e a saída pelo contexto documentado e mantenha apenas as provas relevantes à medida que a tarefa cresce. Para um agente, especifique as ações permitidas e o critério que marca a conclusão do resultado. O resultado útil é uma resposta textual passível de revisão, uma proposta de código ou uma análise sustentada por fontes, ligada à entrada e às observações que a aplicação efetivamente devolveu.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions deepseek-v3.1-thinking
deepseek-v3.1-thinkingIntrodução
DeepSeek V3.1 é um modelo textual híbrido com modos de pensamento e de resposta direta na mesma edição. O seu contexto de 128K e o perfil melhorado de utilização de ferramentas suportam programação, análise de documentos e pesquisa fornecida pela aplicação, com texto ou propostas de chamadas de ferramentas como resultado.
- 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.1-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.000572 / 1K tokens Saída · Tokens de saída $0.0023 / 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.1-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.1-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.1-thinking
Aliases dos caminhos dos métodos
/chat/completions
IDs de chamada relacionados
FAQ · DeepSeek: DeepSeek V3.1
- Que entradas e resultados estão disponíveis?
POST /v1/chat/completions·deepseek-v3.1-thinking:text→text- Que campos utiliza o pedido?
POST /v1/chat/completions·deepseek-v3.1-thinking:model,messages,stream- Que limites se aplicam?
POST /v1/chat/completions·deepseek-v3.1-thinking:messages.min_items:1