自定义接口
SimpleLLMFunc 内置了OpenAICompatible 和 OpenAIResponsesCompatible。对于不遵循这两种协议的提供商,可以直接实现 LLM_Interface。
抽象基类
最小实现
响应格式要求
框架期望响应与 OpenAI 的类型兼容:非流式(chat)
必须返回包含以下字段的对象:
.choices[0].message.content—— 文本响应.choices[0].message.tool_calls—— 工具调用列表(可选).usage.prompt_tokens、.usage.completion_tokens—— token 计数
流式(chat_stream)
必须 yield 包含以下字段的对象:
.choices[0].delta.content—— 文本增量(可能为 None).choices[0].delta.tool_calls—— 工具调用增量(可选).choices[0].finish_reason—— “stop”、“tool_calls” 等(在最终 chunk 中)
工具调用格式
如果你的提供商支持工具调用,工具调用必须遵循以下格式:使用你的接口
OpenAIResponsesCompatible
对于实现了 OpenAI Responses API(非标准 Chat Completions API)的提供商:- 将系统提示词映射到 Responses 的
instructions字段 - 处理 Responses 特有的流式格式
- 支持
reasoning={...}kwargs 来控制推理力度 - 所有协议格式差异都封装在适配器内部——你的装饰器代码无需变动