14 KiB
14 KiB
English | 中文 | Español | 日本語 | Deutsch | Русский | Português | Français | 한국어
Pocket Flow 是一个100行代码的极简主义LLM框架
-
轻量级:仅100行代码。零臃肿,零依赖,零供应商锁定。
-
智能体编码:让AI智能体(例如Cursor AI)构建智能体—生产力提升10倍!
Pocket Flow入门:
- 安装方式,
pip install pocketflow或者直接复制源代码(仅100行)。 - 了解更多,查看文档。了解动机,阅读故事。
- 有问题?查看这个AI助手,或创建issue!
- 🎉 加入我们的Discord,与其他使用Pocket Flow构建应用的开发者交流!
- 🎉 Pocket Flow最初是Python版本,但我们现在有Typescript,Java,C++和Go版本!
为什么选择Pocket Flow?
当前的LLM框架过于臃肿... 你只需要100行代码就能构建LLM框架!
| 抽象 | 应用特定包装器 | 供应商特定包装器 | 代码行数 | 大小 | |
|---|---|---|---|---|---|
| LangChain | Agent, Chain | 很多 (例如,QA, 摘要) |
很多 (例如,OpenAI, Pinecone等) |
405K | +166MB |
| CrewAI | Agent, Chain | 很多 (例如,FileReadTool, SerperDevTool) |
很多 (例如,OpenAI, Anthropic, Pinecone等) |
18K | +173MB |
| SmolAgent | Agent | 一些 (例如,CodeAgent, VisitWebTool) |
一些 (例如,DuckDuckGo, Hugging Face等) |
8K | +198MB |
| LangGraph | Agent, Graph | 一些 (例如,语义搜索) |
一些 (例如,PostgresStore, SqliteSaver等) |
37K | +51MB |
| AutoGen | Agent | 一些 (例如,Tool Agent, Chat Agent) |
很多 [可选] (例如,OpenAI, Pinecone等) |
7K (仅核心) |
+26MB (仅核心) |
| PocketFlow | Graph | 无 | 无 | 100 | +56KB |
Pocket Flow如何工作?
这100行代码捕捉了LLM框架的核心抽象:图(Graph)!
从这里开始,很容易实现流行的设计模式,如(多-)智能体,工作流,RAG等。
✨ 以下是基础教程:
| 名称 | 难度 | 描述 |
|---|---|---|
| 聊天 | ☆☆☆ 入门 |
带有对话历史的基础聊天机器人 |
| 结构化输出 | ☆☆☆ 入门 |
通过提示从简历中提取结构化数据 |
| 工作流 | ☆☆☆ 入门 |
一个写作工作流,包括大纲编写、内容创作和样式应用 |
| 智能体 | ☆☆☆ 入门 |
一个可以搜索网络并回答问题的研究智能体 |
| RAG | ☆☆☆ 入门 |
一个简单的检索增强生成过程 |
| 批处理 | ☆☆☆ 入门 |
一个将markdown内容翻译成多种语言的批处理器 |
| 流式处理 | ☆☆☆ 入门 |
具有用户中断功能的实时LLM流式演示 |
| 聊天护栏 | ☆☆☆ 入门 |
一个仅处理旅行相关查询的旅行顾问聊天机器人 |
| Map-Reduce | ★☆☆ 初级 |
使用map-reduce模式进行批量评估的简历资格处理器 |
| 多智能体 | ★☆☆ 初级 |
两个智能体之间异步通信的禁忌词游戏 |
| 监督者 | ★☆☆ 初级 |
研究智能体变得不可靠...让我们构建一个监督流程 |
| 并行 | ★☆☆ 初级 |
展示3倍加速的并行执行演示 |
| 并行流 | ★☆☆ 初级 |
展示使用多个过滤器实现8倍加速的并行图像处理演示 |
| 多数投票 | ★☆☆ 初级 |
通过聚合多次解决方案尝试来提高推理准确性 |
| 思考 | ★☆☆ 初级 |
通过思维链解决复杂推理问题 |
| 记忆 | ★☆☆ 初级 |
具有短期和长期记忆的聊天机器人 |
| Text2SQL | ★☆☆ 初级 |
使用自动调试循环将自然语言转换为SQL查询 |
| MCP | ★☆☆ 初级 |
使用模型上下文协议进行数值运算的智能体 |
| A2A | ★☆☆ 初级 |
使用智能体到智能体协议包装的智能体,用于智能体间通信 |
| Web HITL | ★☆☆ 初级 |
具有SSE更新的人工审核循环的最小Web服务 |
👀 想看其他入门教程?创建一个issue!
如何使用Pocket Flow?
🚀 通过智能体编码—最快的LLM应用开发范式—人类设计,智能体编码!
✨ 以下是更复杂LLM应用的示例:
| 应用名称 | 难度 | 主题 | 人类设计 | 智能体代码 |
|---|---|---|---|---|
| 用Cursor构建Cursor 我们很快将达到奇点... |
★★★ 高级 |
智能体 | 设计文档 | Flow代码 |
| 代码库知识构建器 生命太短暂,不应该困惑地盯着他人的代码 |
★★☆ 中级 |
工作流 | 设计文档 | Flow代码 |
| 询问AI Paul Graham 询问AI Paul Graham,以防你没被录取 |
★★☆ 中级 |
RAG Map Reduce TTS |
设计文档 | Flow代码 |
| Youtube摘要器 像你5岁一样向你解释YouTube视频 |
★☆☆ 初级 |
Map Reduce | 设计文档 | Flow代码 |
| 冷启动生成器 将冷门线索转变为热门的即时破冰工具 |
★☆☆ 初级 |
Map Reduce Web搜索 |
设计文档 | Flow代码 |