update parallel for translations
This commit is contained in:
parent
f4029f4999
commit
4526a358b7
|
|
@ -3,6 +3,8 @@
|
|||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-line minimalist LLM framework" width="600"/>
|
||||
</div>
|
||||
|
||||
<!-- [English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) -->
|
||||
|
||||
English | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import os
|
||||
import time
|
||||
from pocketflow import BatchNode, Flow
|
||||
from utils import call_llm
|
||||
|
||||
|
|
@ -25,9 +26,7 @@ Original:
|
|||
Translated:"""
|
||||
|
||||
result = call_llm(prompt)
|
||||
|
||||
print(f"Translated {language} text")
|
||||
|
||||
return {"language": language, "translation": result}
|
||||
|
||||
def post(self, shared, prep_res, exec_res_list):
|
||||
|
|
@ -58,11 +57,20 @@ if __name__ == "__main__":
|
|||
"output_dir": "translations"
|
||||
}
|
||||
|
||||
# --- Time Measurement Start ---
|
||||
print(f"Starting sequential translation into {len(shared['languages'])} languages...")
|
||||
start_time = time.perf_counter()
|
||||
|
||||
# Run the translation flow
|
||||
translate_node = TranslateTextNode(max_retries=3)
|
||||
flow = Flow(start=translate_node)
|
||||
flow.run(shared)
|
||||
|
||||
# --- Time Measurement End ---
|
||||
end_time = time.perf_counter()
|
||||
duration = end_time - start_time
|
||||
|
||||
print(f"\nTotal sequential translation time: {duration:.4f} seconds") # Print duration
|
||||
print("\n=== Translation Complete ===")
|
||||
print(f"Translations saved to: {shared['output_dir']}")
|
||||
print("============================")
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100行代码的极简LLM框架" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | 中文 | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -9,51 +10,50 @@
|
|||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||
</a>
|
||||
|
||||
Pocket Flow 是一个[仅有100行代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)的极简主义LLM框架
|
||||
Pocket Flow 是一个[仅100行代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)的极简主义LLM框架
|
||||
|
||||
- **轻量级**:仅100行代码。零臃肿,零依赖,零供应商锁定。
|
||||
|
||||
- **表达力强**:包含你喜爱的一切——([多](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[智能体](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[工作流](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)等等。
|
||||
- **表达力强**:包含你喜爱的所有功能—([多](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[智能体](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[工作流](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG检索增强生成](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)等等。
|
||||
|
||||
- **[智能体编程](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**:让AI智能体(例如Cursor AI)构建智能体——生产力提升10倍!
|
||||
- **[智能体编程](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**:让AI智能体(例如Cursor AI)构建智能体—生产力提升10倍!
|
||||
|
||||
- 安装方式:```pip install pocketflow```或者直接复制[源代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)(仅100行)。
|
||||
|
||||
- 了解更多,请查看[文档](https://the-pocket.github.io/PocketFlow/)。了解开发动机,阅读[故事](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)。
|
||||
|
||||
- 🎉 加入我们的[Discord社区](https://discord.gg/hUHHE9Sa6T)!
|
||||
|
||||
- 🎉 感谢[@zvictor](https://www.github.com/zvictor)、[@jackylee941130](https://www.github.com/jackylee941130)和[@ZebraRoy](https://www.github.com/ZebraRoy),我们现在有了[TypeScript版本](https://github.com/The-Pocket/PocketFlow-Typescript)!
|
||||
开始使用Pocket Flow:
|
||||
- 安装方式:```pip install pocketflow```,或者直接复制[源代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)(仅100行)。
|
||||
- 了解更多,请查看[文档](https://the-pocket.github.io/PocketFlow/)。想了解开发动机,请阅读这个[故事](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)。
|
||||
- 有问题?试试这个[AI助手](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant),或者[创建一个issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 加入我们的[Discord](https://discord.gg/hUHHE9Sa6T),与其他使用Pocket Flow构建应用的开发者交流!
|
||||
- 🎉 Pocket Flow最初是用Python开发的,但现在我们也有[Typescript](https://github.com/The-Pocket/PocketFlow-Typescript)、[Java](https://github.com/The-Pocket/PocketFlow-Java)、[C++](https://github.com/The-Pocket/PocketFlow-CPP)和[Go](https://github.com/The-Pocket/PocketFlow-Go)版本!
|
||||
|
||||
## 为什么选择Pocket Flow?
|
||||
|
||||
当前的LLM框架过于臃肿... LLM框架只需要100行代码就够了!
|
||||
当前的LLM框架都过于臃肿... 而LLM框架其实只需要100行代码!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **抽象概念** | **特定应用包装器** | **特定厂商包装器** | **代码行数** | **大小** |
|
||||
| | **抽象** | **应用特定包装器** | **供应商特定包装器** | **代码行数** | **大小** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | 智能体, 链 | 很多 <br><sup><sub>(例如问答, 摘要)</sub></sup> | 很多 <br><sup><sub>(例如OpenAI, Pinecone等)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | 智能体, 链 | 很多 <br><sup><sub>(例如FileReadTool, SerperDevTool)</sub></sup> | 很多 <br><sup><sub>(例如OpenAI, Anthropic, Pinecone等)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | 智能体 | 一些 <br><sup><sub>(例如CodeAgent, VisitWebTool)</sub></sup> | 一些 <br><sup><sub>(例如DuckDuckGo, Hugging Face等)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | 智能体, 图 | 一些 <br><sup><sub>(例如语义搜索)</sub></sup> | 一些 <br><sup><sub>(例如PostgresStore, SqliteSaver等) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | 智能体 | 一些 <br><sup><sub>(例如Tool Agent, Chat Agent)</sub></sup> | 很多 <sup><sub>[可选]<br> (例如OpenAI, Pinecone等)</sub></sup> | 7K <br><sup><sub>(仅核心)</sub></sup> | +26MB <br><sup><sub>(仅核心)</sub></sup> |
|
||||
| **PocketFlow** | **图** | **无** | **无** | **100** | **+56KB** |
|
||||
| LangChain | Agent, Chain | 众多 <br><sup><sub>(例如,问答,摘要)</sub></sup> | 众多 <br><sup><sub>(例如,OpenAI, Pinecone等)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | 众多 <br><sup><sub>(例如,FileReadTool, SerperDevTool)</sub></sup> | 众多 <br><sup><sub>(例如,OpenAI, Anthropic, Pinecone等)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | 一些 <br><sup><sub>(例如,CodeAgent, VisitWebTool)</sub></sup> | 一些 <br><sup><sub>(例如,DuckDuckGo, Hugging Face等)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | 一些 <br><sup><sub>(例如,语义搜索)</sub></sup> | 一些 <br><sup><sub>(例如,PostgresStore, SqliteSaver等) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | 一些 <br><sup><sub>(例如,Tool Agent, Chat Agent)</sub></sup> | 众多 <sup><sub>[可选]<br> (例如,OpenAI, Pinecone等)</sub></sup> | 7K <br><sup><sub>(仅核心)</sub></sup> | +26MB <br><sup><sub>(仅核心)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **无** | **无** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
## Pocket Flow如何工作?
|
||||
|
||||
这[100行代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)捕获了LLM框架的核心抽象:图!
|
||||
这[100行代码](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)捕捉了LLM框架的核心抽象:图(Graph)!
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
基于此,易于实现流行的设计模式,如([多](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[智能体](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[工作流](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)等。
|
||||
有了这个基础,就可以轻松实现流行的设计模式,如([多](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[智能体](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[工作流](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG检索增强生成](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)等。
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
|
|
@ -65,56 +65,7 @@ Pocket Flow 是一个[仅有100行代码](https://github.com/The-Pocket/PocketFl
|
|||
|
||||
| 名称 | 难度 | 描述 |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [聊天](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *简单* | 带有会话历史的基础聊天机器人 |
|
||||
| [结构化输出](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *简单* | 通过提示从简历中提取结构化数据 |
|
||||
| [工作流](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *简单* | 能够概述、撰写内容并应用样式的写作工作流 |
|
||||
| [智能体](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *简单* | 能够搜索网络并回答问题的研究智能体 |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *简单* | 简单的检索增强生成过程 |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *简单* | 使用map-reduce模式进行批量评估的简历资格处理器 |
|
||||
| [流式处理](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *简单* | 具有用户中断功能的实时LLM流式演示 |
|
||||
| [聊天护栏](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *简单* | 只处理与旅行相关查询的旅行顾问聊天机器人 |
|
||||
| [多智能体](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *初级* | 两个智能体之间进行异步通信的禁忌词游戏 |
|
||||
| [监督者](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *初级* | 研究智能体变得不可靠...让我们构建一个监督过程 |
|
||||
| [并行处理](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *初级* | 展示3倍加速的并行执行演示 |
|
||||
| [并行流](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *初级* | 使用多个过滤器展示8倍加速的并行图像处理演示 |
|
||||
| [多数投票](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *初级* | 通过汇总多个解决方案尝试来提高推理准确性 |
|
||||
| [思考](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *初级* | 通过思维链解决复杂推理问题 |
|
||||
| [记忆](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *初级* | 具有短期和长期记忆的聊天机器人 |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *初级* | 使用模型上下文协议进行数值运算的智能体 |
|
||||
|
||||
</div>
|
||||
|
||||
👀 想看更多初学者教程?[创建一个issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## 如何使用Pocket Flow?
|
||||
|
||||
🚀 通过**智能体编程**——最快的LLM应用开发范式,*人类设计*,*智能体编码*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to" target="_blank">
|
||||
<img src="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F423a39af-49e8-483b-bc5a-88cc764350c6_1050x588.png" width="700" alt="IMAGE ALT TEXT" style="cursor: pointer;">
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
✨ 以下是更复杂LLM应用的示例:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| 应用名称 | 难度 | 主题 | 人类设计 | 智能体代码 |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [用Cursor构建Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>我们很快就会达到奇点...</sup></sub> | ★★★ <br> *高级* | [智能体](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [设计文档](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [流程代码](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [询问AI版Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>如果你无法联系到真人,可以询问AI版Paul Graham</sup></sub> | ★★☆ <br> *中级* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [设计文档](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [流程代码](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtube总结器](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> 像解释给5岁小孩一样解释YouTube视频 </sup></sub> | ★☆☆ <br> *初级* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [设计文档](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [流程代码](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [冷启动开场白生成器](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> 即时破冰话题,将冷门线索变热 </sup></sub> | ★☆☆ <br> *初级* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [网络搜索](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [设计文档](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [流程代码](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- 想学习**智能体编程**?
|
||||
|
||||
- 查看[我的YouTube频道](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1)获取关于上述应用制作的视频教程!
|
||||
|
||||
- 想构建自己的LLM应用?阅读这篇[文章](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)!从[这个模板](https://github.com/The-Pocket/PocketFlow-Template-Python)开始!
|
||||
|
||||
- 想了解详细步骤?阅读这份[指南](https://the-pocket.github.io/PocketFlow/guide.html)!
|
||||
| [聊天](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *入门* | 带有对话历史的基础聊天机器人 |
|
||||
| [结构化输出](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *入门* | 通过提示从简历中提取结构化数据 |
|
||||
| [工作流](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *入门* | 一个写作工作流程,包括大纲、内容编写和样式应用 |
|
||||
| [智能体](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-line minimalist LLM framework" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | Français | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -11,19 +12,18 @@
|
|||
|
||||
Pocket Flow est un framework LLM minimaliste de [100 lignes](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
|
||||
- **Léger**: Seulement 100 lignes. Zéro surcharge, zéro dépendances, zéro verrouillage de fournisseur.
|
||||
- **Léger** : Seulement 100 lignes. Zéro superflu, zéro dépendance, zéro verrouillage fournisseur.
|
||||
|
||||
- **Expressif**: Tout ce que vous aimez—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agents](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), et plus encore.
|
||||
- **Expressif** : Tout ce que vous aimez — ([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agents](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), et plus encore.
|
||||
|
||||
- **[Programmation Agentique](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Laissez les Agents IA (par exemple, Cursor AI) construire des Agents—productivité multipliée par 10 !
|
||||
- **[Codage Agentique](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)** : Laissez les Agents IA (par exemple, Cursor AI) construire des Agents — productivité multipliée par 10 !
|
||||
|
||||
Commencer avec Pocket Flow :
|
||||
- Pour installer, ```pip install pocketflow``` ou copiez simplement le [code source](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (seulement 100 lignes).
|
||||
|
||||
- Pour en savoir plus, consultez la [documentation](https://the-pocket.github.io/PocketFlow/). Pour comprendre la motivation, lisez l'[histoire](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
|
||||
- 🎉 Rejoignez notre [discord](https://discord.gg/hUHHE9Sa6T) !
|
||||
|
||||
- 🎉 Merci à [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130) et [@ZebraRoy](https://www.github.com/ZebraRoy), nous avons maintenant une [version TypeScript](https://github.com/The-Pocket/PocketFlow-Typescript) !
|
||||
- Des questions ? Consultez cet [Assistant IA](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant), ou [créez une issue !](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 Rejoignez notre [Discord](https://discord.gg/hUHHE9Sa6T) pour vous connecter avec d'autres développeurs utilisant Pocket Flow !
|
||||
- 🎉 Pocket Flow est initialement en Python, mais nous avons maintenant des versions en [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) et [Go](https://github.com/The-Pocket/PocketFlow-Go) !
|
||||
|
||||
## Pourquoi Pocket Flow ?
|
||||
|
||||
|
|
@ -39,14 +39,14 @@ Les frameworks LLM actuels sont surchargés... Vous n'avez besoin que de 100 lig
|
|||
| CrewAI | Agent, Chain | Nombreux <br><sup><sub>(ex., FileReadTool, SerperDevTool)</sub></sup> | Nombreux <br><sup><sub>(ex., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Quelques <br><sup><sub>(ex., CodeAgent, VisitWebTool)</sub></sup> | Quelques <br><sup><sub>(ex., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Quelques <br><sup><sub>(ex., Recherche Sémantique)</sub></sup> | Quelques <br><sup><sub>(ex., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Quelques <br><sup><sub>(ex., Tool Agent, Chat Agent)</sub></sup> | Nombreux <sup><sub>[Optionnel]<br> (ex., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(core-only)</sub></sup> | +26MB <br><sup><sub>(core-only)</sub></sup> |
|
||||
| AutoGen | Agent | Quelques <br><sup><sub>(ex., Tool Agent, Chat Agent)</sub></sup> | Nombreux <sup><sub>[Optionnel]<br> (ex., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(core uniquement)</sub></sup> | +26MB <br><sup><sub>(core uniquement)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **Aucun** | **Aucun** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
## Comment fonctionne Pocket Flow ?
|
||||
|
||||
Les [100 lignes](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) capturent l'abstraction principale des frameworks LLM : le Graphe !
|
||||
Les [100 lignes](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) capturent l'abstraction fondamentale des frameworks LLM : le Graphe !
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||
|
|
@ -59,36 +59,40 @@ Les [100 lignes](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/_
|
|||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
✨ Voici les tutoriels de base :
|
||||
✨ Voici des tutoriels de base :
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Nom | Difficulté | Description |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Débutant* | Un chatbot de base avec historique de conversation |
|
||||
| [Sortie Structurée](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Débutant* | Extraction de données structurées à partir de CV par prompt |
|
||||
| [Workflow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Débutant* | Un workflow d'écriture qui structure, écrit du contenu et applique un style |
|
||||
| [Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Débutant* | Un agent de recherche qui peut effectuer des recherches sur le web et répondre aux questions |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Débutant* | Un processus simple de génération augmentée par récupération |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *Débutant* | Un processeur de qualification de CV utilisant le modèle map-reduce pour l'évaluation par lots |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Débutant* | Une démo de streaming LLM en temps réel avec capacité d'interruption utilisateur |
|
||||
| [Garde-fou de Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Débutant* | Un chatbot conseiller de voyage qui ne traite que les requêtes liées au voyage |
|
||||
| [Multi-Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Intermédiaire* | Un jeu de Taboo pour la communication asynchrone entre deux agents |
|
||||
| [Superviseur](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Intermédiaire* | L'agent de recherche devient peu fiable... Construisons un processus de supervision |
|
||||
| [Parallèle](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Intermédiaire* | Une démo d'exécution parallèle qui montre une accélération 3x |
|
||||
| [Flux Parallèle](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Intermédiaire* | Une démo de traitement d'image parallèle montrant une accélération 8x avec plusieurs filtres |
|
||||
| [Vote à la majorité](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Intermédiaire* | Améliore la précision du raisonnement en agrégeant plusieurs tentatives de solution |
|
||||
| [Réflexion](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Intermédiaire* | Résout des problèmes de raisonnement complexes grâce à la Chaîne de Pensée |
|
||||
| [Mémoire](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Intermédiaire* | Un chatbot avec mémoire à court et long terme |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Intermédiaire* | Agent utilisant le Protocole de Contexte de Modèle pour des opérations numériques |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Facile* | Un chatbot basique avec historique de conversation |
|
||||
| [Sortie Structurée](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Facile* | Extraction de données structurées à partir de CV par prompt |
|
||||
| [Workflow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Facile* | Un workflow d'écriture qui établit le plan, rédige le contenu et applique le style |
|
||||
| [Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Facile* | Un agent de recherche qui peut chercher sur le web et répondre aux questions |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Facile* | Un processus simple de génération augmentée par recherche |
|
||||
| [Batch](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *Facile* | Un processeur par lots qui traduit du contenu markdown en plusieurs langues |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Facile* | Une démo de streaming LLM en temps réel avec possibilité d'interruption |
|
||||
| [Chat Guardrail](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Facile* | Un chatbot conseiller en voyage qui ne traite que les requêtes liées au voyage |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *Débutant* | Un processeur de qualification de CV utilisant le modèle map-reduce pour l'évaluation par lots |
|
||||
| [Multi-Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Débutant* | Un jeu de Tabou pour la communication asynchrone entre deux agents |
|
||||
| [Superviseur](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Débutant* | L'agent de recherche devient peu fiable... Construisons un processus de supervision |
|
||||
| [Parallèle](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Débutant* | Une démo d'exécution parallèle montrant une accélération de 3x |
|
||||
| [Flux Parallèle](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Débutant* | Une démo de traitement d'image en parallèle montrant une accélération de 8x avec plusieurs filtres |
|
||||
| [Vote Majoritaire](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Débutant* | Améliorer la précision du raisonnement en agrégeant plusieurs tentatives de solution |
|
||||
| [Réflexion](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Débutant* | Résoudre des problèmes de raisonnement complexes grâce à la chaîne de pensée |
|
||||
| [Mémoire](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Débutant* | Un chatbot avec mémoire à court et long terme |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *Débutant* | Convertir le langage naturel en requêtes SQL avec une boucle d'auto-débogage |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Débutant* | Agent utilisant le protocole MCP pour les opérations numériques |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *Débutant* | Agent enveloppé avec le protocole Agent-to-Agent pour la communication inter-agents |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *Débutant* | Un service web minimal pour une boucle de révision humaine avec mises à jour SSE |
|
||||
|
||||
</div>
|
||||
|
||||
👀 Vous voulez voir d'autres tutoriels pour débutants ? [Créez une issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
👀 Vous voulez voir d'autres tutoriels pour débutants ? [Créez une issue !](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Comment utiliser Pocket Flow ?
|
||||
|
||||
🚀 Grâce à la **Programmation Agentique**—le paradigme de développement d'applications LLM le plus rapide—où *les humains conçoivent* et *les agents codent* !
|
||||
🚀 Via le **Codage Agentique** — le paradigme de développement d'applications LLM le plus rapide, où *les humains conçoivent* et *les agents codent* !
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -105,16 +109,15 @@ Les [100 lignes](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/_
|
|||
| Nom de l'application | Difficulté | Sujets | Conception Humaine | Code Agent |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Construire Cursor avec Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Nous atteindrons bientôt la singularité ...</sup></sub> | ★★★ <br> *Avancé* | [Agent](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Demandez à l'IA Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Demandez à l'IA Paul Graham, au cas où vous n'êtes pas accepté</sup></sub> | ★★☆ <br> *Moyen* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Résumeur Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Explique les vidéos YouTube comme si vous aviez 5 ans </sup></sub> | ★☆☆ <br> *Intermédiaire* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Générateur d'Introduction](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Des brise-glaces instantanés qui transforment les prospects froids en prospects chauds </sup></sub> | ★☆☆ <br> *Intermédiaire* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Recherche Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [Constructeur de Connaissances de Code Base](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>La vie est trop courte pour fixer le code des autres avec confusion</sup></sub> | ★★☆ <br> *Moyen* | [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [Demandez à l'IA Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Demandez à l'IA Paul Graham, au cas où vous n'y accédiez pas</sup></sub> | ★★☆ <br> *Moyen* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Résumé Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Explique les vidéos YouTube comme si vous aviez 5 ans </sup></sub> | ★☆☆ <br> *Débutant* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Générateur d'Accroches](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Des brise-glaces instantanés qui transforment les prospects froids en chauds </sup></sub> | ★☆☆ <br> *Débutant* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Recherche Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Document de conception](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Code Flow](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- Vous voulez apprendre la **Programmation Agentique** ?
|
||||
- Vous voulez apprendre le **Codage Agentique** ?
|
||||
|
||||
- Consultez [ma chaîne YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) pour des tutoriels vidéo sur la façon dont certaines applications ci-dessus sont créées !
|
||||
|
||||
- Vous souhaitez créer votre propre application LLM ? Lisez cet [article](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to) ! Commencez avec [ce modèle](https://github.com/The-Pocket/PocketFlow-Template-Python) !
|
||||
|
||||
- Vous voulez apprendre les étapes détaillées ? Lisez ce [Guide](https://the-pocket.github.io/PocketFlow/guide.html) !
|
||||
- Vous voulez créer votre propre application LLM ? Lisez ce [post](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to) ! Commencez avec [ce modèle](https://github.com/The-Pocket/PocketFlow-Template-Python) !
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-Zeilen minimalistisches LLM-Framework" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | Deutsch | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -11,23 +12,22 @@
|
|||
|
||||
Pocket Flow ist ein [100-Zeilen](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) minimalistisches LLM-Framework
|
||||
|
||||
- **Leichtgewichtig**: Nur 100 Zeilen. Keine Aufblähung, keine Abhängigkeiten, keine Anbieter-Bindung.
|
||||
- **Leichtgewichtig**: Nur 100 Zeilen. Kein überflüssiger Code, keine Abhängigkeiten, keine Herstellerbindung.
|
||||
|
||||
- **Ausdrucksstark**: Alles, was du liebst—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agenten](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) und mehr.
|
||||
- **Ausdrucksstark**: Alles was du liebst—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agents](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), und mehr.
|
||||
|
||||
- **[Agentisches Programmieren](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Lass KI-Agenten (z.B. Cursor AI) Agenten bauen—10-fache Produktivitätssteigerung!
|
||||
- **[Agentenbasiertes Programmieren](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Lass KI-Agenten (z.B. Cursor AI) Agenten bauen—10-fache Produktivitätssteigerung!
|
||||
|
||||
- Zur Installation, ```pip install pocketflow``` oder kopiere einfach den [Quellcode](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (nur 100 Zeilen).
|
||||
|
||||
- Um mehr zu erfahren, schau dir die [Dokumentation](https://the-pocket.github.io/PocketFlow/) an. Um die Motivation zu verstehen, lies die [Geschichte](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
|
||||
- 🎉 Tritt unserem [Discord](https://discord.gg/hUHHE9Sa6T) bei!
|
||||
|
||||
- 🎉 Dank [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130) und [@ZebraRoy](https://www.github.com/ZebraRoy) haben wir jetzt eine [TypeScript-Version](https://github.com/The-Pocket/PocketFlow-Typescript)!
|
||||
Starte mit Pocket Flow:
|
||||
- Installation via ```pip install pocketflow``` oder kopiere einfach den [Quellcode](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (nur 100 Zeilen).
|
||||
- Erfahre mehr in der [Dokumentation](https://the-pocket.github.io/PocketFlow/). Um die Motivation zu verstehen, lies die [Geschichte](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
- Fragen? Nutze diesen [KI-Assistenten](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant) oder [erstelle ein Issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 Tritt unserem [Discord](https://discord.gg/hUHHE9Sa6T) bei, um dich mit anderen Entwicklern zu vernetzen, die mit Pocket Flow arbeiten!
|
||||
- 🎉 Pocket Flow war ursprünglich in Python, aber wir haben jetzt auch [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) und [Go](https://github.com/The-Pocket/PocketFlow-Go) Versionen!
|
||||
|
||||
## Warum Pocket Flow?
|
||||
|
||||
Aktuelle LLM-Frameworks sind aufgebläht... Du brauchst nur 100 Zeilen für ein LLM-Framework!
|
||||
Aktuelle LLM-Frameworks sind überladen... Du brauchst nur 100 Zeilen für ein LLM-Framework!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
|
@ -35,11 +35,11 @@ Aktuelle LLM-Frameworks sind aufgebläht... Du brauchst nur 100 Zeilen für ein
|
|||
|
||||
| | **Abstraktion** | **App-spezifische Wrapper** | **Anbieter-spezifische Wrapper** | **Zeilen** | **Größe** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | Agent, Chain | Viele <br><sup><sub>(z.B. QA, Zusammenfassung)</sub></sup> | Viele <br><sup><sub>(z.B. OpenAI, Pinecone, usw.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | Viele <br><sup><sub>(z.B. FileReadTool, SerperDevTool)</sub></sup> | Viele <br><sup><sub>(z.B. OpenAI, Anthropic, Pinecone, usw.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Einige <br><sup><sub>(z.B. CodeAgent, VisitWebTool)</sub></sup> | Einige <br><sup><sub>(z.B. DuckDuckGo, Hugging Face, usw.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Einige <br><sup><sub>(z.B. Semantische Suche)</sub></sup> | Einige <br><sup><sub>(z.B. PostgresStore, SqliteSaver, usw.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Einige <br><sup><sub>(z.B. Tool Agent, Chat Agent)</sub></sup> | Viele <sup><sub>[Optional]<br> (z.B. OpenAI, Pinecone, usw.)</sub></sup> | 7K <br><sup><sub>(nur Kern)</sub></sup> | +26MB <br><sup><sub>(nur Kern)</sub></sup> |
|
||||
| LangChain | Agent, Chain | Viele <br><sup><sub>(z.B. QA, Zusammenfassung)</sub></sup> | Viele <br><sup><sub>(z.B. OpenAI, Pinecone, etc.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | Viele <br><sup><sub>(z.B. FileReadTool, SerperDevTool)</sub></sup> | Viele <br><sup><sub>(z.B. OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Einige <br><sup><sub>(z.B. CodeAgent, VisitWebTool)</sub></sup> | Einige <br><sup><sub>(z.B. DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Einige <br><sup><sub>(z.B. Semantic Search)</sub></sup> | Einige <br><sup><sub>(z.B. PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Einige <br><sup><sub>(z.B. Tool Agent, Chat Agent)</sub></sup> | Viele <sup><sub>[Optional]<br> (z.B. OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(nur Kern)</sub></sup> | +26MB <br><sup><sub>(nur Kern)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **Keine** | **Keine** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
|
@ -53,42 +53,46 @@ Die [100 Zeilen](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/_
|
|||
</div>
|
||||
<br>
|
||||
|
||||
Von dort aus ist es einfach, beliebte Designmuster wie ([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agenten](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) usw. zu implementieren.
|
||||
Von dort aus ist es einfach, beliebte Designmuster wie ([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agents](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) usw. zu implementieren.
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
✨ Hier sind grundlegende Tutorials:
|
||||
✨ Nachfolgend sind grundlegende Tutorials:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Name | Schwierigkeit | Beschreibung |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Dummy* | Ein einfacher Chatbot mit Konversationsverlauf |
|
||||
| [Strukturierte Ausgabe](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Dummy* | Extrahieren strukturierter Daten aus Lebensläufen durch Prompting |
|
||||
| [Workflow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Dummy* | Ein Schreibworkflow, der Gliederungen erstellt, Inhalte schreibt und Styling anwendet |
|
||||
| [Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Dummy* | Ein Recherche-Agent, der im Web suchen und Fragen beantworten kann |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Dummy* | Ein einfacher Retrieval-augmented Generation-Prozess |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *Dummy* | Ein Lebenslauf-Qualifikationsprozessor mit Map-Reduce-Muster für Batch-Auswertung |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Dummy* | Eine Echtzeit-LLM-Streaming-Demo mit Benutzerunterbrechungsfähigkeit |
|
||||
| [Chat-Absicherung](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Dummy* | Ein Reiseberater-Chatbot, der nur reisebezogene Anfragen verarbeitet |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Sehr einfach* | Ein einfacher Chatbot mit Gesprächsverlauf |
|
||||
| [Strukturierte Ausgabe](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Sehr einfach* | Extrahieren strukturierter Daten aus Lebensläufen durch Prompting |
|
||||
| [Workflow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Sehr einfach* | Ein Schreibworkflow, der Gliederung erstellt, Inhalte verfasst und Formatierung anwendet |
|
||||
| [Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Sehr einfach* | Ein Recherche-Agent, der im Web suchen und Fragen beantworten kann |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Sehr einfach* | Ein einfacher Retrieval-augmented Generation Prozess |
|
||||
| [Batch](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *Sehr einfach* | Ein Batch-Prozessor, der Markdown-Inhalte in mehrere Sprachen übersetzt |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Sehr einfach* | Eine Echtzeit-LLM-Streaming-Demo mit Nutzer-Unterbrechungsfunktion |
|
||||
| [Chat-Leitplanke](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Sehr einfach* | Ein Reiseberater-Chatbot, der nur reisebezogene Anfragen verarbeitet |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *Anfänger* | Ein Lebenslauf-Qualifikationsprozessor mit Map-Reduce-Muster für Batch-Auswertung |
|
||||
| [Multi-Agent](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Anfänger* | Ein Tabu-Wortspiel für asynchrone Kommunikation zwischen zwei Agenten |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Anfänger* | Forschungsagent wird unzuverlässig... Bauen wir einen Überwachungsprozess! |
|
||||
| [Parallel](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Anfänger* | Eine parallele Ausführungs-Demo, die 3x Beschleunigung zeigt |
|
||||
| [Parallel Flow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Anfänger* | Eine parallele Bildverarbeitungs-Demo, die 8x Beschleunigung mit mehreren Filtern zeigt |
|
||||
| [Mehrheitsvotum](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Anfänger* | Verbessere die Reasoning-Genauigkeit durch Aggregation mehrerer Lösungsversuche |
|
||||
| [Thinking](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Anfänger* | Löse komplexe Reasoning-Probleme durch Chain-of-Thought |
|
||||
| [Memory](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Anfänger* | Ein Chatbot mit Kurz- und Langzeitgedächtnis |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Anfänger* | Der Recherche-Agent wird unzuverlässig... Lass uns einen Überwachungsprozess bauen |
|
||||
| [Parallel](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Anfänger* | Eine Demonstration paralleler Ausführung mit 3-facher Beschleunigung |
|
||||
| [Paralleler Flow](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Anfänger* | Eine parallele Bildverarbeitungsdemo mit 8-facher Beschleunigung durch mehrere Filter |
|
||||
| [Mehrheitsentscheidung](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Anfänger* | Verbessere die Genauigkeit durch Aggregation mehrerer Lösungsversuche |
|
||||
| [Denkprozess](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Anfänger* | Löse komplexe Probleme durch Chain-of-Thought |
|
||||
| [Gedächtnis](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Anfänger* | Ein Chatbot mit Kurz- und Langzeitgedächtnis |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *Anfänger* | Konvertiere natürliche Sprache in SQL-Abfragen mit automatischer Debugging-Schleife |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Anfänger* | Agent, der das Model Context Protocol für numerische Operationen verwendet |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *Anfänger* | Agent mit Agent-to-Agent-Protokoll für Agent-übergreifende Kommunikation |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *Anfänger* | Ein minimaler Webdienst für eine menschliche Überprüfungsschleife mit SSE-Updates |
|
||||
|
||||
</div>
|
||||
|
||||
👀 Möchtest du andere Tutorials für Anfänger sehen? [Erstelle ein Issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
👀 Möchtest du weitere einfache Tutorials sehen? [Erstelle ein Issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Wie verwendet man Pocket Flow?
|
||||
## Wie nutzt man Pocket Flow?
|
||||
|
||||
🚀 Durch **Agentisches Programmieren**—das schnellste LLM-App-Entwicklungsparadigma, bei dem *Menschen designen* und *Agenten programmieren*!
|
||||
🚀 Durch **Agentenbasiertes Programmieren** – das schnellste LLM-App-Entwicklungsparadigma, bei dem *Menschen designen* und *Agenten programmieren*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -98,23 +102,22 @@ Von dort aus ist es einfach, beliebte Designmuster wie ([Multi-](https://the-poc
|
|||
</div>
|
||||
<br>
|
||||
|
||||
✨ Hier sind Beispiele für komplexere LLM-Apps:
|
||||
✨ Nachfolgend sind Beispiele für komplexere LLM-Apps:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| App-Name | Schwierigkeit | Themen | Menschliches Design | Agent-Code |
|
||||
| App-Name | Schwierigkeit | Themen | Mensch-Design | Agent-Code |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Cursor mit Cursor bauen](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Wir werden bald die Singularität erreichen ...</sup></sub> | ★★★ <br> *Fortgeschritten* | [Agent](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Frag KI Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Frag KI Paul Graham, falls du nicht reinkommst</sup></sub> | ★★☆ <br> *Mittel* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtube-Zusammenfasser](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Erklärt dir YouTube-Videos, als wärst du 5 </sup></sub> | ★☆☆ <br> *Anfänger* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Kaltakquise-Generator](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Sofortige Eisbrecher, die kalte Leads heiß machen </sup></sub> | ★☆☆ <br> *Anfänger* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Web-Suche](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [Cursor mit Cursor erstellen](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Wir werden die Singularität bald erreichen ...</sup></sub> | ★★★ <br> *Fortgeschritten* | [Agent](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Codebase-Wissenserstellung](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>Das Leben ist zu kurz, um verwirrt auf fremden Code zu starren</sup></sub> | ★★☆ <br> *Mittel* | [Workflow](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [Ask AI Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Frage AI Paul Graham, falls du nicht aufgenommen wirst</sup></sub> | ★★☆ <br> *Mittel* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtube-Zusammenfassung](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub>Erklärt dir YouTube-Videos, als wärst du 5</sup></sub> | ★☆☆ <br> *Anfänger* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Kaltakquise-Generator](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub>Sofortige Eisbrecher, die kalte Leads zu heißen machen</sup></sub> | ★☆☆ <br> *Anfänger* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Web-Suche](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Design-Dokument](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Flow-Code](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- Willst du **Agentisches Programmieren** lernen?
|
||||
- Möchtest du **Agentenbasiertes Programmieren** lernen?
|
||||
|
||||
- Schau dir [meinen YouTube-Kanal](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) für Video-Tutorials an, wie einige der obigen Apps erstellt wurden!
|
||||
- Schau dir [meinen YouTube-Kanal](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) für Video-Tutorials an, wie einige der oben genannten Apps erstellt wurden!
|
||||
|
||||
- Willst du deine eigene LLM-App bauen? Lies diesen [Beitrag](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)! Beginne mit [dieser Vorlage](https://github.com/The-Pocket/PocketFlow-Template-Python)!
|
||||
|
||||
- Willst du die detaillierten Schritte lernen? Lies diesen [Leitfaden](https://the-pocket.github.io/PocketFlow/guide.html)!
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100行のミニマリストLLMフレームワーク" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | 日本語 | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -11,49 +12,48 @@
|
|||
|
||||
Pocket Flowは[100行](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)のミニマリストLLMフレームワークです
|
||||
|
||||
- **軽量**: わずか100行。余分なもの一切なし、依存関係なし、ベンダーロックインなし。
|
||||
- **軽量**: わずか100行。余分なコードなし、依存関係なし、ベンダーロックインなし。
|
||||
|
||||
- **表現力**: あなたが好きなもの全て—([マルチ-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[ワークフロー](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)など。
|
||||
- **表現力**: あなたが愛するすべて—([マルチ](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[ワークフロー](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)など。
|
||||
|
||||
- **[エージェンティックコーディング](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: AIエージェント(例:Cursor AI)にエージェントを構築させる—生産性が10倍に!
|
||||
|
||||
- インストールするには、```pip install pocketflow```または[ソースコード](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)をコピーするだけです(わずか100行)。
|
||||
|
||||
- 詳細については[ドキュメント](https://the-pocket.github.io/PocketFlow/)をご覧ください。動機について学ぶには、[ストーリー](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)をお読みください。
|
||||
|
||||
- 🎉 私たちの[Discord](https://discord.gg/hUHHE9Sa6T)に参加してください!
|
||||
|
||||
- 🎉 [@zvictor](https://www.github.com/zvictor)、[@jackylee941130](https://www.github.com/jackylee941130)、[@ZebraRoy](https://www.github.com/ZebraRoy)のおかげで、[TypeScriptバージョン](https://github.com/The-Pocket/PocketFlow-Typescript)もできました!
|
||||
Pocket Flowを始めるには:
|
||||
- インストールするには、```pip install pocketflow```または[ソースコード](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)(わずか100行)をコピーするだけです。
|
||||
- 詳細については、[ドキュメント](https://the-pocket.github.io/PocketFlow/)をご覧ください。動機については、この[ストーリー](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)をお読みください。
|
||||
- 質問がありますか?この[AIアシスタント](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant)をチェックするか、[イシューを作成してください!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 私たちの[Discord](https://discord.gg/hUHHE9Sa6T)に参加して、Pocket Flowを使用する他の開発者とつながりましょう!
|
||||
- 🎉 Pocket Flowは最初Pythonでしたが、現在は[Typescript](https://github.com/The-Pocket/PocketFlow-Typescript)、[Java](https://github.com/The-Pocket/PocketFlow-Java)、[C++](https://github.com/The-Pocket/PocketFlow-CPP)、[Go](https://github.com/The-Pocket/PocketFlow-Go)バージョンもあります!
|
||||
|
||||
## なぜPocket Flow?
|
||||
|
||||
現在のLLMフレームワークは膨大すぎます... LLMフレームワークには100行だけで十分です!
|
||||
現在のLLMフレームワークは膨大すぎます...LLMフレームワークには100行だけで十分です!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **抽象化** | **アプリ固有のラッパー** | **ベンダー固有のラッパー** | **行数** | **サイズ** |
|
||||
| | **抽象化** | **アプリ固有ラッパー** | **ベンダー固有ラッパー** | **行数** | **サイズ** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | エージェント、チェーン | 多数 <br><sup><sub>(例:QA、要約)</sub></sup> | 多数 <br><sup><sub>(例:OpenAI、Pineconeなど)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | エージェント、チェーン | 多数 <br><sup><sub>(例:FileReadTool、SerperDevTool)</sub></sup> | 多数 <br><sup><sub>(例:OpenAI、Anthropic、Pineconeなど)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | エージェント | いくつか <br><sup><sub>(例:CodeAgent、VisitWebTool)</sub></sup> | いくつか <br><sup><sub>(例:DuckDuckGo、Hugging Faceなど)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | エージェント、グラフ | いくつか <br><sup><sub>(例:セマンティック検索)</sub></sup> | いくつか <br><sup><sub>(例:PostgresStore、SqliteSaverなど) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | エージェント | いくつか <br><sup><sub>(例:ツールエージェント、チャットエージェント)</sub></sup> | 多数 <sup><sub>[オプション]<br> (例:OpenAI、Pineconeなど)</sub></sup> | 7K <br><sup><sub>(コアのみ)</sub></sup> | +26MB <br><sup><sub>(コアのみ)</sub></sup> |
|
||||
| SmolAgent | エージェント | 一部 <br><sup><sub>(例:CodeAgent、VisitWebTool)</sub></sup> | 一部 <br><sup><sub>(例:DuckDuckGo、Hugging Faceなど)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | エージェント、グラフ | 一部 <br><sup><sub>(例:セマンティック検索)</sub></sup> | 一部 <br><sup><sub>(例:PostgresStore、SqliteSaverなど) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | エージェント | 一部 <br><sup><sub>(例:ツールエージェント、チャットエージェント)</sub></sup> | 多数 <sup><sub>[オプション]<br> (例:OpenAI、Pineconeなど)</sub></sup> | 7K <br><sup><sub>(コアのみ)</sub></sup> | +26MB <br><sup><sub>(コアのみ)</sub></sup> |
|
||||
| **PocketFlow** | **グラフ** | **なし** | **なし** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
## Pocket Flowはどのように動作しますか?
|
||||
## Pocket Flowはどのように機能するか?
|
||||
|
||||
[100行](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)のコードはLLMフレームワークの核となる抽象化を捉えています:グラフ!
|
||||
[100行](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)のコードは、LLMフレームワークの核心的な抽象化を捉えています:グラフ!
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
そこから、([マルチ-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[ワークフロー](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)などの人気のあるデザインパターンを簡単に実装できます。
|
||||
そこから、([マルチ](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html)、[ワークフロー](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html)、[RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html)などの人気のあるデザインパターンを簡単に実装できます。
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
|
|
@ -66,29 +66,33 @@ Pocket Flowは[100行](https://github.com/The-Pocket/PocketFlow/blob/main/pocket
|
|||
| 名前 | 難易度 | 説明 |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [チャット](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *超簡単* | 会話履歴を持つ基本的なチャットボット |
|
||||
| [構造化出力](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *超簡単* | プロンプトによる履歴書からの構造化データの抽出 |
|
||||
| [構造化出力](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *超簡単* | プロンプトを使用して履歴書から構造化データを抽出する |
|
||||
| [ワークフロー](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *超簡単* | 概要を作成し、コンテンツを書き、スタイルを適用するライティングワークフロー |
|
||||
| [エージェント](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *超簡単* | ウェブを検索して質問に答えることができる研究エージェント |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *超簡単* | シンプルな検索拡張生成プロセス |
|
||||
| [マップ-リデュース](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *超簡単* | バッチ評価のためのマップリデュースパターンを使用した履歴書資格処理 |
|
||||
| [バッチ](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *超簡単* | マークダウンコンテンツを複数の言語に翻訳するバッチプロセッサ |
|
||||
| [ストリーミング](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *超簡単* | ユーザー中断機能を備えたリアルタイムLLMストリーミングデモ |
|
||||
| [チャットガードレール](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *超簡単* | 旅行関連のクエリのみを処理する旅行アドバイザーチャットボット |
|
||||
| [マップリデュース](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *初級* | バッチ評価のためのマップリデュースパターンを使用した履歴書資格プロセッサ |
|
||||
| [マルチエージェント](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *初級* | 2つのエージェント間の非同期通信のためのタブーワードゲーム |
|
||||
| [スーパーバイザー](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *初級* | 研究エージェントが信頼性に欠ける場合... 監視プロセスを構築しましょう |
|
||||
| [並列](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *初級* | 3倍の速度向上を示す並列実行デモ |
|
||||
| [並列フロー](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *初級* | 複数のフィルターで8倍の速度向上を示す並列画像処理デモ |
|
||||
| [多数決](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *初級* | 複数の解決策を集約して推論精度を向上させる |
|
||||
| [スーパーバイザー](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *初級* | 研究エージェントが信頼性を失っています...監視プロセスを構築しましょう |
|
||||
| [並列処理](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *初級* | 3倍の高速化を示す並列実行デモ |
|
||||
| [並列フロー](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *初級* | 複数のフィルターを使用した8倍の高速化を示す並列画像処理デモ |
|
||||
| [多数決](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *初級* | 複数の解決策の試みを集約して推論精度を向上させる |
|
||||
| [思考](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *初級* | 思考連鎖を通じて複雑な推論問題を解決する |
|
||||
| [メモリ](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *初級* | 短期および長期記憶を持つチャットボット |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *初級* | 数値演算のためのモデルコンテキストプロトコルを使用するエージェント |
|
||||
| [メモリ](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *初級* | 短期記憶と長期記憶を持つチャットボット |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *初級* | 自動デバッグループを使用して自然言語をSQLクエリに変換する |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *初級* | 数値演算のためにモデルコンテキストプロトコルを使用するエージェント |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *初級* | エージェント間通信のためのエージェント間プロトコルでラップされたエージェント |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *初級* | SSE更新機能付きの人間レビューループ用最小限のWebサービス |
|
||||
|
||||
</div>
|
||||
|
||||
👀 他の超簡単なチュートリアルが見たいですか?[課題を作成してください!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
👀 他の超簡単なチュートリアルを見たいですか?[イシューを作成してください!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Pocket Flowの使い方は?
|
||||
|
||||
🚀 **エージェンティックコーディング**を通じて—最速のLLMアプリ開発パラダイムで、*人間が設計し*、*エージェントがコードを書く*!
|
||||
🚀 **エージェンティックコーディング**を通じて—最速のLLMアプリ開発パラダイムで、*人間が設計して* *エージェントがコードを書く*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -104,17 +108,16 @@ Pocket Flowは[100行](https://github.com/The-Pocket/PocketFlow/blob/main/pocket
|
|||
|
||||
| アプリ名 | 難易度 | トピック | 人間による設計 | エージェントによるコード |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Cursorを使ってCursorを構築](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>もうすぐシンギュラリティに到達します...</sup></sub> | ★★★ <br> *上級* | [エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [設計書](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [AI Paul Grahamに質問する](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>もし入れなかった場合は、AI Paul Grahamに聞いてみましょう</sup></sub> | ★★☆ <br> *中級* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [設計書](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtubeサマライザー](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> 5歳児にもわかるようにYouTube動画を説明 </sup></sub> | ★☆☆ <br> *初級* | [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [設計書](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [コールドオープナージェネレーター](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> 冷たいリードを熱くする即席アイスブレーカー </sup></sub> | ★☆☆ <br> *初級* | [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Web検索](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [設計書](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [CursorでCursorを構築](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>シンギュラリティがもうすぐ来ます...</sup></sub> | ★★★ <br> *上級* | [エージェント](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [設計ドキュメント](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [コードベース知識ビルダー](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>人生は短すぎて、他人のコードを混乱して見つめている暇はありません</sup></sub> | ★★☆ <br> *中級* | [ワークフロー](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [設計ドキュメント](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [AI Paul Grahamに質問する](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>AI Paul Grahamに質問する、あなたが入れない場合のために</sup></sub> | ★★☆ <br> *中級* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [設計ドキュメント](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtube要約ツール](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> YouTubeビデオを5歳児にもわかるように説明 </sup></sub> | ★☆☆ <br> *初級* | [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [設計ドキュメント](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [コールドオープナージェネレーター](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> 冷たいリードを熱くする即席のアイスブレーカー </sup></sub> | ★☆☆ <br> *初級* | [マップリデュース](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [ウェブ検索](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [設計ドキュメント](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [フローコード](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- **エージェンティックコーディング**を学びたいですか?
|
||||
|
||||
- 上記のアプリがどのように作られたかのビデオチュートリアルについては、[私のYouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1)をチェックしてください!
|
||||
- 上記のアプリがどのように作られたかのビデオチュートリアルについては、[YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1)をチェックしてください!
|
||||
|
||||
- 自分のLLMアプリを構築したいですか?この[投稿](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)を読んでくださいから始めましょう!
|
||||
|
||||
- 詳細な手順を学びたいですか?この[ガイド](https://the-pocket.github.io/PocketFlow/guide.html)を読んでください!
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="포켓 플로우 – 100줄의 미니멀리스트 LLM 프레임워크" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | 한국어
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -9,51 +10,50 @@
|
|||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||
</a>
|
||||
|
||||
Pocket Flow는 [100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)의 미니멀리스트 LLM 프레임워크입니다
|
||||
포켓 플로우는 [100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)의 미니멀리스트 LLM 프레임워크입니다
|
||||
|
||||
- **경량화**: 단 100줄. 불필요한 요소 없음, 종속성 없음, 벤더 락인 없음.
|
||||
- **경량화**: 단 100줄. 군더더기 없이, 의존성 없이, 벤더 종속성 없이.
|
||||
|
||||
- **표현력**: 당신이 좋아하는 모든 것—([다중-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [워크플로우](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) 등.
|
||||
- **표현력**: 좋아하는 모든 기능—([멀티-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [워크플로우](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) 등.
|
||||
|
||||
- **[에이전틱 코딩](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: AI 에이전트(예: Cursor AI)가 에이전트를 구축하도록—생산성 10배 향상!
|
||||
- **[에이전트 코딩](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: AI 에이전트(예: Cursor AI)가 에이전트를 만들도록 해서 생산성을 10배 향상!
|
||||
|
||||
- 설치하려면, ```pip install pocketflow```또는 [소스 코드](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)(단 100줄)를 복사하세요.
|
||||
포켓 플로우 시작하기:
|
||||
- 설치하려면, ```pip install pocketflow```나 [소스 코드](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)(단 100줄)를 복사하세요.
|
||||
- 더 알아보려면, [문서](https://the-pocket.github.io/PocketFlow/)를 확인하세요. 동기를 알아보려면, [이야기](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)를 읽어보세요.
|
||||
- 질문이 있으신가요? [AI 어시스턴트](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant)를 확인하거나, [이슈를 생성하세요!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 포켓 플로우로 개발하는 다른 개발자들과 연결하려면 [Discord](https://discord.gg/hUHHE9Sa6T)에 참여하세요!
|
||||
- 🎉 포켓 플로우는 처음에 Python으로 만들어졌지만, 이제 [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) 및 [Go](https://github.com/The-Pocket/PocketFlow-Go) 버전도 있습니다!
|
||||
|
||||
- 더 알아보려면, [문서](https://the-pocket.github.io/PocketFlow/)를 확인하세요. 개발 동기를 알아보려면, [이야기](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just)를 읽어보세요.
|
||||
## 왜 포켓 플로우인가?
|
||||
|
||||
- 🎉 우리의 [디스코드](https://discord.gg/hUHHE9Sa6T)에 참여하세요!
|
||||
|
||||
- 🎉 [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130), [@ZebraRoy](https://www.github.com/ZebraRoy) 덕분에 이제 [TypeScript 버전](https://github.com/The-Pocket/PocketFlow-Typescript)이 있습니다!
|
||||
|
||||
## 왜 Pocket Flow인가?
|
||||
|
||||
현재 LLM 프레임워크들은 너무 비대합니다... LLM 프레임워크는 100줄만 필요합니다!
|
||||
현재 LLM 프레임워크들은 너무 방대합니다... LLM 프레임워크는 100줄만으로도 충분합니다!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **추상화** | **앱 특화 래퍼** | **벤더 특화 래퍼** | **코드 줄 수** | **크기** |
|
||||
| | **추상화** | **앱 특화 래퍼** | **벤더 특화 래퍼** | **코드 라인** | **크기** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | 에이전트, 체인 | 다수 <br><sup><sub>(예: QA, 요약)</sub></sup> | 다수 <br><sup><sub>(예: OpenAI, Pinecone 등)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | 에이전트, 체인 | 다수 <br><sup><sub>(예: FileReadTool, SerperDevTool)</sub></sup> | 다수 <br><sup><sub>(예: OpenAI, Anthropic, Pinecone 등)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | 에이전트 | 일부 <br><sup><sub>(예: CodeAgent, VisitWebTool)</sub></sup> | 일부 <br><sup><sub>(예: DuckDuckGo, Hugging Face 등)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | 에이전트, 그래프 | 일부 <br><sup><sub>(예: 시맨틱 검색)</sub></sup> | 일부 <br><sup><sub>(예: PostgresStore, SqliteSaver 등) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | 에이전트 | 일부 <br><sup><sub>(예: Tool Agent, Chat Agent)</sub></sup> | 다수 <sup><sub>[선택사항]<br> (예: OpenAI, Pinecone 등)</sub></sup> | 7K <br><sup><sub>(핵심만)</sub></sup> | +26MB <br><sup><sub>(핵심만)</sub></sup> |
|
||||
| LangChain | 에이전트, 체인 | 다수 <br><sup><sub>(예: QA, 요약)</sub></sup> | 다수 <br><sup><sub>(예: OpenAI, Pinecone, 등)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | 에이전트, 체인 | 다수 <br><sup><sub>(예: FileReadTool, SerperDevTool)</sub></sup> | 다수 <br><sup><sub>(예: OpenAI, Anthropic, Pinecone, 등)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | 에이전트 | 일부 <br><sup><sub>(예: CodeAgent, VisitWebTool)</sub></sup> | 일부 <br><sup><sub>(예: DuckDuckGo, Hugging Face, 등)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | 에이전트, 그래프 | 일부 <br><sup><sub>(예: Semantic Search)</sub></sup> | 일부 <br><sup><sub>(예: PostgresStore, SqliteSaver, 등) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | 에이전트 | 일부 <br><sup><sub>(예: Tool Agent, Chat Agent)</sub></sup> | 다수 <sup><sub>[선택적]<br> (예: OpenAI, Pinecone, 등)</sub></sup> | 7K <br><sup><sub>(코어 전용)</sub></sup> | +26MB <br><sup><sub>(코어 전용)</sub></sup> |
|
||||
| **PocketFlow** | **그래프** | **없음** | **없음** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
## Pocket Flow는 어떻게 작동하나요?
|
||||
## 포켓 플로우는 어떻게 작동하나요?
|
||||
|
||||
[100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)은 LLM 프레임워크의 핵심 추상화를 담고 있습니다: 그래프!
|
||||
[100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)의 코드는 LLM 프레임워크의 핵심 추상화인 그래프를 담고 있습니다!
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
이를 기반으로 ([다중-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [워크플로우](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) 등과 같은 인기 있는 디자인 패턴을 쉽게 구현할 수 있습니다.
|
||||
여기서 시작하여 ([멀티-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [워크플로우](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) 등의 인기 있는 디자인 패턴을 쉽게 구현할 수 있습니다.
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
|
|
@ -65,30 +65,34 @@ Pocket Flow는 [100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocke
|
|||
|
||||
| 이름 | 난이도 | 설명 |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [채팅](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *초보* | 대화 기록이 있는 기본 채팅 봇 |
|
||||
| [챗봇](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *초보* | 대화 기록이 있는 기본 챗봇 |
|
||||
| [구조화된 출력](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *초보* | 프롬프트를 통해 이력서에서 구조화된 데이터 추출 |
|
||||
| [워크플로우](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *초보* | 개요 작성, 콘텐츠 작성, 스타일 적용을 수행하는 글쓰기 워크플로우 |
|
||||
| [워크플로우](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *초보* | 개요 작성, 콘텐츠 작성, 스타일 적용하는 글쓰기 워크플로우 |
|
||||
| [에이전트](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *초보* | 웹을 검색하고 질문에 답할 수 있는 연구 에이전트 |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *초보* | 간단한 검색 증강 생성 프로세스 |
|
||||
| [맵-리듀스](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *초보* | 배치 평가를 위한 맵-리듀스 패턴을 사용하는 이력서 자격 처리기 |
|
||||
| [배치](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *초보* | 마크다운 콘텐츠를 여러 언어로 번역하는 배치 프로세서 |
|
||||
| [스트리밍](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *초보* | 사용자 중단 기능이 있는 실시간 LLM 스트리밍 데모 |
|
||||
| [채팅 가드레일](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *초보* | 여행 관련 쿼리만 처리하는 여행 어드바이저 챗봇 |
|
||||
| [다중 에이전트](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *초급* | 두 에이전트 간의 비동기 통신을 위한 금기어 게임 |
|
||||
| [감독자](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *초급* | 연구 에이전트가 신뢰할 수 없게 되었습니다... 감독 프로세스를 구축해 봅시다 |
|
||||
| [병렬](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *초급* | 3배 속도 향상을 보여주는 병렬 실행 데모 |
|
||||
| [병렬 플로우](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *초급* | 여러 필터로 8배 속도 향상을 보여주는 병렬 이미지 처리 데모 |
|
||||
| [다수결 투표](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *초급* | 여러 솔루션 시도를 집계하여 추론 정확도 향상 |
|
||||
| [사고](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *초급* | 사고 체인을 통한 복잡한 추론 문제 해결 |
|
||||
| [메모리](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *초급* | 단기 및 장기 메모리가 있는 채팅 봇 |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *초급* | 수치 연산을 위한 모델 컨텍스트 프로토콜을 사용하는 에이전트 |
|
||||
| [챗봇 가드레일](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *초보* | 여행 관련 쿼리만 처리하는 여행 어드바이저 챗봇 |
|
||||
| [맵-리듀스](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *입문* | 배치 평가를 위한 맵-리듀스 패턴을 사용한 이력서 자격 처리기 |
|
||||
| [멀티-에이전트](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *입문* | 두 에이전트 간 비동기 통신을 위한 금지어 게임 |
|
||||
| [감독자](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *입문* | 연구 에이전트가 불안정해지면... 감독 프로세스를 구축해 봅시다|
|
||||
| [병렬](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *입문* | 3배 속도 향상을 보여주는 병렬 실행 데모 |
|
||||
| [병렬 플로우](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *입문* | 다중 필터로 8배 속도 향상을 보여주는 병렬 이미지 처리 데모 |
|
||||
| [다수결 투표](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *입문* | 여러 솔루션 시도를 집계하여 추론 정확도 향상 |
|
||||
| [사고](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *입문* | 사고 연쇄를 통해 복잡한 추론 문제 해결 |
|
||||
| [메모리](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *입문* | 단기 및 장기 메모리가 있는 챗봇 |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *입문* | 자동 디버그 루프가 있는 자연어를 SQL 쿼리로 변환 |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *입문* | 수치 연산을 위한 모델 컨텍스트 프로토콜을 사용하는 에이전트 |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *입문* | 에이전트 간 통신을 위한 에이전트-투-에이전트 프로토콜로 래핑된 에이전트 |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *입문* | SSE 업데이트가 있는 인간 검토 루프를 위한 최소한의 웹 서비스 |
|
||||
|
||||
</div>
|
||||
|
||||
👀 초보자를 위한 다른 튜토리얼을 보고 싶으신가요? [이슈를 생성하세요!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Pocket Flow를 어떻게 사용하나요?
|
||||
## 포켓 플로우는 어떻게 사용하나요?
|
||||
|
||||
🚀 **에이전틱 코딩**을 통해—가장 빠른 LLM 앱 개발 패러다임-*인간이 설계*하고 *에이전트가 코딩*합니다!
|
||||
🚀 **에이전트 코딩**을 통해—*인간이 설계*하고 *에이전트가 코딩*하는 가장 빠른 LLM 앱 개발 패러다임!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -104,17 +108,16 @@ Pocket Flow는 [100줄](https://github.com/The-Pocket/PocketFlow/blob/main/pocke
|
|||
|
||||
| 앱 이름 | 난이도 | 주제 | 인간 설계 | 에이전트 코드 |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Cursor로 Cursor 만들기](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>우리는 곧 특이점에 도달할 것입니다...</sup></sub> | ★★★ <br> *고급* | [에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [AI Paul Graham에게 물어보기](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>입학하지 못한 경우를 대비해 AI Paul Graham에게 물어보세요</sup></sub> | ★★☆ <br> *중급* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [유튜브 요약기](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> 유튜브 비디오를 5세 아이에게 설명하듯이 설명해 줍니다 </sup></sub> | ★☆☆ <br> *초급* | [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [콜드 오프너 생성기](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> 차가운 리드를 뜨겁게 만드는 즉각적인 아이스브레이커 </sup></sub> | ★☆☆ <br> *초급* | [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [웹 검색](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [Cursor로 Cursor 만들기](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>곧 특이점에 도달할 것입니다...</sup></sub> | ★★★ <br> *고급* | [에이전트](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [코드베이스 지식 빌더](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>다른 사람의 코드를 혼란스럽게 바라보기엔 인생이 너무 짧습니다</sup></sub> | ★★☆ <br> *중급* | [워크플로우](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [AI 폴 그레이엄에게 물어보기](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>입학하지 못한 경우를 대비해 AI 폴 그레이엄에게 물어보세요</sup></sub> | ★★☆ <br> *중급* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [유튜브 요약기](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> 5살 아이에게 설명하듯이 YouTube 동영상을 설명해 드립니다 </sup></sub> | ★☆☆ <br> *입문* | [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [콜드 오프너 생성기](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> 차가운 리드를 뜨겁게 만드는 즉각적인 아이스브레이커 </sup></sub> | ★☆☆ <br> *입문* | [맵 리듀스](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [웹 검색](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [설계 문서](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [플로우 코드](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- **에이전틱 코딩**을 배우고 싶으신가요?
|
||||
- **에이전트 코딩**을 배우고 싶으신가요?
|
||||
|
||||
- 위의 앱 중 일부가 어떻게 만들어졌는지 비디오 튜토리얼을 보려면 [내 YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1)를 확인하세요!
|
||||
- 위의 앱들이 어떻게 만들어졌는지 비디오 튜토리얼을 보려면 [내 YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1)를 확인하세요!
|
||||
|
||||
- 자신만의 LLM 앱을 만들고 싶으신가요? 이 [포스트](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)를 읽어보세요! [이 템플릿](https://github.com/The-Pocket/PocketFlow-Template-Python)으로 시작하세요!
|
||||
|
||||
- 자세한 단계를 배우고 싶으신가요? 이 [가이드](https://the-pocket.github.io/PocketFlow/guide.html)를 읽어보세요!
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-line minimalist LLM framework" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | Português | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -9,38 +10,37 @@
|
|||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||
</a>
|
||||
|
||||
Pocket Flow é um framework LLM minimalista de [100 linhas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
Pocket Flow é um framework minimalista de LLM com [100 linhas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
|
||||
- **Leve**: Apenas 100 linhas. Zero inchaço, zero dependências, zero bloqueio de fornecedor.
|
||||
|
||||
- **Expressivo**: Tudo o que você ama—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Fluxo de Trabalho](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), e mais.
|
||||
- **Expressivo**: Tudo que você ama—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Fluxo de Trabalho](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), e mais.
|
||||
|
||||
- **[Codificação Agêntica](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Deixe os Agentes de IA (por exemplo, Cursor AI) construírem Agentes—aumento de produtividade de 10x!
|
||||
|
||||
- Para instalar, ```pip install pocketflow``` ou apenas copie o [código-fonte](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (apenas 100 linhas).
|
||||
- **[Programação Agêntica](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Deixe que Agentes de IA (ex., Cursor AI) construam Agentes—aumento de 10x na produtividade!
|
||||
|
||||
Comece com o Pocket Flow:
|
||||
- Para instalar, ```pip install pocketflow``` ou simplesmente copie o [código-fonte](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (apenas 100 linhas).
|
||||
- Para saber mais, consulte a [documentação](https://the-pocket.github.io/PocketFlow/). Para entender a motivação, leia a [história](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
|
||||
- 🎉 Junte-se ao nosso [discord](https://discord.gg/hUHHE9Sa6T)!
|
||||
|
||||
- 🎉 Graças a [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130) e [@ZebraRoy](https://www.github.com/ZebraRoy), agora temos uma [versão TypeScript](https://github.com/The-Pocket/PocketFlow-Typescript)!
|
||||
- Tem perguntas? Consulte este [Assistente de IA](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant), ou [crie uma issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 Junte-se ao nosso [Discord](https://discord.gg/hUHHE9Sa6T) para se conectar com outros desenvolvedores construindo com Pocket Flow!
|
||||
- 🎉 Pocket Flow é inicialmente Python, mas agora temos versões em [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) e [Go](https://github.com/The-Pocket/PocketFlow-Go)!
|
||||
|
||||
## Por que Pocket Flow?
|
||||
|
||||
Os frameworks LLM atuais são inchados... Você só precisa de 100 linhas para um Framework LLM!
|
||||
Os frameworks LLM atuais são sobrecarregados... Você só precisa de 100 linhas para um Framework LLM!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **Abstração** | **Wrappers Específicos de App** | **Wrappers Específicos de Fornecedor** | **Linhas** | **Tamanho** |
|
||||
| | **Abstração** | **Wrappers Específicos para Apps** | **Wrappers Específicos de Fornecedores** | **Linhas** | **Tamanho** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | Agente, Cadeia | Muitos <br><sup><sub>(ex., QA, Sumarização)</sub></sup> | Muitos <br><sup><sub>(ex., OpenAI, Pinecone, etc.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agente, Cadeia | Muitos <br><sup><sub>(ex., FileReadTool, SerperDevTool)</sub></sup> | Muitos <br><sup><sub>(ex., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agente | Alguns <br><sup><sub>(ex., CodeAgent, VisitWebTool)</sub></sup> | Alguns <br><sup><sub>(ex., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agente, Grafo | Alguns <br><sup><sub>(ex., Busca Semântica)</sub></sup> | Alguns <br><sup><sub>(ex., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agente | Alguns <br><sup><sub>(ex., Agente de Ferramentas, Agente de Chat)</sub></sup> | Muitos <sup><sub>[Opcional]<br> (ex., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(apenas núcleo)</sub></sup> | +26MB <br><sup><sub>(apenas núcleo)</sub></sup> |
|
||||
| **PocketFlow** | **Grafo** | **Nenhum** | **Nenhum** | **100** | **+56KB** |
|
||||
| LangChain | Agent, Chain | Muitos <br><sup><sub>(ex., QA, Resumo)</sub></sup> | Muitos <br><sup><sub>(ex., OpenAI, Pinecone, etc.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | Muitos <br><sup><sub>(ex., FileReadTool, SerperDevTool)</sub></sup> | Muitos <br><sup><sub>(ex., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Alguns <br><sup><sub>(ex., CodeAgent, VisitWebTool)</sub></sup> | Alguns <br><sup><sub>(ex., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Alguns <br><sup><sub>(ex., Semantic Search)</sub></sup> | Alguns <br><sup><sub>(ex., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Alguns <br><sup><sub>(ex., Tool Agent, Chat Agent)</sub></sup> | Muitos <sup><sub>[Opcionais]<br> (ex., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(apenas core)</sub></sup> | +26MB <br><sup><sub>(apenas core)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **Nenhum** | **Nenhum** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -65,30 +65,34 @@ A partir daí, é fácil implementar padrões de design populares como ([Multi-]
|
|||
|
||||
| Nome | Dificuldade | Descrição |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Iniciante* | Um chatbot básico com histórico de conversas |
|
||||
| [Saída Estruturada](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Iniciante* | Extraindo dados estruturados de currículos por prompt |
|
||||
| [Fluxo de Trabalho](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Iniciante* | Um fluxo de escrita que esboça, escreve conteúdo e aplica estilo |
|
||||
| [Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Iniciante* | Um agente de pesquisa que pode buscar na web e responder perguntas |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Iniciante* | Um processo simples de Geração Aumentada por Recuperação |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *Iniciante* | Um processador de qualificação de currículo usando o padrão map-reduce para avaliação em lote |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Iniciante* | Uma demonstração de streaming LLM em tempo real com capacidade de interrupção pelo usuário |
|
||||
| [Guarda-rail de Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Iniciante* | Um chatbot de consultoria de viagens que processa apenas consultas relacionadas a viagens |
|
||||
| [Multi-Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Intermediário* | Um jogo de palavras Tabu para comunicação assíncrona entre dois agentes |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Intermediário* | O agente de pesquisa está ficando não confiável... Vamos construir um processo de supervisão|
|
||||
| [Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Intermediário* | Uma demonstração de execução paralela que mostra aceleração de 3x |
|
||||
| [Fluxo Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Intermediário* | Uma demonstração de processamento de imagem paralela mostrando aceleração de 8x com múltiplos filtros |
|
||||
| [Voto por Maioria](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Intermediário* | Melhore a precisão do raciocínio agregando múltiplas tentativas de solução |
|
||||
| [Pensamento](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Intermediário* | Resolva problemas de raciocínio complexos através da Cadeia de Pensamento |
|
||||
| [Memória](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Intermediário* | Um chatbot com memória de curto e longo prazo |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Intermediário* | Agente usando Protocolo de Contexto de Modelo para operações numéricas |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Muito Fácil* | Um chatbot básico com histórico de conversas |
|
||||
| [Saída Estruturada](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Muito Fácil* | Extraindo dados estruturados de currículos através de prompts |
|
||||
| [Fluxo de Trabalho](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Muito Fácil* | Um fluxo de escrita que delineia, escreve conteúdo e aplica estilo |
|
||||
| [Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Muito Fácil* | Um agente de pesquisa que pode buscar na web e responder perguntas |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Muito Fácil* | Um processo simples de Geração Aumentada por Recuperação |
|
||||
| [Lote](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *Muito Fácil* | Um processador em lote que traduz conteúdo markdown para vários idiomas |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Muito Fácil* | Uma demonstração de streaming LLM em tempo real com capacidade de interrupção pelo usuário |
|
||||
| [Guardrail de Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Muito Fácil* | Um chatbot de consultoria de viagens que processa apenas consultas relacionadas a viagens |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *Iniciante* | Um processador de qualificação de currículos usando o padrão map-reduce para avaliação em lote |
|
||||
| [Multi-Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Iniciante* | Um jogo de Tabu para comunicação assíncrona entre dois agentes |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Iniciante* | O agente de pesquisa está ficando não confiável... Vamos construir um processo de supervisão |
|
||||
| [Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Iniciante* | Uma demonstração de execução paralela que mostra aceleração de 3x |
|
||||
| [Fluxo Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Iniciante* | Uma demonstração de processamento de imagem paralela mostrando aceleração de 8x com múltiplos filtros |
|
||||
| [Voto da Maioria](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Iniciante* | Melhore a precisão do raciocínio agregando múltiplas tentativas de solução |
|
||||
| [Pensamento](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Iniciante* | Resolva problemas complexos de raciocínio através de Cadeia de Pensamento |
|
||||
| [Memória](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Iniciante* | Um chatbot com memória de curto e longo prazo |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *Iniciante* | Converta linguagem natural para consultas SQL com um loop de auto-depuração |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Iniciante* | Agente usando Protocolo de Contexto de Modelo para operações numéricas |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *Iniciante* | Agente envolvido com protocolo Agente-para-Agente para comunicação entre agentes |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *Iniciante* | Um serviço web mínimo para um loop de revisão humana com atualizações SSE |
|
||||
|
||||
</div>
|
||||
|
||||
👀 Quer ver outros tutoriais para iniciantes? [Crie uma issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Como Usar Pocket Flow?
|
||||
## Como usar o Pocket Flow?
|
||||
|
||||
🚀 Através da **Codificação Agêntica**—o paradigma mais rápido de desenvolvimento de aplicativos LLM—onde *humanos projetam* e *agentes codificam*!
|
||||
🚀 Através da **Programação Agêntica**—o paradigma mais rápido de desenvolvimento de aplicativos LLM—onde *humanos projetam* e *agentes programam*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -104,17 +108,16 @@ A partir daí, é fácil implementar padrões de design populares como ([Multi-]
|
|||
|
||||
| Nome do App | Dificuldade | Tópicos | Design Humano | Código do Agente |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Construir Cursor com Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Logo chegaremos à singularidade ...</sup></sub> | ★★★ <br> *Avançado* | [Agente](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Doc de Design](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Pergunte ao AI Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Pergunte ao AI Paul Graham, caso você não seja aceito</sup></sub> | ★★☆ <br> *Médio* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Doc de Design](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Resumidor de Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Explica vídeos do YouTube como se você tivesse 5 anos </sup></sub> | ★☆☆ <br> *Iniciante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Doc de Design](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Gerador de Aberturas Frias](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Quebra-gelos instantâneos que transformam leads frios em quentes </sup></sub> | ★☆☆ <br> *Iniciante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Busca Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Doc de Design](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [Construir o Cursor com o Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Chegaremos à singularidade em breve ...</sup></sub> | ★★★ <br> *Avançado* | [Agente](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Documento de Design](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Código do Fluxo](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Construtor de Conhecimento de Codebase](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>A vida é muito curta para ficar olhando para o código dos outros em confusão</sup></sub> | ★★☆ <br> *Médio* | [Fluxo de Trabalho](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [Documento de Design](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [Código do Fluxo](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [Pergunte ao IA Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Pergunte ao IA Paul Graham, caso você não entre</sup></sub> | ★★☆ <br> *Médio* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Documento de Design](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Código do Fluxo](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Resumidor do Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Explica vídeos do YouTube para você como se tivesse 5 anos </sup></sub> | ★☆☆ <br> *Iniciante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Documento de Design](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Código do Fluxo](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Gerador de Aberturas de E-mail](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Quebra-gelos instantâneos que transformam leads frios em quentes </sup></sub> | ★☆☆ <br> *Iniciante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Busca Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Documento de Design](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Código do Fluxo](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- Quer aprender **Codificação Agêntica**?
|
||||
- Quer aprender **Programação Agêntica**?
|
||||
|
||||
- Confira [meu YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) para tutorial em vídeo sobre como alguns aplicativos acima são feitos!
|
||||
- Confira [meu YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) para tutorial em vídeo sobre como alguns apps acima foram feitos!
|
||||
|
||||
- Quer construir seu próprio aplicativo LLM? Leia este [post](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)! Comece com [este modelo](https://github.com/The-Pocket/PocketFlow-Template-Python)!
|
||||
|
||||
- Quer aprender os passos detalhados? Leia este [Guia](https://the-pocket.github.io/PocketFlow/guide.html)!
|
||||
- Quer construir seu próprio App LLM? Leia este [post](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)! Comece com [este modelo](https://github.com/The-Pocket/PocketFlow-Template-Python)!
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-строчный минималистичный LLM фреймворк" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | [Español](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_SPANISH.md) | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | Русский | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -9,44 +10,43 @@
|
|||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||
</a>
|
||||
|
||||
Pocket Flow — это минималистичный фреймворк для LLM, состоящий всего из [100 строк](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
Pocket Flow — это [100-строчный](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) минималистичный LLM фреймворк
|
||||
|
||||
- **Легкий**: Всего 100 строк. Никакого избыточного кода, никаких зависимостей, никакой привязки к поставщикам.
|
||||
|
||||
- **Выразительный**: Всё, что вы любите — ([Мульти-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Агенты](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Рабочие процессы](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) и многое другое.
|
||||
- **Выразительный**: Всё, что вы любите—([Мульти-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Агенты](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Рабочие процессы](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) и многое другое.
|
||||
|
||||
- **[Агентное программирование](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Позвольте ИИ-агентам (например, Cursor AI) создавать других агентов — повышение продуктивности в 10 раз!
|
||||
- **[Агентное программирование](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Позвольте ИИ-агентам (например, Cursor AI) создавать агентов — повышение продуктивности в 10 раз!
|
||||
|
||||
- Для установки выполните ```pip install pocketflow``` или просто скопируйте [исходный код](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (всего 100 строк).
|
||||
|
||||
- Чтобы узнать больше, ознакомьтесь с [документацией](https://the-pocket.github.io/PocketFlow/). Чтобы понять мотивацию, прочитайте [историю создания](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
|
||||
- 🎉 Присоединяйтесь к нашему [Discord-серверу](https://discord.gg/hUHHE9Sa6T)!
|
||||
|
||||
- 🎉 Благодаря [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130) и [@ZebraRoy](https://www.github.com/ZebraRoy), у нас теперь есть [версия на TypeScript](https://github.com/The-Pocket/PocketFlow-Typescript)!
|
||||
Начало работы с Pocket Flow:
|
||||
- Для установки используйте ```pip install pocketflow``` или просто скопируйте [исходный код](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (всего 100 строк).
|
||||
- Чтобы узнать больше, ознакомьтесь с [документацией](https://the-pocket.github.io/PocketFlow/). Чтобы понять мотивацию, прочитайте [историю](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
- Есть вопросы? Воспользуйтесь этим [ИИ-ассистентом](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant), или [создайте задачу!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 Присоединяйтесь к нашему [Discord](https://discord.gg/hUHHE9Sa6T), чтобы связаться с другими разработчиками, использующими Pocket Flow!
|
||||
- 🎉 Pocket Flow изначально написан на Python, но теперь у нас есть версии на [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) и [Go](https://github.com/The-Pocket/PocketFlow-Go)!
|
||||
|
||||
## Почему Pocket Flow?
|
||||
|
||||
Текущие фреймворки для LLM перегружены... Для фреймворка LLM вам нужно всего 100 строк!
|
||||
Текущие LLM фреймворки слишком громоздки... Для LLM фреймворка достаточно всего 100 строк!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **Абстракция** | **Специфичные обертки для приложений** | **Специфичные обертки для вендоров** | **Строк кода** | **Размер** |
|
||||
| | **Абстракция** | **Обертки для приложений** | **Обертки для поставщиков** | **Строк** | **Размер** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | Agent, Chain | Много <br><sup><sub>(напр., QA, Summarization)</sub></sup> | Много <br><sup><sub>(напр., OpenAI, Pinecone и т.д.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | Много <br><sup><sub>(напр., FileReadTool, SerperDevTool)</sub></sup> | Много <br><sup><sub>(напр., OpenAI, Anthropic, Pinecone и т.д.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Несколько <br><sup><sub>(напр., CodeAgent, VisitWebTool)</sub></sup> | Несколько <br><sup><sub>(напр., DuckDuckGo, Hugging Face и т.д.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Несколько <br><sup><sub>(напр., Semantic Search)</sub></sup> | Несколько <br><sup><sub>(напр., PostgresStore, SqliteSaver и т.д.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Несколько <br><sup><sub>(напр., Tool Agent, Chat Agent)</sub></sup> | Много <sup><sub>[Опционально]<br> (напр., OpenAI, Pinecone и т.д.)</sub></sup> | 7K <br><sup><sub>(только ядро)</sub></sup> | +26MB <br><sup><sub>(только ядро)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **Нет** | **Нет** | **100** | **+56KB** |
|
||||
| LangChain | Агент, Цепочка | Много <br><sup><sub>(например, вопросы-ответы, суммаризация)</sub></sup> | Много <br><sup><sub>(например, OpenAI, Pinecone и т.д.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Агент, Цепочка | Много <br><sup><sub>(например, FileReadTool, SerperDevTool)</sub></sup> | Много <br><sup><sub>(например, OpenAI, Anthropic, Pinecone и т.д.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Агент | Некоторые <br><sup><sub>(например, CodeAgent, VisitWebTool)</sub></sup> | Некоторые <br><sup><sub>(например, DuckDuckGo, Hugging Face и т.д.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Агент, Граф | Некоторые <br><sup><sub>(например, Semantic Search)</sub></sup> | Некоторые <br><sup><sub>(например, PostgresStore, SqliteSaver и т.д.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Агент | Некоторые <br><sup><sub>(например, Tool Agent, Chat Agent)</sub></sup> | Много <sup><sub>[Опционально]<br> (например, OpenAI, Pinecone и т.д.)</sub></sup> | 7K <br><sup><sub>(только ядро)</sub></sup> | +26MB <br><sup><sub>(только ядро)</sub></sup> |
|
||||
| **PocketFlow** | **Граф** | **Нет** | **Нет** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
## Как работает Pocket Flow?
|
||||
|
||||
[100 строк](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) охватывают основную абстракцию фреймворков LLM: Граф!
|
||||
[100 строк](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) охватывают основную абстракцию LLM фреймворков: Граф!
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||
|
|
@ -59,62 +59,31 @@ Pocket Flow — это минималистичный фреймворк для
|
|||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
✨ Ниже представлены базовые руководства:
|
||||
✨ Ниже приведены базовые руководства:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Название | Сложность | Описание |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [Чат](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Простейший* | Базовый чат-бот с историей разговора |
|
||||
| [Структурированный вывод](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Простейший* | Извлечение структурированных данных из резюме с помощью промптов |
|
||||
| [Рабочий процесс](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Простейший* | Рабочий процесс создания текста, который составляет план, пишет контент и применяет стилистику |
|
||||
| [Агент](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Простейший* | Исследовательский агент, который может искать в интернете и отвечать на вопросы |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Простейший* | Простой процесс генерации с извлечением (Retrieval-augmented Generation) |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *Простейший* | Обработчик квалификаций резюме с использованием паттерна map-reduce для пакетной оценки |
|
||||
| [Потоковая обработка](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Простейший* | Демонстрация потоковой обработки LLM в реальном времени с возможностью прерывания |
|
||||
| [Ограничения чата](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Простейший* | Чат-бот для путешествий, обрабатывающий только запросы, связанные с путешествиями |
|
||||
| [Чат](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Элементарно* | Базовый чат-бот с историей разговора |
|
||||
| [Структурированный вывод](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Элементарно* | Извлечение структурированных данных из резюме с помощью промптов |
|
||||
| [Рабочий процесс](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Элементарно* | Процесс написания, включающий структурирование, создание контента и стилизацию |
|
||||
| [Агент](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Элементарно* | Исследовательский агент, который может искать в интернете и отвечать на вопросы |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Элементарно* | Простой процесс генерации с извлечением информации |
|
||||
| [Пакетная обработка](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *Элементарно* | Пакетный обработчик, который переводит markdown-контент на несколько языков |
|
||||
| [Потоковая передача](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Элементарно* | Демонстрация потоковой передачи LLM в реальном времени с возможностью прерывания пользователем |
|
||||
| [Защита чата](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Элементарно* | Чат-бот туристического консультанта, обрабатывающий только запросы, связанные с путешествиями |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *Начальный* | Обработчик квалификаций резюме с использованием шаблона map-reduce для пакетной оценки |
|
||||
| [Мульти-агент](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Начальный* | Игра в Табу для асинхронного общения между двумя агентами |
|
||||
| [Супервизор](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Начальный* | Исследовательский агент становится ненадежным... Построим процесс надзора |
|
||||
| [Параллельное выполнение](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Начальный* | Демонстрация параллельного выполнения с ускорением в 3 раза |
|
||||
| [Параллельный поток](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Начальный* | Демонстрация параллельной обработки изображений с ускорением в 8 раз при использовании нескольких фильтров |
|
||||
| [Голосование большинством](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Начальный* | Повышение точности рассуждений путем объединения нескольких попыток решения |
|
||||
| [Мышление](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Начальный* | Решение сложных задач рассуждения с помощью цепочки мыслей (Chain-of-Thought) |
|
||||
| [Наблюдатель](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Начальный* | Исследовательский агент становится ненадежным... Давайте создадим процесс наблюдения|
|
||||
| [Параллельная обработка](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Начальный* | Демонстрация параллельного выполнения, показывающая ускорение в 3 раза |
|
||||
| [Параллельный поток](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Начальный* | Демонстрация параллельной обработки изображений, показывающая ускорение в 8 раз с несколькими фильтрами |
|
||||
| [Голосование большинства](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Начальный* | Повышение точности рассуждений путем объединения нескольких попыток решения |
|
||||
| [Размышление](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Начальный* | Решение сложных задач рассуждения с помощью цепочки размышлений |
|
||||
| [Память](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Начальный* | Чат-бот с краткосрочной и долгосрочной памятью |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Начальный* | Агент с использованием протокола контекста модели (Model Context Protocol) для числовых операций |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *Начальный* | Преобразование естественного языка в SQL-запросы с автоматическим циклом отладки |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Начальный* | Агент, использующий протокол модельного контекста для числовых операций |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *Начальный* | Агент, обернутый протоколом Agent-to-Agent для межагентной коммуникации |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *Начальный* | Минимальный веб-сервис для цикла человеческой проверки с обновлениями SSE |
|
||||
|
||||
</div>
|
||||
|
||||
👀 Хотите увидеть другие руководства для начинающих? [Создайте задачу!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## Как использовать Pocket Flow?
|
||||
|
||||
🚀 Через **Агентное программирование** — самую быструю парадигму разработки LLM-приложений, где *люди проектируют*, а *агенты программируют*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to" target="_blank">
|
||||
<img src="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F423a39af-49e8-483b-bc5a-88cc764350c6_1050x588.png" width="700" alt="IMAGE ALT TEXT" style="cursor: pointer;">
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
✨ Ниже представлены примеры более сложных LLM-приложений:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Название приложения | Сложность | Темы | Дизайн от человека | Код от агента |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Создаем Cursor с помощью Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Скоро достигнем сингулярности ...</sup></sub> | ★★★ <br> *Продвинутый* | [Агент](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Дизайн-документ](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Код потока](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Спроси AI Пола Грэма](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Спроси AI Пола Грэма, если не попал в программу</sup></sub> | ★★☆ <br> *Средний* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Дизайн-документ](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Код потока](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Youtube Summarizer](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Объясняет YouTube-видео так, как будто вам 5 лет </sup></sub> | ★☆☆ <br> *Начальный* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Дизайн-документ](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Код потока](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Генератор "холодных" открытий](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Мгновенные ледоколы, превращающие холодные контакты в горячие </sup></sub> | ★☆☆ <br> *Начальный* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Веб-поиск](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Дизайн-документ](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Код потока](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- Хотите изучить **Агентное программирование**?
|
||||
|
||||
- Посмотрите [мой YouTube-канал](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) для видеоуроков о том, как были созданы некоторые вышеуказанные приложения!
|
||||
|
||||
- Хотите создать свое собственное LLM-приложение? Прочитайте эту [статью](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)! Начните с [этого шаблона](https://github.com/The-Pocket/PocketFlow-Template-Python)!
|
||||
|
||||
- Хотите узнать подробные шаги? Прочитайте это [Руководство](https://the-pocket.github.io/PocketFlow/guide.html)!
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" width="600"/>
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-line minimalist LLM framework" width="600"/>
|
||||
</div>
|
||||
|
||||
[English](https://github.com/The-Pocket/PocketFlow/blob/main/README.md) | [中文](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_CHINESE.md) | Español | [日本語](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_JAPANESE.md) | [Deutsch](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_GERMAN.md) | [Русский](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_RUSSIAN.md) | [Português](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_PORTUGUESE.md) | [Français](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_FRENCH.md) | [한국어](https://github.com/The-Pocket/PocketFlow/blob/main/cookbook/pocketflow-batch/translations/README_KOREAN.md)
|
||||
|
||||

|
||||
[](https://the-pocket.github.io/PocketFlow/)
|
||||
|
|
@ -9,38 +10,37 @@
|
|||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||
</a>
|
||||
|
||||
Pocket Flow es un framework minimalista para LLM de [100 líneas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
Pocket Flow es un framework minimalista de LLM en [100 líneas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py)
|
||||
|
||||
- **Ligero**: Solo 100 líneas. Cero redundancia, cero dependencias, cero bloqueo de proveedor.
|
||||
- **Ligero**: Solo 100 líneas. Cero hinchazón, cero dependencias, cero bloqueo de proveedor.
|
||||
|
||||
- **Expresivo**: Todo lo que te gusta—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Flujo de trabajo](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), y más.
|
||||
- **Expresivo**: Todo lo que te gusta—([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Flujos de trabajo](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), y más.
|
||||
|
||||
- **[Programación Agéntica](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Deja que los Agentes de IA (por ejemplo, Cursor AI) construyan Agentes—¡potencia tu productividad 10 veces!
|
||||
- **[Programación con Agentes](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)**: Deja que los Agentes de IA (por ejemplo, Cursor AI) construyan Agentes—¡aumento de productividad de 10x!
|
||||
|
||||
Comienza con Pocket Flow:
|
||||
- Para instalar, ```pip install pocketflow``` o simplemente copia el [código fuente](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/__init__.py) (solo 100 líneas).
|
||||
|
||||
- Para saber más, consulta la [documentación](https://the-pocket.github.io/PocketFlow/). Para conocer la motivación, lee la [historia](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
|
||||
- 🎉 ¡Únete a nuestro [discord](https://discord.gg/hUHHE9Sa6T)!
|
||||
|
||||
- 🎉 Gracias a [@zvictor](https://www.github.com/zvictor), [@jackylee941130](https://www.github.com/jackylee941130) y [@ZebraRoy](https://www.github.com/ZebraRoy), ¡ahora tenemos una [versión TypeScript](https://github.com/The-Pocket/PocketFlow-Typescript)!
|
||||
- Para aprender más, consulta la [documentación](https://the-pocket.github.io/PocketFlow/). Para conocer la motivación, lee la [historia](https://zacharyhuang.substack.com/p/i-built-an-llm-framework-in-just).
|
||||
- ¿Tienes preguntas? Consulta este [Asistente de IA](https://chatgpt.com/g/g-677464af36588191b9eba4901946557b-pocket-flow-assistant), o [crea un issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
- 🎉 ¡Únete a nuestro [Discord](https://discord.gg/hUHHE9Sa6T) para conectar con otros desarrolladores que construyen con Pocket Flow!
|
||||
- 🎉 Pocket Flow inicialmente es Python, ¡pero ahora tenemos versiones en [Typescript](https://github.com/The-Pocket/PocketFlow-Typescript), [Java](https://github.com/The-Pocket/PocketFlow-Java), [C++](https://github.com/The-Pocket/PocketFlow-CPP) y [Go](https://github.com/The-Pocket/PocketFlow-Go)!
|
||||
|
||||
## ¿Por qué Pocket Flow?
|
||||
|
||||
Los frameworks LLM actuales están sobrecargados... ¡Solo necesitas 100 líneas para un Framework LLM!
|
||||
Los frameworks actuales de LLM están sobrecargados... ¡Solo necesitas 100 líneas para un Framework LLM!
|
||||
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
||||
|
||||
|
||||
| | **Abstracción** | **Envoltorios específicos de aplicación** | **Envoltorios específicos de proveedor** | **Líneas** | **Tamaño** |
|
||||
| | **Abstracción** | **Envoltorios Específicos para Apps** | **Envoltorios Específicos para Proveedores** | **Líneas** | **Tamaño** |
|
||||
|----------------|:-----------------------------: |:-----------------------------------------------------------:|:------------------------------------------------------------:|:---------------:|:----------------------------:|
|
||||
| LangChain | Agente, Cadena | Muchos <br><sup><sub>(p.ej., QA, Resumen)</sub></sup> | Muchos <br><sup><sub>(p.ej., OpenAI, Pinecone, etc.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agente, Cadena | Muchos <br><sup><sub>(p.ej., FileReadTool, SerperDevTool)</sub></sup> | Muchos <br><sup><sub>(p.ej., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agente | Algunos <br><sup><sub>(p.ej., CodeAgent, VisitWebTool)</sub></sup> | Algunos <br><sup><sub>(p.ej., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agente, Grafo | Algunos <br><sup><sub>(p.ej., Búsqueda Semántica)</sub></sup> | Algunos <br><sup><sub>(p.ej., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agente | Algunos <br><sup><sub>(p.ej., Tool Agent, Chat Agent)</sub></sup> | Muchos <sup><sub>[Opcional]<br> (p.ej., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(solo núcleo)</sub></sup> | +26MB <br><sup><sub>(solo núcleo)</sub></sup> |
|
||||
| **PocketFlow** | **Grafo** | **Ninguno** | **Ninguno** | **100** | **+56KB** |
|
||||
| LangChain | Agent, Chain | Muchos <br><sup><sub>(e.g., QA, Summarization)</sub></sup> | Muchos <br><sup><sub>(e.g., OpenAI, Pinecone, etc.)</sub></sup> | 405K | +166MB |
|
||||
| CrewAI | Agent, Chain | Muchos <br><sup><sub>(e.g., FileReadTool, SerperDevTool)</sub></sup> | Muchos <br><sup><sub>(e.g., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
||||
| SmolAgent | Agent | Algunos <br><sup><sub>(e.g., CodeAgent, VisitWebTool)</sub></sup> | Algunos <br><sup><sub>(e.g., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
||||
| LangGraph | Agent, Graph | Algunos <br><sup><sub>(e.g., Semantic Search)</sub></sup> | Algunos <br><sup><sub>(e.g., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
||||
| AutoGen | Agent | Algunos <br><sup><sub>(e.g., Tool Agent, Chat Agent)</sub></sup> | Muchos <sup><sub>[Opcional]<br> (e.g., OpenAI, Pinecone, etc.)</sub></sup> | 7K <br><sup><sub>(solo core)</sub></sup> | +26MB <br><sup><sub>(solo core)</sub></sup> |
|
||||
| **PocketFlow** | **Graph** | **Ninguno** | **Ninguno** | **100** | **+56KB** |
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -53,42 +53,46 @@ Las [100 líneas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/
|
|||
</div>
|
||||
<br>
|
||||
|
||||
A partir de ahí, es fácil implementar patrones de diseño populares como ([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Flujo de trabajo](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), etc.
|
||||
Desde ahí, es fácil implementar patrones de diseño populares como ([Multi-](https://the-pocket.github.io/PocketFlow/design_pattern/multi_agent.html))[Agentes](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html), [Flujo de trabajo](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html), [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html), etc.
|
||||
<br>
|
||||
<div align="center">
|
||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||
</div>
|
||||
<br>
|
||||
✨ A continuación se presentan tutoriales básicos:
|
||||
✨ A continuación hay tutoriales básicos:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Nombre | Dificultad | Descripción |
|
||||
| :-------------: | :-------------: | :--------------------- |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Novato* | Un bot de chat básico con historial de conversación |
|
||||
| [Salida Estructurada](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Novato* | Extracción de datos estructurados de currículums mediante prompts |
|
||||
| [Flujo de Trabajo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Novato* | Un flujo de escritura que esquematiza, escribe contenido y aplica estilo |
|
||||
| [Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Novato* | Un agente de investigación que puede buscar en la web y responder preguntas |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Novato* | Un proceso simple de Generación aumentada por Recuperación |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ☆☆☆ <br> *Novato* | Un procesador de calificación de currículums usando el patrón map-reduce para evaluación por lotes |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Novato* | Una demo de streaming LLM en tiempo real con capacidad de interrupción por el usuario |
|
||||
| [Chat con Barreras](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Novato* | Un chatbot asesor de viajes que solo procesa consultas relacionadas con viajes |
|
||||
| [Multi-Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Principiante* | Un juego de palabras tabú para comunicación asíncrona entre dos agentes |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Principiante* | El agente de investigación se está volviendo poco fiable... ¡Construyamos un proceso de supervisión! |
|
||||
| [Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Principiante* | Una demo de ejecución paralela que muestra una aceleración de 3x |
|
||||
| [Flujo Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Principiante* | Una demo de procesamiento de imágenes en paralelo que muestra una aceleración de 8x con múltiples filtros |
|
||||
| [Voto por Mayoría](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Principiante* | Mejora la precisión del razonamiento agregando múltiples intentos de solución |
|
||||
| [Pensamiento](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Principiante* | Resuelve problemas de razonamiento complejos a través de Cadena de Pensamiento |
|
||||
| [Memoria](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Principiante* | Un bot de chat con memoria a corto y largo plazo |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Principiante* | Agente que usa el Protocolo de Contexto de Modelo para operaciones numéricas |
|
||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Principiante* | Un chatbot básico con historial de conversación |
|
||||
| [Salida Estructurada](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-structured-output) | ☆☆☆ <br> *Principiante* | Extracción de datos estructurados de currículums mediante prompts |
|
||||
| [Flujo de Trabajo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-workflow) | ☆☆☆ <br> *Principiante* | Un flujo de escritura que esquematiza, escribe contenido y aplica estilo |
|
||||
| [Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *Principiante* | Un agente de investigación que puede buscar en la web y responder preguntas |
|
||||
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Principiante* | Un proceso simple de Generación aumentada por Recuperación |
|
||||
| [Lote](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-batch) | ☆☆☆ <br> *Principiante* | Un procesador por lotes que traduce contenido markdown a múltiples idiomas |
|
||||
| [Streaming](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-llm-streaming) | ☆☆☆ <br> *Principiante* | Una demo de streaming LLM en tiempo real con capacidad de interrupción del usuario |
|
||||
| [Guardrail de Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Principiante* | Un chatbot de asesoramiento de viajes que solo procesa consultas relacionadas con viajes |
|
||||
| [Map-Reduce](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-map-reduce) | ★☆☆ <br> *Básico* | Un procesador de calificación de currículums usando el patrón map-reduce para evaluación por lotes |
|
||||
| [Multi-Agente](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <br> *Básico* | Un juego de palabras Tabú para comunicación asíncrona entre dos agentes |
|
||||
| [Supervisor](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *Básico* | El agente de investigación es poco fiable... ¡Construyamos un proceso de supervisión! |
|
||||
| [Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch) | ★☆☆ <br> *Básico* | Una demo de ejecución paralela que muestra una aceleración de 3x |
|
||||
| [Flujo Paralelo](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-parallel-batch-flow) | ★☆☆ <br> *Básico* | Una demo de procesamiento de imágenes paralelo que muestra una aceleración de 8x con múltiples filtros |
|
||||
| [Voto por Mayoría](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Básico* | Mejora la precisión del razonamiento agregando múltiples intentos de solución |
|
||||
| [Pensamiento](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Básico* | Resuelve problemas de razonamiento complejos a través de Cadena de Pensamiento |
|
||||
| [Memoria](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *Básico* | Un chatbot con memoria a corto y largo plazo |
|
||||
| [Text2SQL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-text2sql) | ★☆☆ <br> *Básico* | Convierte lenguaje natural a consultas SQL con un bucle de auto-depuración |
|
||||
| [MCP](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-mcp) | ★☆☆ <br> *Básico* | Agente que utiliza el Protocolo de Contexto de Modelo para operaciones numéricas |
|
||||
| [A2A](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-a2a) | ★☆☆ <br> *Básico* | Agente envuelto con protocolo Agente-a-Agente para comunicación entre agentes |
|
||||
| [Web HITL](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-web-hitl) | ★☆☆ <br> *Básico* | Un servicio web mínimo para un bucle de revisión humana con actualizaciones SSE |
|
||||
|
||||
</div>
|
||||
|
||||
👀 ¿Quieres ver otros tutoriales para novatos? [¡Crea un issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
👀 ¿Quieres ver otros tutoriales para principiantes? [¡Crea un issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||
|
||||
## ¿Cómo usar Pocket Flow?
|
||||
|
||||
🚀 A través de **Programación Agéntica** — el paradigma de desarrollo de aplicaciones LLM más rápido — donde *los humanos diseñan* y *los agentes programan*!
|
||||
🚀 A través de **Programación con Agentes**—el paradigma de desarrollo de aplicaciones LLM más rápido—donde *los humanos diseñan* y *los agentes programan*!
|
||||
|
||||
<br>
|
||||
<div align="center">
|
||||
|
|
@ -98,23 +102,22 @@ A partir de ahí, es fácil implementar patrones de diseño populares como ([Mul
|
|||
</div>
|
||||
<br>
|
||||
|
||||
✨ A continuación hay ejemplos de aplicaciones LLM más complejas:
|
||||
✨ A continuación se muestran ejemplos de aplicaciones LLM más complejas:
|
||||
|
||||
<div align="center">
|
||||
|
||||
| Nombre de la App | Dificultad | Temas | Diseño Humano | Código de Agente |
|
||||
| Nombre de App | Dificultad | Temas | Diseño Humano | Código Agente |
|
||||
| :-------------: | :-------------: | :---------------------: | :---: | :---: |
|
||||
| [Construir Cursor con Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Pronto llegaremos a la singularidad...</sup></sub> | ★★★ <br> *Avanzado* | [Agente](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Código de Flujo](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Pregunta a IA Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Pregunta a IA Paul Graham, en caso de que no entres</sup></sub> | ★★☆ <br> *Medio* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Código de Flujo](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Resumidor de Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Te explica videos de YouTube como si tuvieras 5 años </sup></sub> | ★☆☆ <br> *Principiante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Código de Flujo](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Generador de Introducción Fría](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Rompehielos instantáneos que calientan contactos fríos </sup></sub> | ★☆☆ <br> *Principiante* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Búsqueda Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Código de Flujo](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
| [Construir Cursor con Cursor](https://github.com/The-Pocket/Tutorial-Cursor) <br> <sup><sub>Pronto llegaremos a la singularidad ...</sup></sub> | ★★★ <br> *Avanzado* | [Agente](https://the-pocket.github.io/PocketFlow/design_pattern/agent.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Cursor/blob/main/flow.py)
|
||||
| [Constructor de Conocimiento de Base de Código](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge) <br> <sup><sub>La vida es muy corta para estar mirando código ajeno confundido</sup></sub> | ★★☆ <br> *Medio* | [Flujo de trabajo](https://the-pocket.github.io/PocketFlow/design_pattern/workflow.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/blob/main/flow.py)
|
||||
| [Pregunta a la IA Paul Graham](https://github.com/The-Pocket/Tutorial-YC-Partner) <br> <sup><sub>Pregunta a la IA Paul Graham, en caso de que no entres</sup></sub> | ★★☆ <br> *Medio* | [RAG](https://the-pocket.github.io/PocketFlow/design_pattern/rag.html) <br> [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [TTS](https://the-pocket.github.io/PocketFlow/utility_function/text_to_speech.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-AI-Paul-Graham/blob/main/flow.py)
|
||||
| [Resumen de Youtube](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple) <br> <sup><sub> Explica Videos de YouTube como si tuvieras 5 años </sup></sub> | ★☆☆ <br> *Básico* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Youtube-Made-Simple/blob/main/flow.py)
|
||||
| [Generador de Intros Frías](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization) <br> <sup><sub> Rompehielos instantáneos que convierten leads fríos en calientes </sup></sub> | ★☆☆ <br> *Básico* | [Map Reduce](https://the-pocket.github.io/PocketFlow/design_pattern/mapreduce.html) <br> [Búsqueda Web](https://the-pocket.github.io/PocketFlow/utility_function/websearch.html) | [Doc de Diseño](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/docs/design.md) | [Código Flow](https://github.com/The-Pocket/Tutorial-Cold-Email-Personalization/blob/master/flow.py)
|
||||
|
||||
</div>
|
||||
|
||||
- ¿Quieres aprender **Programación Agéntica**?
|
||||
- ¿Quieres aprender **Programación con Agentes**?
|
||||
|
||||
- ¡Consulta [mi YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) para tutoriales en video sobre cómo se hicieron algunas aplicaciones anteriores!
|
||||
- ¡Consulta [mi YouTube](https://www.youtube.com/@ZacharyLLM?sub_confirmation=1) para ver tutoriales en video sobre cómo se crearon algunas de las aplicaciones anteriores!
|
||||
|
||||
- ¿Quieres construir tu propia aplicación LLM? ¡Lee este [post](https://zacharyhuang.substack.com/p/agentic-coding-the-most-fun-way-to)! ¡Comienza con [esta plantilla](https://github.com/The-Pocket/PocketFlow-Template-Python)!
|
||||
|
||||
- ¿Quieres aprender los pasos detallados? ¡Lee esta [Guía](https://the-pocket.github.io/PocketFlow/guide.html)!
|
||||
|
|
@ -5,12 +5,16 @@ def call_llm(prompt):
|
|||
client = Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY", "your-api-key"))
|
||||
response = client.messages.create(
|
||||
model="claude-3-7-sonnet-20250219",
|
||||
max_tokens=10000,
|
||||
max_tokens=20000,
|
||||
thinking={
|
||||
"type": "enabled",
|
||||
"budget_tokens": 16000
|
||||
},
|
||||
messages=[
|
||||
{"role": "user", "content": prompt}
|
||||
]
|
||||
)
|
||||
return response.content[0].text
|
||||
return response.content[1].text
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("## Testing call_llm")
|
||||
|
|
|
|||
|
|
@ -1,52 +1,69 @@
|
|||
# Sequential vs Parallel Processing
|
||||
# PocketFlow Parallel Batch Translation Example
|
||||
|
||||
Demonstrates how AsyncParallelBatchNode accelerates processing by 3x over AsyncBatchNode.
|
||||
This example demonstrates translating a document (the main PocketFlow README.md) into multiple target languages concurrently using PocketFlow's parallel batch processing capabilities (`AsyncParallelBatchNode` and `AsyncFlow`).
|
||||
|
||||
## Features
|
||||
It showcases how to leverage asynchronous operations and parallelism to potentially speed up I/O-bound tasks, such as making multiple LLM API calls simultaneously.
|
||||
|
||||
- Processes identical tasks with two approaches
|
||||
- Compares sequential vs parallel execution time
|
||||
- Shows 3x speed improvement with parallel processing
|
||||
## Goal
|
||||
|
||||
## Run It
|
||||
Translate the content of `PocketFlow/README.md` into a predefined list of languages:
|
||||
`["Chinese", "Spanish", "Japanese", "German", "Russian", "Portuguese", "French", "Korean"]`
|
||||
|
||||
The primary focus is to execute these translation tasks *in parallel* and measure the total time taken, allowing for comparison with a sequential approach (like the one demonstrated in the standard `pocketflow-batch` example).
|
||||
|
||||
## PocketFlow Concepts Used
|
||||
|
||||
- **`AsyncParallelBatchNode`**: Processes an iterable (the list of target languages) by running an asynchronous task (translation using an LLM) for each item concurrently.
|
||||
- **`AsyncFlow`**: Manages the execution of flows containing asynchronous nodes.
|
||||
- **Asynchronous Utility**: A helper function (`call_llm_async`) that interacts with the Anthropic API asynchronously.
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
pocketflow-parallel-batch/
|
||||
├── main.py # Defines the PocketFlow node and flow, orchestrates the parallel translation
|
||||
├── utils.py # Contains the asynchronous `call_llm_async` utility using Anthropic API
|
||||
├── requirements.txt # Dependencies: pocketflow, anthropic, python-dotenv, httpx
|
||||
└── README.md # This explanation file
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
1. **Navigate to the example directory**:
|
||||
```bash
|
||||
cd cookbook/pocketflow-parallel-batch
|
||||
```
|
||||
2. **Create and activate a virtual environment** (recommended):
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate # Or `venv\Scripts\activate` on Windows
|
||||
```
|
||||
3. **Install dependencies**:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
4. **Set up Anthropic API Key**: Create a `.env` file in this directory:
|
||||
```
|
||||
ANTHROPIC_API_KEY=your_anthropic_api_key_here
|
||||
```
|
||||
Or, set the `ANTHROPIC_API_KEY` environment variable.
|
||||
|
||||
## Running the Example
|
||||
|
||||
Execute the main script from within the `pocketflow-parallel-batch` directory:
|
||||
|
||||
```bash
|
||||
pip install pocketflow
|
||||
python main.py
|
||||
```
|
||||
|
||||
## Output
|
||||
The script will:
|
||||
1. Read the content of `../../README.md`.
|
||||
2. Initiate the `AsyncFlow`.
|
||||
3. The `ParallelTranslateReadme` node will concurrently request translations for the README content into each target language via the Anthropic API.
|
||||
4. Print status messages for each requested and received translation.
|
||||
5. Report the list of languages for which translations were successfully generated.
|
||||
6. Display the total time taken for the entire parallel process.
|
||||
|
||||
```
|
||||
=== Running Sequential (AsyncBatchNode) ===
|
||||
[Sequential] Summarizing file1.txt...
|
||||
[Sequential] Summarizing file2.txt...
|
||||
[Sequential] Summarizing file3.txt...
|
||||
## Parallel vs. Sequential Comparison
|
||||
|
||||
=== Running Parallel (AsyncParallelBatchNode) ===
|
||||
[Parallel] Summarizing file1.txt...
|
||||
[Parallel] Summarizing file2.txt...
|
||||
[Parallel] Summarizing file3.txt...
|
||||
|
||||
Sequential took: 3.00 seconds
|
||||
Parallel took: 1.00 seconds
|
||||
```
|
||||
|
||||
## Key Points
|
||||
|
||||
- **Sequential**: Total time = sum of all item times
|
||||
- Good for: Rate-limited APIs, maintaining order
|
||||
|
||||
- **Parallel**: Total time ≈ longest single item time
|
||||
- Good for: I/O-bound tasks, independent operations
|
||||
|
||||
## Tech Dive Deep
|
||||
|
||||
- **Python's GIL** prevents true CPU-bound parallelism, but LLM calls are I/O-bound
|
||||
- **Async/await** overlaps waiting time between requests
|
||||
- Example: `await client.chat.completions.create(...)`
|
||||
- See: [OpenAI's async usage](https://github.com/openai/openai-python?tab=readme-ov-file#async-usage)
|
||||
|
||||
For maximum performance and cost efficiency, consider using batch APIs:
|
||||
- [OpenAI's Batch API](https://platform.openai.com/docs/guides/batch) lets you process multiple prompts in a single request
|
||||
- Reduces overhead and can be more cost-effective for large workloads
|
||||
Note the total execution time reported by this script. Compare it to the time it would take if each language translation were performed one after the other (sequentially). For tasks involving multiple independent API calls like this, the parallel approach using `AsyncParallelBatchNode` is expected to be significantly faster, limited primarily by the LLM API's response time and potential rate limits, rather than the sum of individual call durations.
|
||||
|
|
@ -1,103 +1,103 @@
|
|||
import asyncio
|
||||
import time
|
||||
import os
|
||||
from pocketflow import AsyncFlow, AsyncParallelBatchNode
|
||||
from utils import call_llm
|
||||
|
||||
from pocketflow import AsyncBatchNode, AsyncParallelBatchNode, AsyncFlow
|
||||
|
||||
####################################
|
||||
# Dummy async function (1s delay)
|
||||
####################################
|
||||
async def dummy_llm_summarize(text):
|
||||
"""Simulates an async LLM call that takes 1 second."""
|
||||
await asyncio.sleep(1)
|
||||
return f"Summarized({len(text)} chars)"
|
||||
|
||||
###############################################
|
||||
# 1) AsyncBatchNode (sequential) version
|
||||
###############################################
|
||||
|
||||
class SummariesAsyncNode(AsyncBatchNode):
|
||||
"""
|
||||
Processes items sequentially in an async manner.
|
||||
The next item won't start until the previous item has finished.
|
||||
"""
|
||||
# --- Node Definitions ---
|
||||
|
||||
class TranslateTextNodeParallel(AsyncParallelBatchNode):
|
||||
"""Translates README into multiple languages in parallel and saves files."""
|
||||
async def prep_async(self, shared):
|
||||
# Return a list of items to process.
|
||||
# Each item is (filename, content).
|
||||
return list(shared["data"].items())
|
||||
"""Reads text and target languages from shared store."""
|
||||
text = shared.get("text", "(No text provided)")
|
||||
languages = shared.get("languages", [])
|
||||
return [(text, lang) for lang in languages]
|
||||
|
||||
async def exec_async(self, item):
|
||||
filename, content = item
|
||||
print(f"[Sequential] Summarizing {filename}...")
|
||||
summary = await dummy_llm_summarize(content)
|
||||
return (filename, summary)
|
||||
async def exec_async(self, data_tuple):
|
||||
"""Calls the async LLM utility for each target language."""
|
||||
text, language = data_tuple
|
||||
|
||||
prompt = f"""
|
||||
Please translate the following markdown file into {language}.
|
||||
But keep the original markdown format, links and code blocks.
|
||||
Directly return the translated text, without any other text or comments.
|
||||
|
||||
Original:
|
||||
{text}
|
||||
|
||||
Translated:"""
|
||||
|
||||
result = await call_llm(prompt)
|
||||
print(f"Translated {language} text")
|
||||
return {"language": language, "translation": result}
|
||||
|
||||
async def post_async(self, shared, prep_res, exec_res_list):
|
||||
# exec_res_list is a list of (filename, summary)
|
||||
shared["sequential_summaries"] = dict(exec_res_list)
|
||||
return "done_sequential"
|
||||
"""Stores the dictionary of {language: translation} pairs and writes to files."""
|
||||
output_dir = shared.get("output_dir", "translations")
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
###############################################
|
||||
# 2) AsyncParallelBatchNode (concurrent) version
|
||||
###############################################
|
||||
for result in exec_res_list:
|
||||
if isinstance(result, dict):
|
||||
language = result.get("language", "unknown")
|
||||
translation = result.get("translation", "")
|
||||
|
||||
class SummariesAsyncParallelNode(AsyncParallelBatchNode):
|
||||
"""
|
||||
Processes items in parallel. Many LLM calls start at once.
|
||||
"""
|
||||
filename = os.path.join(output_dir, f"README_{language.upper()}.md")
|
||||
try:
|
||||
import aiofiles
|
||||
async with aiofiles.open(filename, "w", encoding="utf-8") as f:
|
||||
await f.write(translation)
|
||||
print(f"Saved translation to {filename}")
|
||||
except ImportError:
|
||||
with open(filename, "w", encoding="utf-8") as f:
|
||||
f.write(translation)
|
||||
print(f"Saved translation to {filename} (sync fallback)")
|
||||
except Exception as e:
|
||||
print(f"Error writing file {filename}: {e}")
|
||||
else:
|
||||
print(f"Warning: Skipping invalid result item: {result}")
|
||||
return "default"
|
||||
|
||||
async def prep_async(self, shared):
|
||||
return list(shared["data"].items())
|
||||
# --- Flow Creation ---
|
||||
|
||||
async def exec_async(self, item):
|
||||
filename, content = item
|
||||
print(f"[Parallel] Summarizing {filename}...")
|
||||
summary = await dummy_llm_summarize(content)
|
||||
return (filename, summary)
|
||||
def create_parallel_translation_flow():
|
||||
"""Creates and returns the parallel translation flow."""
|
||||
translate_node = TranslateTextNodeParallel(max_retries=3)
|
||||
return AsyncFlow(start=translate_node)
|
||||
|
||||
async def post_async(self, shared, prep_res, exec_res_list):
|
||||
shared["parallel_summaries"] = dict(exec_res_list)
|
||||
return "done_parallel"
|
||||
|
||||
###############################################
|
||||
# Demo comparing the two approaches
|
||||
###############################################
|
||||
# --- Main Execution ---
|
||||
|
||||
async def main():
|
||||
# We'll use the same data for both flows
|
||||
shared_data = {
|
||||
"data": {
|
||||
"file1.txt": "Hello world 1",
|
||||
"file2.txt": "Hello world 2",
|
||||
"file3.txt": "Hello world 3",
|
||||
}
|
||||
source_readme_path = "../../README.md"
|
||||
try:
|
||||
with open(source_readme_path, "r", encoding='utf-8') as f:
|
||||
text = f.read()
|
||||
except FileNotFoundError:
|
||||
print(f"Error: Could not find the source README file at {source_readme_path}")
|
||||
exit(1)
|
||||
except Exception as e:
|
||||
print(f"Error reading file {source_readme_path}: {e}")
|
||||
exit(1)
|
||||
|
||||
shared = {
|
||||
"text": text,
|
||||
"languages": ["Chinese", "Spanish", "Japanese", "German", "Russian", "Portuguese", "French", "Korean"],
|
||||
"output_dir": "translations"
|
||||
}
|
||||
|
||||
# 1) Run the sequential version
|
||||
seq_node = SummariesAsyncNode()
|
||||
seq_flow = AsyncFlow(start=seq_node)
|
||||
translation_flow = create_parallel_translation_flow()
|
||||
|
||||
print("\n=== Running Sequential (AsyncBatchNode) ===")
|
||||
t0 = time.time()
|
||||
await seq_flow.run_async(shared_data)
|
||||
t1 = time.time()
|
||||
print(f"Starting parallel translation into {len(shared['languages'])} languages...")
|
||||
start_time = time.perf_counter()
|
||||
|
||||
# 2) Run the parallel version
|
||||
par_node = SummariesAsyncParallelNode()
|
||||
par_flow = AsyncFlow(start=par_node)
|
||||
await translation_flow.run_async(shared)
|
||||
|
||||
print("\n=== Running Parallel (AsyncParallelBatchNode) ===")
|
||||
t2 = time.time()
|
||||
await par_flow.run_async(shared_data)
|
||||
t3 = time.time()
|
||||
|
||||
# Show times
|
||||
print("\n--- Results ---")
|
||||
print(f"Sequential Summaries: {shared_data.get('sequential_summaries')}")
|
||||
print(f"Parallel Summaries: {shared_data.get('parallel_summaries')}")
|
||||
|
||||
print(f"Sequential took: {t1 - t0:.2f} seconds")
|
||||
print(f"Parallel took: {t3 - t2:.2f} seconds")
|
||||
end_time = time.perf_counter()
|
||||
duration = end_time - start_time
|
||||
print(f"\nTotal parallel translation time: {duration:.4f} seconds")
|
||||
print("\n=== Translation Complete ===")
|
||||
print(f"Translations saved to: {shared['output_dir']}")
|
||||
print("============================")
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
pocketflow>=0.0.2
|
||||
anthropic>=0.15.0
|
||||
python-dotenv
|
||||
httpx
|
||||
aiofiles
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
import os
|
||||
import asyncio
|
||||
from anthropic import AsyncAnthropic
|
||||
|
||||
# Async version of the simple wrapper, using Anthropic
|
||||
async def call_llm(prompt):
|
||||
"""Async wrapper for Anthropic API call."""
|
||||
client = AsyncAnthropic(api_key=os.environ.get("ANTHROPIC_API_KEY", "your-api-key"))
|
||||
response = await client.messages.create(
|
||||
model="claude-3-7-sonnet-20250219",
|
||||
max_tokens=20000,
|
||||
thinking={
|
||||
"type": "enabled",
|
||||
"budget_tokens": 16000
|
||||
},
|
||||
messages=[
|
||||
{"role": "user", "content": prompt}
|
||||
],
|
||||
)
|
||||
return response.content[1].text
|
||||
|
||||
if __name__ == "__main__":
|
||||
async def run_test():
|
||||
print("## Testing async call_llm with Anthropic")
|
||||
prompt = "In a few words, what is the meaning of life?"
|
||||
print(f"## Prompt: {prompt}")
|
||||
response = await call_llm(prompt)
|
||||
print(f"## Response: {response}")
|
||||
|
||||
asyncio.run(run_test())
|
||||
Loading…
Reference in New Issue