Pocket Flow是一个极简主义的开源LLM框架,仅用100行代码实现轻量、高效和灵活的大模型应用。它采用零依赖设计,避免被特定供应商锁定,同时提供强大的图(Graph)和共享存储(Shared Store)抽象。通过节点(Node)、流(Flow)等核心概念,开发者可轻松构建聊天机器人、工作流、RAG、多智能体系统等复杂应用。框架支持多种流程类型,包括批处理、并行、异步、循环等,并提供丰富的应用案例,适合不同需求的LLM开发场景。
Pocket Flow 是一个极简主义的开源LLM框架,主打轻量、高效和灵活。它的核心理念是,构建复杂的LLM应用并不需要一个庞大臃肿的框架,只需要一个精炼而强大的抽象层。
https://github.com/The-Pocket/PocketFlow
- 极简代码:整个框架仅有 100行代码。这让它几乎没有依赖,体积非常小,易于理解和调试。
- 零依赖,零锁定:它不依赖任何外部库,也不内置任何特定供应商(如OpenAI、Pinecone)的API。你可以完全自由地选择自己需要的LLM、数据库或工具,避免了被特定供应商锁定的问题。
- 强大的抽象:虽然代码量少,但它提供了强大的**图(Graph)和共享存储(Shared Store)**抽象。基于这个核心抽象,你可以轻松地实现多智能体、工作流、RAG(检索增强生成)等各种复杂的LLM应用设计模式。
Pocket Flow是如何工作的?
Pocket Flow的核心思想是:所有的LLM应用都可以被视为一个计算图。在这个图中,不同的“节点”(Node)代表不同的处理单元,而“流”(Flow)则负责编排这些节点的执行顺序和数据流向。

通过这个简单的图抽象,你可以构建出多种多样的应用:
- 聊天机器人:通过节点来处理用户输入、管理对话历史。
- 工作流:将复杂的任务(如写文章)分解为多个节点,如“大纲生成”、“内容创作”、“格式调整”,并按顺序执行。
- RAG:一个节点负责从外部知识库检索信息,另一个节点负责基于这些信息生成回答。
- 多智能体系统:多个智能体作为图中的不同节点,通过共享存储进行异步通信和协作。
| 框架 | 核心抽象 | 代码行数 | 大小 |
|---|---|---|---|
| Pocket Flow | 图(Graph) | 100 | +56KB |
| LangChain | Agent, Chain | 405K | +166MB |
| CrewAI | Agent, Chain | 18K | +173MB |
| LangGraph | Agent, Graph | 37K | +51MB |
Pocket Flow支持流程类型

- 节点(Node):执行单一、原子任务的最小处理单元。
- 流(Flow):将多个步骤按顺序串联起来,形成一个完整的任务流程。
- 共享(Shared):在不同处理步骤之间传递数据和上下文的通信机制。


-
批处理(Batch):对多个输入重复执行相同的步骤,以实现批量处理。
-
并行(Parallel):同时执行多个独立的步骤,以提高整体效率。
-
异步(Async):处理需要等待外部事件或长时间运行的步骤,避免阻塞流程。
-
循环(Looping):重复执行一组步骤,直到满足某个预设的退出条件。
-
分支(Branch):根据特定条件或决策,将工作流导向不同的路径。
-
嵌套(Nesting):将一个完整的工作流封装为一个可重用的子步骤,提高模块化和复用性。
-
定向路径(Directed Path):一个线性的、按预定顺序执行的单向流程。

- 思维链(CoT, Chain-of-Thought):通过循环自我反思和记录历史,逐步解决复杂问题。
- 映射-归纳(Map-Reduce):将大规模任务分解为小块并行处理,最后将结果汇总。
- 聊天(Chat):一个基于循环并记录对话历史,以维持上下文的交互模式。
- 检索增强生成(RAG):在生成答案前,先从外部向量数据库检索相关信息进行增强。

