deepseek-reasoner é um modelo de raciocínio desenvolvido pela Deepseek. Antes de entregar a resposta final, o modelo gera primeiro uma cadeia de pensamento (COT) para melhorar a precisão de suas respostas. Nossa API fornece aos usuários acesso ao conteúdo do COT gerado pelo deepseek-reasoner , permitindo que eles visualizem, exibam e o destilam.deepseek-reasoner , atualize o SDK OpenAI primeiro para apoiar os novos parâmetros.pip3 install -U openaimax_tokens : o comprimento máximo da resposta final após a conclusão da saída da BOT, em 3K, com um máximo de 8k. Observe que a saída do COT pode atingir até 32k tokens e o parâmetro para controlar o comprimento do COT ( reasoning_effort ) estará disponível em breve.reasoning_content : O conteúdo do COT , que está no mesmo nível que content na estrutura de saída. Veja o exemplo da API para obter detalhescontent o conteúdo da resposta finalreasoning_content não é contado dentro do comprimento do contexto de 64k.temperature 、 top_p 、 presence_penalty 、 frequency_penalty 、 logprobs 、 top_logprobs . Observe que, para garantir a compatibilidade com o software existente, definindo temperature 、 top_p 、 presence_penalty 、 frequency_penalty não desencadeará um erro, mas também não terá efeito. A configuração logprobs 、 top_logprobs acionará um erro.reasoning_content ) e a resposta final ( content ). Na próxima rodada da conversa, o berço das rodadas anteriores não é concatenado no contexto, conforme ilustrado no diagrama a seguir:
reasoning_content estiver incluído na sequência de mensagens de entrada, a API retornará um erro 400 . Portanto, você deve remover o campo reasoning_content da resposta da API antes de fazer a solicitação da API, conforme demonstrado no exemplo da API .from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content
# Round 2
messages.append({'role': 'assistant', 'content': content})
messages.append({'role': 'user', 'content': "How many Rs are there in the word 'strawberry'?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
# ...from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages,
stream=True
)
reasoning_content = ""
content = ""
for chunk in response:
if chunk.choices[0].delta.reasoning_content:
reasoning_content += chunk.choices[0].delta.reasoning_content
else:
content += chunk.choices[0].delta.content
# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "How many Rs are there in the word 'strawberry'?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages,
stream=True
)
# ...