Hướng dẫn
Gọi công cụ
Cả hai mô hình đều gọi công cụ theo định dạng của OpenAI: bạn mô tả các hàm, mô hình yêu cầu một hàm, bạn chạy nó và gửi kết quả trở lại.
Đã kiểm tra 26 tháng 10, 2026
Vòng lặp
- Gửi
tools: mỗi mục là một hàm có tên, mô tả và tham số theo JSON Schema. - Khi mô hình muốn gọi một công cụ,
finish_reasoncủa câu trả lời làtool_callsvàmessage.tool_callsliệt kê chúng, với đối số ở dạng chuỗi JSON. - Chạy từng công cụ, rồi thêm một tin nhắn
toolvớitool_call_idcủa nó và kết quả. - Gửi lại cuộc trò chuyện. Lặp lại cho đến khi
finish_reasonlàstop.
import json
import os
from openai import OpenAI
client = OpenAI(
base_url="https://nokeep.ai/v1",
api_key=os.environ["NOKEEP_API_KEY"],
)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "Today's weather in a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
},
}]
def get_weather(city):
return {"city": city, "high_c": 21, "sky": "clear"}
messages = [{"role": "user", "content": "Should I bring a jacket in Lisbon today?"}]
while True:
reply = client.chat.completions.create(model="deepseek-v4.1-flash-uncensored", messages=messages, tools=tools)
message = reply.choices[0].message
messages.append(message)
if not message.tool_calls:
print(message.content)
break
for call in message.tool_calls:
result = get_weather(**json.loads(call.function.arguments))
messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})tool_choice
| Mô hình | Nhận |
|---|---|
deepseek-v4.1-flash-uncensored | auto, none, required, hoặc một hàm được chỉ tên. Cũng nhận parallel_tool_calls. |
glm-5.3-flash-uncensored | auto hoặc none. Nó tự chọn công cụ; bất kỳ giá trị nào khác sẽ bị 400 unsupported_tool_choice. |
Nên biết
- Mỗi tin nhắn
toolcần cótool_call_idmà nó trả lời, nếu không lệnh gọi sẽ bị từ chối với400 invalid_messages. - Lược đồ công cụ đi kèm mọi yêu cầu và được tính là token đầu vào.
- Các mô hình không tự chạy gì cả. Mã của bạn chạy công cụ, nên mã quyết định chúng được truy cập đến đâu.