跳转到主要内容
本页按使用场景整理了 SimpleLLMFunc 的示例代码,方便你从基础能力一路走到事件流、TUI、runtime primitives 和 Agent 组合。 快速入口:可先查看 examples/README.md,其中包含按场景整理后的可运行命令,以及无需 API Key 的本地示例。
本框架中的所有装饰器(@llm_function@llm_chat@tool)都要求被装饰的函数使用 async def 定义,并在调用时通过 awaitasyncio.run(...) 执行。

快速入口

基础函数示例

从结构化输出和基础 Prompt 设计开始。

事件流聊天示例

观察完整 ReAct 循环、工具调用和 Token 统计。

终端 TUI Agent

直接体验 @tui@llm_chat 的组合效果。

Provider 配置模板

快速复制多供应商、多密钥和限流配置模板。

精选示例

文件:examples/llm_function_pydantic_example.py适合刚开始接触 @llm_function 时使用,重点展示:
  • 多层嵌套 Pydantic 模型定义
  • 自动结构化解析
  • 类型安全的返回值处理
文件:examples/dynamic_template_demo.py演示如何在调用时通过 _template_params 动态填充 DocString 模板:
  • 一个函数适配多种任务
  • 按角色或风格切换 Prompt
  • 降低重复函数定义
文件:examples/llm_function_event_pydantic.py展示 @llm_function(enable_event=True) 的事件流与结构化输出协同:
  • 捕获 LLM 调用事件
  • 观察执行统计
  • 处理最终结构化结果
文件:examples/event_stream_chatbot.py这是最完整的事件流示例之一,适合学习:
  • 实时流式响应与 Markdown 渲染
  • 工具调用参数、执行过程和结果可视化
  • Token 使用量、执行耗时和调用次数统计
  • 使用 origin 区分主链路与 fork 子链路
进一步阅读:事件流系统
文件:examples/tui_chat_example.py展示 @tui@llm_chat 的叠加效果:
  • 底部输入框和流式消息渲染
  • reasoning delta 展示
  • 工具调用参数和结果可视化
  • custom_event_hook 自定义工具事件渲染
进一步阅读:终端 TUI
文件:examples/runtime_primitives_basic_example.py适合理解 PyReplruntime.selfref.* 的基础能力:
  • 启动内置 selfref backend
  • 声明自定义 PrimitivePack
  • 通过 runtime.selfref.context.inspect/remember/compact 管理上下文
  • 把 durable experience 持久化到 system context,并在 milestone 后生成 assistant summary
文件:examples/tui_general_agent_example.py这是 TUI-first Agent 工作流的推荐入口,展示:
  • runtime.selfref.context.*runtime.selfref.fork.*
  • FileToolset 的工作区文件能力
  • fork 生命周期事件在 TUI 中的渲染
  • ./sandbox 范围内的安全工作目录
文件:examples/response_api_example.py适合学习最近的 Responses API 与 selfref 工作流,重点展示:
  • OpenAIResponsesCompatiblereasoning={...}
  • system prompt 到 Responses instructions 的适配
  • runtime.selfref.fork.gather_all(...)status / response / result 读取方式
  • 带 workspace 的 TUI agent 运行方式
文件:examples/agent_as_tool_example.py适合学习多 Agent 组合:
  • @tool 外层 + @llm_function 内层
  • child agent 暴露给 parent agent 的 toolkit
  • supervisor / specialist 的职责分离
文件:examples/llm_function_token_usage.py适用于成本统计与性能分析场景,重点展示:
  • 捕获 LLMCallEndEvent
  • 统计 prompt、completion 和 total tokens
  • 零工具调用场景下的最小事件流用法
文件:examples/custom_tool_event_example.py演示工具执行期间发射并消费自定义事件:
  • ToolEventEmitter 进度上报
  • CustomEvent 消费与渲染
  • 批处理过程可视化
文件:examples/parallel_toolcall_example.py展示高级工具调用特性:
  • 多个工具并行执行
  • 工具调用优化与性能考虑
  • 大规模工具集的管理方式
文件:examples/multi_modality_toolcall.py展示图片与文本混合输入输出:
  • ImgUrlImgPath
  • 文本与图片组合返回
  • 多模态工具调用链路

供应商配置示例

provider.json 示例

展示完整的 provider 到模型配置列表结构,以及 API 密钥、重试和限流参数。

provider_template.json 模板

提供可复用的多供应商示例、多密钥负载均衡和限流配置模板。

按功能分类的示例

快速运行示例

1

准备环境

  1. 安装 SimpleLLMFunc:pip install SimpleLLMFunc
  2. 配置 API 密钥,参考 快速开始
  3. 创建或编辑 provider.json
2

进入 examples 目录

cd examples
3

运行你关注的示例

# 基础 LLM 函数示例
python llm_function_pydantic_example.py

# 事件流聊天示例
python event_stream_chatbot.py

# 并行工具调用示例
python parallel_toolcall_example.py

# 多模态示例
python multi_modality_toolcall.py

# Textual TUI 示例
python tui_chat_example.py
event_stream_chatbot.py 依赖 rich。如果你要运行它,请先执行 pip install rich

学习路径建议

1

初级用户

  1. 阅读 快速开始
  2. 运行 llm_function_pydantic_example.py
  3. 修改示例 Prompt,观察结构化输出变化
2

中级用户

  1. 阅读 llm_chat 装饰器文档
  2. 运行 event_stream_chatbot.py
  3. 尝试 parallel_toolcall_example.py
3

高级用户

  1. 阅读 LLM 接口层文档
  2. 学习 multi_modality_toolcall.py
  3. 学习 event_stream_chatbot.pytui_general_agent_example.py
  4. 尝试自定义接口、工具和 runtime primitives

常见问题

所有示例代码都在 GitHub 仓库的 examples/ 目录中,你可以直接查看、复制或下载运行。
  1. 克隆仓库:git clone https://github.com/NiJingzhe/SimpleLLMFunc.git
  2. 编辑 examples/ 目录中的文件
  3. 运行修改后的代码观察效果
大多数示例都通过 provider.json 配置,支持任何兼容 OpenAI API 的供应商。可参考 provider_template.json 调整。
  1. 检查 快速开始 中的配置部分
  2. 查看 使用指南
  3. 在 GitHub 提交 Issue:https://github.com/NiJingzhe/SimpleLLMFunc/issues

贡献新示例

如果你想为项目补充新的示例代码:
  1. Fork 仓库
  2. examples/ 目录中创建新文件
  3. 遵循现有示例的代码风格和注释方式
  4. 提交 Pull Request
更多说明见 贡献指南

相关资源

官方仓库

查看源码、示例目录、Issue 和发布记录。

使用指南

按任务和模块快速定位下一篇该读的文档。

发布日志

查看版本演进和新增能力。