- 聊天记忆(Chat Memory):结合聊天历史和长期向量数据库,实现短期和长期记忆的对话系统。
- 智能体(Agent):一个能够根据任务情况进行循环和分支决策的自主执行实体。
- 多智能体(Multi-Agent):多个智能体通过发布/订阅等机制进行通信和协作,共同完成任务。
- 监督者(Supervisor):一个高级智能体,负责监控、批准或拒绝其他智能体的任务结果,以确保质量。

案例:基础的聊天机器人
https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat
聊天机器人由一个名为 ChatNode 的单一节点构成,并通过一个自循环的 Flow 来运行。它的工作流程分为三个阶段:
prep()方法 (准备) :在每次循环开始时,这个方法会检查shared(共享存储)中是否存在对话历史。如果不存在,它会初始化一个空列表并打印欢迎信息。然后,它会提示用户输入,并将用户的消息添加到共享的对话历史中。如果用户输入“exit”,则返回None来终止流。exec()方法 (执行) :这个方法接收来自prep()的完整对话历史,然后调用call_llm()工具函数(这里是utils.py)来与大模型(如 GPT-4o)进行交互,生成一个回复。post()方法 (处理) :执行完exec()后,这个方法会接收大模型的回复。它会打印回复内容,并将其添加到共享的对话历史中。最后,它返回一个特殊的“continue”字符串。
PocketFlow 基础教教程
| 名称 (Name) | 描述 (Description) |
|---|---|
| 聊天 (Chat) | 带有对话历史的基本聊天机器人。 |
| 结构化输出 (Structured Output) | 通过提示从简历中提取结构化数据。 |
| 工作流 (Workflow) | 一个写作工作流,包含大纲、内容和风格化。 |
| 智能体 (Agent) | 一个可以搜索网络并回答问题的研究智能体。 |
| RAG | 一个简单的检索增强生成流程。 |
| 批处理 (Batch) | 一个将 Markdown 内容翻译成多种语言的处理器。 |
| 流式处理 (Streaming) | 一个带有用户中断功能的实时大模型流式演示。 |
| 聊天护栏 (Chat Guardrail) | 一个只处理旅行相关查询的聊天机器人。 |
| 多数投票 (Majority Vote) | 通过聚合多次解决方案尝试来提高推理准确性。 |
| Map-Reduce | 使用 map-reduce 模式进行批量简历资格评估。 |
| CLI HITL | 一个带有“人在回路”反馈的命令行笑话生成器。 |
| 多智能体 (Multi-Agent) | 两个智能体之间异步通信的禁忌词游戏。 |
| 监督者 (Supervisor) | 建立一个监督流程来监控研究智能体的可靠性。 |
| 并行 (Parallel) | 一个展示 3 倍加速的并行执行演示。 |
| 并行流 (Parallel Flow) | 一个展示 8 倍加速的并行图像处理演示。 |
| 思考 (Thinking) | 通过思维链解决复杂的推理问题。 |
| 记忆 (Memory) | 一个具有短期和长期记忆的聊天机器人。 |
| Text2SQL | 使用自动调试循环将自然语言转换为 SQL 查询。 |
| 代码生成器 (Code Generator) | 生成测试用例、实现解决方案并迭代改进代码。 |
| MCP | 使用模型上下文协议进行数值运算的智能体。 |
| A2A | 一个使用智能体到智能体协议进行通信的智能体。 |
| Streamlit FSM | 一个带有有限状态机的 Streamlit 应用,用于“人在回路”的图像生成。 |
| FastAPI WebSocket | 一个带有实时流式大模型响应的 WebSocket 聊天界面。 |
| FastAPI Background | 一个带有后台任务和实时进度更新的 FastAPI 应用。 |
| 语音聊天 (Voice Chat) | 一个带有 VAD、STT、大模型和 TTS 的交互式语音聊天应用。 |
如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。

2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。

4. 大模型行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方优快云官方认证二维码,免费领取【保证100%免费】

214

被折叠的 条评论
为什么被折叠?



