Modelo de raciocínio (Deepseek Reautner)
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 openai
Parâmetros fogo
max_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.Conversa multi-rodada
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 .Exemplo de API
NoStreaming
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
)
# ...
Streaming Transmissão
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
)
# ...
Modified at 2025-02-06 10:17:02