如果你是第一次接触 SimpleLLMFunc,建议先阅读 快速开始,再按本页的学习路径继续深入。
快速导航
基础设施
配置与环境
配置
.env、provider.json、日志目录与基础运行参数。LLM 接口层
了解
OpenAICompatible、OpenAIResponsesCompatible、密钥池和令牌桶的工作方式。开发体验
llm_function 装饰器
构建无状态的 LLM 函数,处理结构化输出、模板和工具调用。
llm_chat 装饰器
构建多轮对话、Agent 和流式聊天体验。
Agent 主体逻辑
事件流系统
观察 ReAct 循环,消费 LLM、工具和统计事件。
中断与取消
使用
AbortSignal 打断当前回合并安全收尾。工具与运行时
Primitive 原语
了解
runtime.* 能力、PrimitivePack 和 backend 生命周期。工具系统
定义工具、返回结构化结果,并为模型注入最佳实践。
PyRepl 运行时
在连续 Python 上下文中执行代码,并挂载 runtime primitives。
UI 与交互
终端 TUI
把
@llm_chat 直接包装成 Textual 终端聊天界面。集成与示例
Langfuse 集成
为 LLM 调用、工具调用和事件流接入可观测性。
示例代码
按场景浏览完整可运行示例和推荐学习顺序。
贡献指南
了解提 Issue、提 PR 和本地开发的基本约定。
按任务查找
我想要快速上手
我想要快速上手
从 快速开始 开始,先跑通环境、配置模型和第一个 Demo。
我想要配置 API 和运行环境
我想要配置 API 和运行环境
阅读 配置与环境,了解
provider.json、.env 和日志配置。我想要创建 LLM 函数
我想要创建 LLM 函数
阅读 llm_function 装饰器,学习签名、返回类型、模板参数和工具调用。
我想要构建聊天应用或 Agent
我想要构建聊天应用或 Agent
阅读 llm_chat 装饰器,了解历史管理、流式响应和 runtime context。
我想要观察执行过程
我想要观察执行过程
阅读 事件流系统,消费
EventYield 和 ResponseYield 构建可观测 UI。我想要让 LLM 调用外部能力
我想要让 LLM 调用外部能力
阅读 工具系统;如果需要持久 Python 上下文,再配合 PyRepl 运行时。
我想要理解运行时原语和分叉能力
我想要理解运行时原语和分叉能力
阅读 Primitive 原语 与 PyRepl 运行时。
我想要做终端交互界面
我想要做终端交互界面
阅读 终端 TUI,了解
@tui、中断、热键和自定义事件 hook。我想要查看完整实例
我想要查看完整实例
直接进入 示例代码,按基础、进阶和按功能分类浏览。
推荐学习路径
初级用户:先跑通一条完整链路
- 阅读 快速开始
- 阅读 llm_function 装饰器
- 打开 示例代码 运行结构化输出示例
中级用户:加入工具和对话能力
- 阅读 llm_chat 装饰器
- 阅读 工具系统
- 回到 配置与环境 优化模型和限流参数
高级用户:深入 runtime 与可观测性
- 阅读 LLM 接口层
- 阅读 事件流系统
- 阅读 Primitive 原语 与 PyRepl 运行时
按功能模块查找
| 功能 | 文档 | 说明 |
|---|---|---|
| 基础配置 | 配置与环境 | API 密钥、环境变量、provider.json |
| 简单任务 | llm_function 装饰器 | 无状态函数、文本处理、数据转换 |
| 对话应用 | llm_chat 装饰器 | 多轮对话、历史管理、流式响应 |
| 事件流 | 事件流系统 | 实时观察、工具调用监控、性能分析 |
| 中断控制 | 中断与取消 | 终止流式输出、取消工具调用 |
| 工具集成 | 工具系统 | 工具定义、调用、多模态返回 |
| 原语系统 | Primitive 原语 | CodeAct 运行时内置能力 |
| 系统设计 | LLM 接口层 | 接口抽象、密钥池、流量控制 |
| 实战示例 | 示例代码 | 各种场景的完整代码 |
常见问题速查
如何配置 API 密钥?
如何配置 API 密钥?
阅读 配置与环境。重点关注
provider.json 的提供商到模型列表结构。装饰器支持同步函数吗?
装饰器支持同步函数吗?
不支持。
@llm_function、@llm_chat 和 @tool 都要求装饰 async def 函数。详见 llm_function 装饰器。如何做多轮对话?
如何做多轮对话?
从 llm_chat 装饰器 开始,了解
history、stream=True 和返回模式。如何中断当前回复?
如何中断当前回复?
阅读 中断与取消,使用
AbortSignal 控制运行中回合。如何让 LLM 调用函数或外部 API?
如何让 LLM 调用函数或外部 API?
阅读 工具系统,学习
@tool、返回类型和工具最佳实践注入。支持哪些 LLM 提供商?
支持哪些 LLM 提供商?
阅读 LLM 接口层。框架同时支持 OpenAI-compatible chat/completions 适配和 OpenAI Responses API 适配,可接入多种兼容服务。
如何处理错误和重试?
如何处理错误和重试?
先看 LLM 接口层 的故障排除,再结合日志和事件流排查。
其他资源
项目介绍
了解 SimpleLLMFunc 的设计理念、核心特性和目录结构。
示例代码
直接查看可运行样例和推荐学习顺序。
GitHub 仓库
查看源码、Issue 和发布记录。
每篇文档都尽量保留完整代码示例。遇到问题时,优先查看对应页面的“故障排除”或“常见问题”部分,再回到 示例代码 对照运行。