Skip to main content

Module chat

Module chat 

Source
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: truedata: 为 chunk JSON。

Anthropicanthropic + chat):Messages API POST {base_url}/messages;流式 SSE 见 Anthropic streaming

Googlegoogle + chat):generateContent / streamGenerateContenttools 映射为 Gemini FunctionDeclaration

§URL 与鉴权(OpenAI 兼容分支)

{base_url}/chat/completionsbase_urltrim_end_matches('/')。鉴权 Authorization: Bearer {api_key}

Structs§

ChatChunk
流式响应中的单个片段:文本增量、工具调用增量、可选结束原因。
ChatMessage
单条对话消息(多轮、tool 角色、assistant 的 tool_calls)。
ChatRequest
一次补全请求(非流式 / 流式共用,流式由实现加 stream: true)。
ChatResponse
非流式补全结果。
FunctionCallResult
FunctionDefinition
ToolCall
完整工具调用(assistant 消息或非流式响应)。
ToolCallDelta
流式工具调用增量(按 index 合并多条 delta)。
ToolDefinition
OpenAI 风格的工具定义(type: function + function 对象)。

Enums§

FinishReason
上游结束生成的原因(OpenAI 兼容 finish_reason 的子集;其它厂商在可映射时填入,否则为 None)。
Role
消息角色。
ToolChoice
对应 OpenAI tool_choice:不传工具时可忽略。

Traits§

ChatProvider

Type Aliases§

ChatStream
流式对话:每项为 Result<ChatChunk>