UIUIAPI AI调用代码示例
  1. 💬 聊天(Chat)
UIUIAPI AI调用代码示例
  • UIUIAPI聚合平台AI api调用说明
  • 💬 聊天(Chat)
    • OpenAI 对话格式(Chat Completions)
    • OpenAI 响应格式(Responses)
    • OpenAI 对话格式(Python)
    • Anthropic 对话格式(Messages)
    • Anthropic 对话格式(Python)
    • Deepseek reasoning 对话格式(类Chat Completions)
    • Google Gemini 对话格式(Generate Content)
  • 🔤 嵌入(Embeddings)
    • OpenAI 嵌入格式(Embeddings)
  • 🔄 重排序(Rerank)
    • Jina AI 重排序格式(Rerank)
    • Cohere 重排序格式(Rerank)
    • Xinference 重排序格式(Rerank)
  • ⚡ 实时对话(Realtime)
    • OpenAI 实时对话接口
  • 🖼️ 图像(Image)
    • OpenAI 图像格式(Dall·E)
    • Midjourney 图像格式(Midjourney Proxy/Midjourney Proxy Plus)
    • GPT-4o生图格式
    • GPT 编图格式
  • 🔊 音频(Audio)
    • OpenAI 音频格式
  • 🎵 音乐(Music)
    • Suno 音乐格式(Music)
  • 🤖AI在线工具
    • UIUIChat在线助手使用教程
  1. 💬 聊天(Chat)

Anthropic 对话格式(Messages)

官方文档
Anthropic Messages
Anthropic Streaming Messages

📝 简介#

给定一组包含文本和/或图像内容的结构化输入消息列表,模型将生成对话中的下一条消息。Messages API 可用于单次查询或无状态的多轮对话。

💡 请求示例#

基础文本对话 ✅#

响应示例:

图像分析对话 ✅#

响应示例:

工具调用 ✅#

响应示例:

流式响应 ✅#

响应示例:

📮 请求#

端点#

鉴权方法#

在请求头中包含以下内容进行 API 密钥认证:
其中 $UIUIAPI_API_KEY 是您的 API 密钥。您可以通过控制台获取 API 密钥,每个密钥仅限于一个工作区使用。

请求头参数#

anthropic-beta#

类型:字符串
必需:否
指定要使用的 beta 版本,支持用逗号分隔的列表如 beta1,beta2,或多次指定该请求头。

anthropic-version#

类型:字符串
必需:是
指定要使用的 API 版本。

请求体参数#

max_tokens#

类型:整数
必需:是
生成的最大 token 数量。不同模型有不同的限制,详见模型文档。范围 x > 1。

messages#

