Expand description
对话补全:主 API 为 ChatProvider::complete / ChatProvider::complete_stream(多轮、tools、流式 tool_calls 增量)。
ChatProvider::chat / ChatProvider::chat_stream 为单条 user 消息的便捷封装,内部委托到上述方法。
OpenAI / Aliyun / Ollama / Zhipu:OpenAI Chat Completions 兼容 POST {base_url}/chat/completions;非流式 JSON;流式时 stream: true,data: 为 chunk JSON。
Anthropic(anthropic + chat):Messages API POST {base_url}/messages;流式 SSE 见 Anthropic streaming。
Google(google + chat):generateContent / streamGenerateContent;tools 映射为 Gemini FunctionDeclaration。
§URL 与鉴权(OpenAI 兼容分支)
{base_url}/chat/completions,base_url 会 trim_end_matches('/')。鉴权 Authorization: Bearer {api_key}。
Structs§
- Chat
Chunk - 流式响应中的单个片段:文本增量、工具调用增量、可选结束原因。
- Chat
Message - 单条对话消息(多轮、
tool角色、assistant 的tool_calls)。 - Chat
Request - 一次补全请求(非流式 / 流式共用,流式由实现加
stream: true)。 - Chat
Response - 非流式补全结果。
- Function
Call Result - Function
Definition - Tool
Call - 完整工具调用(assistant 消息或非流式响应)。
- Tool
Call Delta - 流式工具调用增量(按
index合并多条 delta)。 - Tool
Definition - OpenAI 风格的工具定义(
type: function+function对象)。
Enums§
- Finish
Reason - 上游结束生成的原因(OpenAI 兼容
finish_reason的子集;其它厂商在可映射时填入,否则为None)。 - Role
- 消息角色。
- Tool
Choice - 对应 OpenAI
tool_choice:不传工具时可忽略。
Traits§
Type Aliases§
- Chat
Stream - 流式对话:每项为
Result<ChatChunk>。