LLM 使用指南¶
按要完成的任务选择页面。这里维护完整程序、接入步骤和应用层处理策略;类型、字段和行为契约以“API 与概念”下的参考页为准。
请求与会话¶
| 要实现的功能 | 对应页面 | 主要接口 |
|---|---|---|
| 发送一次配置完整的请求 | 单次文本生成 | LookupModel、Complete |
| 边生成边展示 | 流式响应 | Stream、Event |
| 保存并恢复历史 | 保存与恢复对话 | Context.Messages、JSON helpers |
| 发送截图或图片 | 发送图片 | ImageContent、Model.Input |
| 请求并展示推理 | 请求推理内容 | Reasoning、thinking events |
| 执行结构化工具 | 执行工具调用 | MustTool、DecodeToolCall |
| 在轮次间更换模型 | 对话中更换模型 | TransformMessages |
接入、配置与测试¶
| 要实现的功能 | 对应页面 | 主要接口 |
|---|---|---|
| 发现可运行模型和凭证 | 查找模型与检查凭证 | GetRunnableModels、AuthStatus |
| 接入代理或私有模型服务 | 接入自定义模型服务 | ProviderOverride、Model.BaseURL |
| 隔离配置或注入 transport | 创建自定义 Client | NewClient、registries |
| 增加请求追踪或改写 body | 记录和修改请求 | OnRequest、RewriteRequest、OnResponse |
| 统一处理失败 | 处理请求失败 | StopReason、IsContextOverflow |
| 不使用真实账号测试 | 使用本地模拟服务测试 | httptest、显式 Model |
运行示例前¶
示例要求 Go 1.25 或更高版本:
调用前要准备模型和对应的协议 adapter。使用 openai-completions 时导入 llm/openai;使用 anthropic-messages 时导入 llm/anthropic;两者都使用时导入 llm/all。模型被内置模型清单收录,并不表示当前程序已注册对应 adapter。
真实 provider 示例所需的环境变量见协议与提供方状态。生成文本、token 用量和 provider response ID 会随账号与模型版本变化。
示例中的通用约定¶
- 只读取最终
AssistantMessage时,调用Complete。 - 需要实时处理文本、推理内容或工具调用增量时,调用
Stream。 - 对话历史的存储和工具调用的实际执行由应用负责。
Stream返回后应持续消费事件,直到通道关闭;取消 context 后也是如此。Usage.Cost根据内置模型清单中的价格估算,不能替代 provider 账单。
example/llm/ 下的程序可用于快速验证;本组页面补充了接入时的参数、边界和运行约束。