类型:对象数组
必需:是
输入消息列表。模型被训练为在用户和助手之间交替进行对话。创建新消息时,您可以使用 messages 参数指定之前的对话轮次,模型将生成对话中的下一条消息。连续的用户或助手消息会被合并为单个轮次。
每个消息必须包含 role 和 content 字段。您可以指定单个用户角色消息,或包含多个用户和助手消息。如果最后一条消息使用助手角色,响应内容将直接从该消息的内容继续,这可以用来约束模型的响应。
单条用户消息示例:
多轮对话示例:
部分填充的响应示例:
每个消息的 content 可以是字符串或内容块数组。使用字符串相当于一个 "text" 类型的内容块数组的简写。以下两种写法等效:
从 Claude 3 模型开始,您还可以发送图片内容块:
目前支持的图片格式包括: base64, image/jpeg、image/png、image/gif 和 image/webp。
messages.role#
类型:枚举字符串
必需:是
可选值:user, assistant
注意:Messages API 中没有 "system" 角色,如果需要系统提示,请使用顶层的 system 参数。
messages.content[#
类型:字符串或对象数组
必需:是
消息内容可以是以下几种类型之一:
文本内容 (Text)#
图片内容 (Image)#
工具使用 (Tool Use)#
工具结果 (Tool Result)#
当 content 为内容块数组时,每个内容块可以是文本或图片:
文档 (Document)#
注意: 1. 每种类型都可以包含可选的 cache_control 字段,用于控制内容的缓存行为 2. 文本内容的最小长度为 1 3. 所有类型的 type 字段都是必需的枚举字符串 4. 工具结果的 content 字段支持字符串或包含文本/图片的内容块数组

model#

类型:字符串
必需:是
要使用的模型名称,详见模型文档。范围 1 - 256 个字符。

metadata#

类型:对象
必需:否
描述请求元数据的对象。包含以下可选字段:
user_id: 与请求关联的用户的外部标识符。应该是 uuid、哈希值或其他不透明标识符。不要包含任何标识信息如姓名、邮箱或电话号码。最大长度:256。

stop_sequences#

类型:字符串数组
必需:否
自定义的停止生成的文本序列。

stream#

类型:布尔值
必需:否
是否使用服务器发送事件 (SSE) 来增量返回响应内容。

system#

类型:字符串
必需:否
系统 prompt,为 Claude 提供背景和指令。这是一种为模型提供上下文和特定目标或角色的方式。注意这与消息中的 role 不同,Messages API 中没有 "system" 角色。

temperature#

类型:数字
必需:否
默认值:1.0
控制生成随机性,0.0 - 1.0。范围 0 < x < 1。建议对于分析性/选择题类任务使用接近 0.0 的值,对于创造性和生成性任务使用接近 1.0 的值。
注意:即使 temperature 设置为 0.0,结果也不会完全确定。

🆕 thinking#

类型:对象
必需:否
配置 Claude 的扩展思考功能。启用时,响应将包含展示 Claude 在给出最终答案前的思考过程的内容块。需要至少 1,024 个 token 的预算,并计入您的 max_tokens 限制。
可以设置为以下两种模式之一:
1. 启用模式#
type: 必需,枚举值: "enabled"
budget_tokens: 必需,整数。决定 Claude 可以用于内部推理过程的 token 数量。更大的预算可以让模型对复杂问题进行更深入的分析,提高响应质量。必须 ≥1024 且小于 max_tokens。范围 x > 1024。
2. 禁用模式#
type: 必需,枚举值: "disabled"

tool_choice#

类型:对象
必需:否
控制模型如何使用提供的工具。可以是以下三种类型之一:
1. Auto 模式 (自动选择)#
2. Any 模式 (任意工具)#
3. Tool 模式 (指定工具)#
注意: 1. Auto 模式:模型可以自行决定是否使用工具 2. Any 模式:模型必须使用工具,但可以选择任何可用的工具 3. Tool 模式:模型必须使用指定的工具

tools#

类型:对象数组
必需:否
定义模型可能使用的工具。工具可以是自定义工具或内置工具类型:
1. 自定义工具(Tool)#
每个自定义工具定义包含:
type: 可选,枚举值: "custom"
name: 工具名称,必需,1-64 个字符
description: 工具描述,建议尽可能详细
input_schema: 工具输入的 JSON Schema 定义,必需
cache_control: 缓存控制,可选,type 为 "ephemeral"
示例:
2. 计算机工具 (ComputerUseTool)#
3. Bash 工具 (BashTool)#
4. 文本编辑器工具 (TextEditor)#
当模型使用工具时,会返回 tool_use 内容块:
您可以执行工具并通过 tool_result 内容块返回结果:

top_k#

类型:整数
必需:否
范围:x > 0
从 token 的前 K 个选项中采样。用于移除低概率的"长尾"响应。建议仅在高级用例中使用,通常只需要调整 temperature。

top_p#

类型:数字
必需:否
范围:0 < x < 1
使用 nucleus 采样。计算每个后续 token 按概率降序排列的累积分布,在达到 top_p 指定的概率时截断。建议仅调整 temperature 或 top_p 其中之一,不要同时使用。

📥 响应#

成功响应#

返回一个聊天补全对象,包含以下字段:

content#

类型:对象数组
必需:是
模型生成的内容,由多个内容块组成。每个内容块都有一个确定其形状的 type。内容块可以是以下类型之一:
文本内容块 (Text)#
工具使用内容块 (Tool Use)#
示例:
如果请求的最后一条消息是助手角色,响应内容会直接从该消息继续。例如:

id#

类型:字符串
必需:是
响应的唯一标识符。

model#

类型:字符串
必需:是
使用的模型名称。

role#

类型:枚举字符串
必需:是
默认值:assistant
生成消息的会话角色,始终为 "assistant"。

stop_reason#

类型:枚举字符串或 null
必需:是
停止生成的原因,可能的值包括:
"end_turn": 模型达到自然停止点
"max_tokens": 超过请求的 max_tokens 或模型的最大限制
"stop_sequence": 生成了自定义停止序列之一
"tool_use": 模型调用了一个或多个工具
在非流式模式下,此值始终非空。在流式模式下,在 message_start 事件中为 null,其他情况下非空。

stop_sequence#

类型:字符串或 null
必需:是
生成的自定义停止序列。如果模型遇到了 stop_sequences 参数中指定的某个序列,这个字段将包含该匹配的停止序列。如果不是因为停止序列而停止,则为 null。

type#

类型:枚举字符串
必需:是
默认值:message
可选值:message
对象类型,对于 Messages 始终为 "message"。

usage#

类型:对象
必需:是
计费和限流相关的使用量统计。包含以下字段:
input_tokens: 使用的输入 token 数量,必需,范围 x > 0
output_tokens: 使用的输出 token 数量,必需,范围 x > 0
cache_creation_input_tokens: 创建缓存条目使用的输入 token 数量(如果适用),必需,范围 x > 0
cache_read_input_tokens: 从缓存读取的输入 token 数量(如果适用),必需,范围 x > 0
注意:由于 API 在内部会对请求进行转换和解析,token 计数可能与请求和响应的实际可见内容不完全对应。例如,即使是空字符串响应,output_tokens 也会是非零值。

错误响应#

当请求出现问题时,API 将返回一个错误响应对象,HTTP 状态码在 4XX-5XX 范围内。

常见错误状态码#

401 Unauthorized: API 密钥无效或未提供
400 Bad Request: 请求参数无效
429 Too Many Requests: 超出 API 调用限制
500 Internal Server Error: 服务器内部错误
错误响应示例:
主要错误类型:
invalid_request_error: 请求参数错误
authentication_error: 认证相关错误
rate_limit_error: 请求频率超限
server_error: 服务器内部错误
修改于 2025-05-17 14:02:23
上一页
OpenAI 对话格式(Python)
下一页
Anthropic 对话格式(Python)
Built with