语言
中文
能力指南

能力指南

覆盖系统提示词、多轮对话、工具调用、视觉输入、流式响应和生成参数六大核心能力。所有示例均基于 OpenAI 兼容接口,其他格式的参数差异请查阅 API Reference。

系统提示词

system 消息用于设定模型角色、输出风格和行为约束,始终放在 messages 数组的第一位。

Python
completion = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "system", "content": "You are a professional code reviewer. Output concise technical feedback in Markdown."},
        {"role": "user", "content": "Review this code:\
def add(a, b):\
    return a + b"},
    ],
)
print(completion.choices[0].message.content)
Claude 原生 API 的系统提示词通过顶层 system 字段传递,不放入 messages 数组中。

多轮对话

模型本身无状态。多轮对话需要客户端自行维护历史消息数组,每次请求时将完整历史传入。

messages = [
    {"role": "system", "content": "You are a patient programming teacher."},
    {"role": "user", "content": "I want to learn Python but have no programming experience"},
    {"role": "assistant", "content": "No problem! Let's start with printing Hello World..."},
    {"role": "user", "content": "What does print mean?"},
]
completion = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages)
messages.append({"role": "assistant", "content": completion.choices[0].message.content})

工具调用

统一接口使用 OpenAI 的 tools 格式。模型在需要外部数据时返回工具调用,客户端执行后将结果回传,模型再生成最终回复。

Python — Full tool calling loop
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get the current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string", "description": "City name e.g. Shanghai"}},
            "required": ["city"],
        },
    },
}]
messages = [{"role": "user", "content": "What's the weather in Shanghai?"}]
resp = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages, tools=tools)
tool_call = resp.choices[0].message.tool_calls[0]
print("Model wants to call:", tool_call.function.name)
tool_result = '{"city": "Shanghai", "temp": "28°C", "desc": "Sunny"}'
messages.append(resp.choices[0].message)
messages.append({"role": "tool", "tool_call_id": tool_call.id, "content": tool_result})
final = client.chat.completions.create(model="claude-sonnet-4-6", messages=messages, tools=tools)
print(final.choices[0].message.content)

视觉输入

将文本和图片混合放入 message content 数组。支持 URL 直链和 Base64 两种传入方式。模型需支持多模态能力(如 claude-sonnet-4-6、gpt-5.4、gemini-3.1-pro-preview)。

completion = client.chat.completions.create(
    model="gpt-5.4",
    messages=[{"role": "user", "content": [
        {"type": "text", "text": "What's in this image?"},
        {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}},
    ]}],
)
print(completion.choices[0].message.content)
支持格式:JPEG、PNG、GIF、WebP。Base64 方式适合私有图片;公开 URL 无需转码,更简洁。

流式响应

设置 stream: true,响应以 SSE(Server-Sent Events)形式逐块返回,适合聊天 UI 和长文本生成。

stream = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Explain quantum computing in 200 words"}],
    stream=True,
)
for chunk in stream:
    delta = chunk.choices[0].delta.content
    if delta: print(delta, end="", flush=True)

生成参数

通过调整生成参数,可以控制输出的随机性、长度和截止条件。以下是常用参数说明。

参数类型说明
temperaturefloat 0–2控制随机性。0 最确定,2 最有创意。通常设 0.7–1.0。
max_tokensinteger最大输出 token 数。超出后截断。不填则使用模型默认上限。
top_pfloat 0–1核采样。与 temperature 二选一调整,不建议同时修改两者。
stopstring | array停止词。遇到指定字符串后立即停止生成。
ninteger一次生成 n 条候选,默认 1。多候选会按倍数计费。
seedinteger随机种子。相同 seed + 相同输入可提升结果可复现性。
Python — Adjust generation parameters
completion = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Write a short poem about autumn"}],
    temperature=0.9,
    max_tokens=256,
    stop=["\
\
\
"],
)