examples/README.md,其中包含按场景整理后的可运行命令,以及无需 API Key 的本地示例。
本框架中的所有装饰器(
@llm_function、@llm_chat、@tool)都要求被装饰的函数使用 async def 定义,并在调用时通过 await 或 asyncio.run(...) 执行。快速入口
基础函数示例
从结构化输出和基础 Prompt 设计开始。
事件流聊天示例
观察完整 ReAct 循环、工具调用和 Token 统计。
终端 TUI Agent
直接体验
@tui 与 @llm_chat 的组合效果。Provider 配置模板
快速复制多供应商、多密钥和限流配置模板。
精选示例
llm_function 结构化输出(Pydantic)
llm_function 结构化输出(Pydantic)
文件:
examples/llm_function_pydantic_example.py适合刚开始接触 @llm_function 时使用,重点展示:- 多层嵌套 Pydantic 模型定义
- 自动结构化解析
- 类型安全的返回值处理
动态模板参数
动态模板参数
文件:
examples/dynamic_template_demo.py演示如何在调用时通过 _template_params 动态填充 DocString 模板:- 一个函数适配多种任务
- 按角色或风格切换 Prompt
- 降低重复函数定义
llm_function 事件流 + Pydantic
llm_function 事件流 + Pydantic
文件:
examples/llm_function_event_pydantic.py展示 @llm_function(enable_event=True) 的事件流与结构化输出协同:- 捕获 LLM 调用事件
- 观察执行统计
- 处理最终结构化结果
事件流观测聊天机器人
事件流观测聊天机器人
文件:
examples/event_stream_chatbot.py这是最完整的事件流示例之一,适合学习:- 实时流式响应与 Markdown 渲染
- 工具调用参数、执行过程和结果可视化
- Token 使用量、执行耗时和调用次数统计
- 使用
origin区分主链路与 fork 子链路
事件流系统开箱即用终端 TUI
开箱即用终端 TUI
文件:
examples/tui_chat_example.py展示 @tui 与 @llm_chat 的叠加效果:- 底部输入框和流式消息渲染
- reasoning delta 展示
- 工具调用参数和结果可视化
custom_event_hook自定义工具事件渲染
终端 TUIRuntime context primitives(本地,无需模型)
Runtime context primitives(本地,无需模型)
文件:
examples/runtime_primitives_basic_example.py适合理解 PyRepl 和 runtime.selfref.* 的基础能力:- 启动内置
selfrefbackend - 声明自定义
PrimitivePack - 通过
runtime.selfref.context.inspect/remember/compact管理上下文 - 把 durable experience 持久化到 system context,并在 milestone 后生成 assistant summary
General TUI Agent(selfref + file tools)
General TUI Agent(selfref + file tools)
文件:
examples/tui_general_agent_example.py这是 TUI-first Agent 工作流的推荐入口,展示:runtime.selfref.context.*和runtime.selfref.fork.*FileToolset的工作区文件能力- fork 生命周期事件在 TUI 中的渲染
./sandbox范围内的安全工作目录
Responses API TUI Agent(Responses + selfref + file tools)
Responses API TUI Agent(Responses + selfref + file tools)
文件:
examples/response_api_example.py适合学习最近的 Responses API 与 selfref 工作流,重点展示:OpenAIResponsesCompatible与reasoning={...}- system prompt 到 Responses
instructions的适配 runtime.selfref.fork.gather_all(...)的status/response/result读取方式- 带 workspace 的 TUI agent 运行方式
Agent as a Tool(装饰器叠加)
Agent as a Tool(装饰器叠加)
文件:
examples/agent_as_tool_example.py适合学习多 Agent 组合:@tool外层 +@llm_function内层- child agent 暴露给 parent agent 的
toolkit - supervisor / specialist 的职责分离
llm_function 事件流与 Token 用量监控
llm_function 事件流与 Token 用量监控
文件:
examples/llm_function_token_usage.py适用于成本统计与性能分析场景,重点展示:- 捕获
LLMCallEndEvent - 统计 prompt、completion 和 total tokens
- 零工具调用场景下的最小事件流用法
自定义 Tool 事件
自定义 Tool 事件
文件:
examples/custom_tool_event_example.py演示工具执行期间发射并消费自定义事件:ToolEventEmitter进度上报CustomEvent消费与渲染- 批处理过程可视化
并行工具调用
并行工具调用
多模态内容处理
多模态内容处理
供应商配置示例
provider.json 示例
展示完整的 provider 到模型配置列表结构,以及 API 密钥、重试和限流参数。
provider_template.json 模板
提供可复用的多供应商示例、多密钥负载均衡和限流配置模板。
按功能分类的示例
文本处理
文本处理
工具调用
工具调用
- 内置 REPL 工具:
pyrepl_example.py - 多工具并行:
parallel_toolcall_example.py - Agent as a Tool:
agent_as_tool_example.py
对话与 Agent
对话与 Agent
- 事件流聊天:
event_stream_chatbot.py - 自定义工具事件:
custom_tool_event_example.py - 终端 TUI:
tui_chat_example.py
多模态处理
多模态处理
- 图片分析:
multi_modality_toolcall.py - 混合输入输出:
multi_modality_toolcall.py
快速运行示例
准备环境
- 安装 SimpleLLMFunc:
pip install SimpleLLMFunc - 配置 API 密钥,参考
快速开始 - 创建或编辑
provider.json
event_stream_chatbot.py 依赖 rich。如果你要运行它,请先执行 pip install rich。学习路径建议
初级用户
- 阅读
快速开始 - 运行
llm_function_pydantic_example.py - 修改示例 Prompt,观察结构化输出变化
中级用户
- 阅读
llm_chat 装饰器文档 - 运行
event_stream_chatbot.py - 尝试
parallel_toolcall_example.py
高级用户
- 阅读
LLM 接口层文档 - 学习
multi_modality_toolcall.py - 学习
event_stream_chatbot.py与tui_general_agent_example.py - 尝试自定义接口、工具和 runtime primitives
常见问题
示例代码在哪里?
示例代码在哪里?
所有示例代码都在 GitHub 仓库的
examples/ 目录中,你可以直接查看、复制或下载运行。如何修改示例代码?
如何修改示例代码?
- 克隆仓库:
git clone https://github.com/NiJingzhe/SimpleLLMFunc.git - 编辑
examples/目录中的文件 - 运行修改后的代码观察效果
示例是否支持所有 LLM 供应商?
示例是否支持所有 LLM 供应商?
大多数示例都通过
provider.json 配置,支持任何兼容 OpenAI API 的供应商。可参考 provider_template.json 调整。我遇到了问题,该怎么办?
我遇到了问题,该怎么办?
- 检查
快速开始中的配置部分 - 查看
使用指南 - 在 GitHub 提交 Issue:https://github.com/NiJingzhe/SimpleLLMFunc/issues
贡献新示例
如果你想为项目补充新的示例代码:- Fork 仓库
- 在
examples/目录中创建新文件 - 遵循现有示例的代码风格和注释方式
- 提交 Pull Request
贡献指南。
相关资源
官方仓库
查看源码、示例目录、Issue 和发布记录。
使用指南
按任务和模块快速定位下一篇该读的文档。
发布日志
查看版本演进和新增能力。