A chamada de função permite que o modelo chame ferramentas externas para aprimorar seus recursos.Perceber#
A versão atual da capabilitidade de chamadas de função do modelo deepseek-chat
é instável, o que pode resultar em chamadas em loop ou respostas vazias. Estamos trabalhando ativamente em uma correção e espera -se que seja resolvido na próxima versão.Código de amostra#
Aqui está um exemplo de uso de chamadas de função para obter as informações climáticas atuais da localização do usuário, demonstradas com o código Python completo.from openai import OpenAI
def send_messages(messages):
response = client.chat.completions.create(
model="deepseek-chat",
messages=messages,
tools=tools
)
return response.choices[0].message
client = OpenAI(
api_key="<your api key>",
base_url="https://api.deepseek.com",
)
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get weather of an location, the user shoud supply a location first",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [{"role": "user", "content": "How's the weather in Hangzhou?"}]
message = send_messages(messages)
print(f"User>\t {messages[0]['content']}")
tool = message.tool_calls[0]
messages.append(message)
messages.append({"role": "tool", "tool_call_id": tool.id, "content": "24℃"})
message = send_messages(messages)
print(f"Model>\t {message.content}")
O fluxo de execução deste exemplo é o seguinte:1.
Usuário: pergunta sobre o clima atual em Hangzhou
2.
Modelo: retorna a função get_weather({location: 'Hangzhou'})
3.
Usuário: chama a função get_weather({location: 'Hangzhou'})
e fornece o resultado para o modelo
4.
Modelo: Retornos na linguagem natural, "A temperatura atual em Hangzhou é de 24 ° C".
Nota: No código acima, a funcionalidade da função get_weather
precisa ser fornecida pelo usuário. O modelo em si não executa funções específicas. Modified at 2025-02-06 10:22:35