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"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/title.png" alt="Pocket Flow – 100-line minimalist LLM framework" width="600"/>
|
||||||
</div>
|
</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)
|
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 os
|
||||||
|
import time
|
||||||
from pocketflow import BatchNode, Flow
|
from pocketflow import BatchNode, Flow
|
||||||
from utils import call_llm
|
from utils import call_llm
|
||||||
|
|
||||||
|
|
@ -25,9 +26,7 @@ Original:
|
||||||
Translated:"""
|
Translated:"""
|
||||||
|
|
||||||
result = call_llm(prompt)
|
result = call_llm(prompt)
|
||||||
|
|
||||||
print(f"Translated {language} text")
|
print(f"Translated {language} text")
|
||||||
|
|
||||||
return {"language": language, "translation": result}
|
return {"language": language, "translation": result}
|
||||||
|
|
||||||
def post(self, shared, prep_res, exec_res_list):
|
def post(self, shared, prep_res, exec_res_list):
|
||||||
|
|
@ -58,11 +57,20 @@ if __name__ == "__main__":
|
||||||
"output_dir": "translations"
|
"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
|
# Run the translation flow
|
||||||
translate_node = TranslateTextNode(max_retries=3)
|
translate_node = TranslateTextNode(max_retries=3)
|
||||||
flow = Flow(start=translate_node)
|
flow = Flow(start=translate_node)
|
||||||
flow.run(shared)
|
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("\n=== Translation Complete ===")
|
||||||
print(f"Translations saved to: {shared['output_dir']}")
|
print(f"Translations saved to: {shared['output_dir']}")
|
||||||
print("============================")
|
print("============================")
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
<div align="center">
|
<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>
|
</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/)
|
[](https://the-pocket.github.io/PocketFlow/)
|
||||||
|
|
@ -9,51 +10,50 @@
|
||||||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||||
</a>
|
</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行代码。零臃肿,零依赖,零供应商锁定。
|
- **轻量级**:仅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行)。
|
开始使用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://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)!
|
- 🎉 加入我们的[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)版本!
|
||||||
- 🎉 感谢[@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?
|
## 为什么选择Pocket Flow?
|
||||||
|
|
||||||
当前的LLM框架过于臃肿... LLM框架只需要100行代码就够了!
|
当前的LLM框架都过于臃肿... 而LLM框架其实只需要100行代码!
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| LangChain | Agent, Chain | 众多 <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 |
|
| CrewAI | Agent, Chain | 众多 <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 |
|
| SmolAgent | Agent | 一些 <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 |
|
| LangGraph | Agent, Graph | 一些 <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> |
|
| 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** | **图** | **无** | **无** | **100** | **+56KB** |
|
| **PocketFlow** | **Graph** | **无** | **无** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</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框架的核心抽象:图(Graph)!
|
||||||
<br>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
<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-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-workflow) | ☆☆☆ <br> *入门* | 一个写作工作流程,包括大纲、内容编写和样式应用 |
|
||||||
| [智能体](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <br> *简单* | 能够搜索网络并回答问题的研究智能体 |
|
| [智能体](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆
|
||||||
| [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)!
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
<div align="center">
|
<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>
|
</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/)
|
[](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)
|
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 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).
|
- 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).
|
||||||
|
- 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) !
|
- 🎉 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) !
|
||||||
- 🎉 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) !
|
|
||||||
|
|
||||||
## Pourquoi Pocket Flow ?
|
## 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 |
|
| 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 |
|
| 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 |
|
| 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** |
|
| **PocketFlow** | **Graph** | **Aucun** | **Aucun** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Comment fonctionne Pocket Flow ?
|
## 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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
<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"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
✨ Voici les tutoriels de base :
|
✨ Voici des tutoriels de base :
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Nom | Difficulté | Description |
|
| 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 |
|
| [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> *Débutant* | Extraction de données structurées à partir de CV par prompt |
|
| [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> *Débutant* | Un workflow d'écriture qui structure, écrit du contenu et applique un style |
|
| [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> *Débutant* | Un agent de recherche qui peut effectuer des recherches sur le web et répondre aux questions |
|
| [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> *Débutant* | Un processus simple de génération augmentée par récupération |
|
| [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 |
|
||||||
| [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 |
|
| [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> *Débutant* | Une démo de streaming LLM en temps réel avec capacité d'interruption utilisateur |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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>
|
</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 ?
|
## 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>
|
<br>
|
||||||
<div align="center">
|
<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 |
|
| 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)
|
| [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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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>
|
</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 !
|
- 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 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) !
|
||||||
|
|
||||||
- Vous voulez apprendre les étapes détaillées ? Lisez ce [Guide](https://the-pocket.github.io/PocketFlow/guide.html) !
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
<div align="center">
|
<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>
|
</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/)
|
[](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
|
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).
|
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).
|
||||||
- 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).
|
- 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!
|
- 🎉 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!
|
||||||
- 🎉 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)!
|
|
||||||
|
|
||||||
## Warum Pocket Flow?
|
## 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">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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** |
|
| | **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 |
|
| 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, usw.)</sub></sup> | 18K | +173MB |
|
| 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, usw.)</sub></sup> | 8K | +198MB |
|
| 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. Semantische Suche)</sub></sup> | Einige <br><sup><sub>(z.B. PostgresStore, SqliteSaver, usw.) </sub></sup> | 37K | +51MB |
|
| 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, usw.)</sub></sup> | 7K <br><sup><sub>(nur Kern)</sub></sup> | +26MB <br><sup><sub>(nur Kern)</sub></sup> |
|
| 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** |
|
| **PocketFlow** | **Graph** | **Keine** | **Keine** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -53,42 +53,46 @@ Die [100 Zeilen](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/_
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
✨ Hier sind grundlegende Tutorials:
|
✨ Nachfolgend sind grundlegende Tutorials:
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Name | Schwierigkeit | Beschreibung |
|
| Name | Schwierigkeit | Beschreibung |
|
||||||
| :-------------: | :-------------: | :--------------------- |
|
| :-------------: | :-------------: | :--------------------- |
|
||||||
| [Chat](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat) | ☆☆☆ <br> *Dummy* | Ein einfacher Chatbot mit Konversationsverlauf |
|
| [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> *Dummy* | Extrahieren strukturierter Daten aus Lebensläufen durch Prompting |
|
| [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> *Dummy* | Ein Schreibworkflow, der Gliederungen erstellt, Inhalte schreibt und Styling anwendet |
|
| [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> *Dummy* | Ein Recherche-Agent, der im Web suchen und Fragen beantworten kann |
|
| [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> *Dummy* | Ein einfacher Retrieval-augmented Generation-Prozess |
|
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Sehr einfach* | 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 |
|
| [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> *Dummy* | Eine Echtzeit-LLM-Streaming-Demo mit Benutzerunterbrechungsfähigkeit |
|
| [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-Absicherung](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-guardrail) | ☆☆☆ <br> *Dummy* | Ein Reiseberater-Chatbot, der nur reisebezogene Anfragen verarbeitet |
|
| [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 |
|
| [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! |
|
| [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 parallele Ausführungs-Demo, die 3x Beschleunigung zeigt |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [Mehrheitsentscheidung](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *Anfänger* | Verbessere die 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 |
|
| [Denkprozess](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <br> *Anfänger* | Löse komplexe 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 |
|
| [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 |
|
| [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>
|
</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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
@ -98,23 +102,22 @@ Von dort aus ist es einfach, beliebte Designmuster wie ([Multi-](https://the-poc
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
✨ Hier sind Beispiele für komplexere LLM-Apps:
|
✨ Nachfolgend sind Beispiele für komplexere LLM-Apps:
|
||||||
|
|
||||||
<div align="center">
|
<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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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>
|
</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 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">
|
<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>
|
</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/)
|
[](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フレームワークです
|
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倍に!
|
- **[エージェンティックコーディング](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行)。
|
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://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)に参加してください!
|
- 🎉 私たちの[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)バージョンもあります!
|
||||||
- 🎉 [@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?
|
## なぜPocket Flow?
|
||||||
|
|
||||||
現在のLLMフレームワークは膨大すぎます... LLMフレームワークには100行だけで十分です!
|
現在のLLMフレームワークは膨大すぎます...LLMフレームワークには100行だけで十分です!
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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> |
|
| 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** |
|
| **PocketFlow** | **グラフ** | **なし** | **なし** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
<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-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-workflow) | ☆☆☆ <br> *超簡単* | 概要を作成し、コンテンツを書き、スタイルを適用するライティングワークフロー |
|
||||||
| [エージェント](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <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> *超簡単* | シンプルな検索拡張生成プロセス |
|
| [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-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-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-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-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) | ★☆☆ <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-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-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-thinking) | ★☆☆ <br> *初級* | 思考連鎖を通じて複雑な推論問題を解決する |
|
||||||
| [メモリ](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <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> *初級* | 数値演算のためのモデルコンテキストプロトコルを使用するエージェント |
|
| [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>
|
</div>
|
||||||
|
|
||||||
👀 他の超簡単なチュートリアルが見たいですか?[課題を作成してください!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
👀 他の超簡単なチュートリアルを見たいですか?[イシューを作成してください!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||||
|
|
||||||
## Pocket Flowの使い方は?
|
## Pocket Flowの使い方は?
|
||||||
|
|
||||||
🚀 **エージェンティックコーディング**を通じて—最速のLLMアプリ開発パラダイムで、*人間が設計し*、*エージェントがコードを書く*!
|
🚀 **エージェンティックコーディング**を通じて—最速のLLMアプリ開発パラダイムで、*人間が設計して* *エージェントがコードを書く*!
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div align="center">
|
<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)
|
| [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-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)
|
||||||
| [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)
|
| [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-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)
|
| [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>
|
</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)を読んでくださいから始めましょう!
|
- 自分の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">
|
<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>
|
</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/)
|
[](https://the-pocket.github.io/PocketFlow/)
|
||||||
|
|
@ -9,51 +10,50 @@
|
||||||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||||
</a>
|
</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)를 읽어보세요.
|
- 더 알아보려면, [문서](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)
|
||||||
- 🎉 우리의 [디스코드](https://discord.gg/hUHHE9Sa6T)에 참여하세요!
|
- 🎉 포켓 플로우로 개발하는 다른 개발자들과 연결하려면 [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) 버전도 있습니다!
|
||||||
|
|
||||||
- 🎉 [@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">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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> |
|
| 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** |
|
| **PocketFlow** | **그래프** | **없음** | **없음** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
<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-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> *초보* | 웹을 검색하고 질문에 답할 수 있는 연구 에이전트 |
|
| [에이전트](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> *초보* | 간단한 검색 증강 생성 프로세스 |
|
| [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-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-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-map-reduce) | ★☆☆ <br> *입문* | 배치 평가를 위한 맵-리듀스 패턴을 사용한 이력서 자격 처리기 |
|
||||||
| [감독자](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-supervisor) | ★☆☆ <br> *초급* | 연구 에이전트가 신뢰할 수 없게 되었습니다... 감독 프로세스를 구축해 봅시다 |
|
| [멀티-에이전트](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-multi-agent) | ★☆☆ <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-supervisor) | ★☆☆ <br> *입문* | 연구 에이전트가 불안정해지면... 감독 프로세스를 구축해 봅시다|
|
||||||
| [병렬 플로우](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-parallel-batch) | ★☆☆ <br> *입문* | 3배 속도 향상을 보여주는 병렬 실행 데모 |
|
||||||
| [다수결 투표](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *초급* | 여러 솔루션 시도를 집계하여 추론 정확도 향상 |
|
| [병렬 플로우](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-thinking) | ★☆☆ <br> *초급* | 사고 체인을 통한 복잡한 추론 문제 해결 |
|
| [다수결 투표](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-majority-vote) | ★☆☆ <br> *입문* | 여러 솔루션 시도를 집계하여 추론 정확도 향상 |
|
||||||
| [메모리](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <br> *초급* | 단기 및 장기 메모리가 있는 채팅 봇 |
|
| [사고](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-thinking) | ★☆☆ <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 업데이트가 있는 인간 검토 루프를 위한 최소한의 웹 서비스 |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
👀 초보자를 위한 다른 튜토리얼을 보고 싶으신가요? [이슈를 생성하세요!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
👀 초보자를 위한 다른 튜토리얼을 보고 싶으신가요? [이슈를 생성하세요!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
||||||
|
|
||||||
## Pocket Flow를 어떻게 사용하나요?
|
## 포켓 플로우는 어떻게 사용하나요?
|
||||||
|
|
||||||
🚀 **에이전틱 코딩**을 통해—가장 빠른 LLM 앱 개발 패러다임-*인간이 설계*하고 *에이전트가 코딩*합니다!
|
🚀 **에이전트 코딩**을 통해—*인간이 설계*하고 *에이전트가 코딩*하는 가장 빠른 LLM 앱 개발 패러다임!
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
<div align="center">
|
<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)
|
| [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-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)
|
||||||
| [유튜브 요약기](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)
|
| [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-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)
|
| [유튜브 요약기](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>
|
</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)으로 시작하세요!
|
- 자신만의 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">
|
<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>
|
</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/)
|
[](https://the-pocket.github.io/PocketFlow/)
|
||||||
|
|
@ -9,38 +10,37 @@
|
||||||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||||
</a>
|
</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.
|
- **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!
|
- **[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!
|
||||||
|
|
||||||
- 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).
|
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).
|
- 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).
|
||||||
|
- 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)!
|
- 🎉 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)!
|
||||||
- 🎉 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)!
|
|
||||||
|
|
||||||
## Por que Pocket Flow?
|
## 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">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| 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 | Agente, Cadeia | Muitos <br><sup><sub>(ex., FileReadTool, SerperDevTool)</sub></sup> | Muitos <br><sup><sub>(ex., OpenAI, Anthropic, Pinecone, etc.)</sub></sup> | 18K | +173MB |
|
| 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 | Agente | Alguns <br><sup><sub>(ex., CodeAgent, VisitWebTool)</sub></sup> | Alguns <br><sup><sub>(ex., DuckDuckGo, Hugging Face, etc.)</sub></sup> | 8K | +198MB |
|
| 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 | Agente, Grafo | Alguns <br><sup><sub>(ex., Busca Semântica)</sub></sup> | Alguns <br><sup><sub>(ex., PostgresStore, SqliteSaver, etc.) </sub></sup> | 37K | +51MB |
|
| 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 | 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> |
|
| 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** | **Grafo** | **Nenhum** | **Nenhum** | **100** | **+56KB** |
|
| **PocketFlow** | **Graph** | **Nenhum** | **Nenhum** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -65,30 +65,34 @@ A partir daí, é fácil implementar padrões de design populares como ([Multi-]
|
||||||
|
|
||||||
| Nome | Dificuldade | Descrição |
|
| 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 |
|
| [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> *Iniciante* | Extraindo dados estruturados de currículos por prompt |
|
| [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> *Iniciante* | Um fluxo de escrita que esboça, escreve conteúdo e aplica estilo |
|
| [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> *Iniciante* | Um agente de pesquisa que pode buscar na web e responder perguntas |
|
| [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> *Iniciante* | Um processo simples de Geração Aumentada por Recuperação |
|
| [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 |
|
||||||
| [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 |
|
| [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> *Iniciante* | Uma demonstração de streaming LLM em tempo real com capacidade de interrupção pelo usuário |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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|
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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>
|
</div>
|
||||||
|
|
||||||
👀 Quer ver outros tutoriais para iniciantes? [Crie uma issue!](https://github.com/The-Pocket/PocketFlow/issues/new)
|
👀 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>
|
<br>
|
||||||
<div align="center">
|
<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 |
|
| 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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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>
|
</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 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)!
|
||||||
|
|
||||||
- Quer aprender os passos detalhados? Leia este [Guia](https://the-pocket.github.io/PocketFlow/guide.html)!
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
<div align="center">
|
<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>
|
</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/)
|
[](https://the-pocket.github.io/PocketFlow/)
|
||||||
|
|
@ -9,44 +10,43 @@
|
||||||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||||
</a>
|
</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 строк. Никакого избыточного кода, никаких зависимостей, никакой привязки к поставщикам.
|
- **Легкий**: Всего 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 строк).
|
Начало работы с 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://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)!
|
- 🎉 Присоединяйтесь к нашему [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)!
|
||||||
- 🎉 Благодаря [@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?
|
## Почему Pocket Flow?
|
||||||
|
|
||||||
Текущие фреймворки для LLM перегружены... Для фреймворка LLM вам нужно всего 100 строк!
|
Текущие LLM фреймворки слишком громоздки... Для LLM фреймворка достаточно всего 100 строк!
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| LangChain | Агент, Цепочка | Много <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 |
|
| CrewAI | Агент, Цепочка | Много <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 |
|
| SmolAgent | Агент | Некоторые <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 |
|
| LangGraph | Агент, Граф | Некоторые <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> |
|
| 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** | **Graph** | **Нет** | **Нет** | **100** | **+56KB** |
|
| **PocketFlow** | **Граф** | **Нет** | **Нет** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/abstraction.png" width="900"/>
|
<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"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
✨ Ниже представлены базовые руководства:
|
✨ Ниже приведены базовые руководства:
|
||||||
|
|
||||||
<div align="center">
|
<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-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-workflow) | ☆☆☆ <br> *Элементарно* | Процесс написания, включающий структурирование, создание контента и стилизацию |
|
||||||
| [Агент](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-agent) | ☆☆☆ <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) |
|
| [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-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-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-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-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-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) | ★☆☆ <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-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-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-thinking) | ★☆☆ <br> *Начальный* | Решение сложных задач рассуждения с помощью цепочки размышлений |
|
||||||
| [Память](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-chat-memory) | ★☆☆ <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>
|
</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">
|
<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>
|
</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/)
|
[](https://the-pocket.github.io/PocketFlow/)
|
||||||
|
|
@ -9,38 +10,37 @@
|
||||||
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
<img src="https://img.shields.io/discord/1346833819172601907?logo=discord&style=flat">
|
||||||
</a>
|
</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 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 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).
|
||||||
- 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).
|
- ¿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!
|
||||||
- 🎉 ¡Únete a nuestro [discord](https://discord.gg/hUHHE9Sa6T)!
|
- 🎉 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)!
|
||||||
|
|
||||||
- 🎉 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)!
|
|
||||||
|
|
||||||
## ¿Por qué Pocket Flow?
|
## ¿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">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/meme.jpg" width="400"/>
|
<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 |
|
| 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 | 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 |
|
| 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 | 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 |
|
| 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 | 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 |
|
| 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 | 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> |
|
| 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** | **Grafo** | **Ninguno** | **Ninguno** | **100** | **+56KB** |
|
| **PocketFlow** | **Graph** | **Ninguno** | **Ninguno** | **100** | **+56KB** |
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -53,42 +53,46 @@ Las [100 líneas](https://github.com/The-Pocket/PocketFlow/blob/main/pocketflow/
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
<img src="https://github.com/The-Pocket/.github/raw/main/assets/design.png" width="900"/>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
✨ A continuación se presentan tutoriales básicos:
|
✨ A continuación hay tutoriales básicos:
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
| Nombre | Dificultad | Descripción |
|
| 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 |
|
| [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> *Novato* | Extracción de datos estructurados de currículums mediante prompts |
|
| [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> *Novato* | Un flujo de escritura que esquematiza, escribe contenido y aplica estilo |
|
| [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> *Novato* | Un agente de investigación que puede buscar en la web y responder preguntas |
|
| [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> *Novato* | Un proceso simple de Generación aumentada por Recuperación |
|
| [RAG](https://github.com/The-Pocket/PocketFlow/tree/main/cookbook/pocketflow-rag) | ☆☆☆ <br> *Principiante* | 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 |
|
| [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> *Novato* | Una demo de streaming LLM en tiempo real con capacidad de interrupción por el usuario |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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! |
|
| [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 |
|
||||||
| [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 |
|
| [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! |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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 |
|
||||||
| [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 |
|
| [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>
|
</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?
|
## ¿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>
|
<br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
@ -98,23 +102,22 @@ A partir de ahí, es fácil implementar patrones de diseño populares como ([Mul
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<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">
|
<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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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)
|
||||||
| [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)
|
| [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>
|
</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 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"))
|
client = Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY", "your-api-key"))
|
||||||
response = client.messages.create(
|
response = client.messages.create(
|
||||||
model="claude-3-7-sonnet-20250219",
|
model="claude-3-7-sonnet-20250219",
|
||||||
max_tokens=10000,
|
max_tokens=20000,
|
||||||
|
thinking={
|
||||||
|
"type": "enabled",
|
||||||
|
"budget_tokens": 16000
|
||||||
|
},
|
||||||
messages=[
|
messages=[
|
||||||
{"role": "user", "content": prompt}
|
{"role": "user", "content": prompt}
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
return response.content[0].text
|
return response.content[1].text
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print("## Testing call_llm")
|
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
|
## Goal
|
||||||
- Compares sequential vs parallel execution time
|
|
||||||
- Shows 3x speed improvement with parallel processing
|
|
||||||
|
|
||||||
## 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
|
```bash
|
||||||
pip install pocketflow
|
|
||||||
python main.py
|
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.
|
||||||
|
|
||||||
```
|
## Parallel vs. Sequential Comparison
|
||||||
=== Running Sequential (AsyncBatchNode) ===
|
|
||||||
[Sequential] Summarizing file1.txt...
|
|
||||||
[Sequential] Summarizing file2.txt...
|
|
||||||
[Sequential] Summarizing file3.txt...
|
|
||||||
|
|
||||||
=== Running Parallel (AsyncParallelBatchNode) ===
|
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.
|
||||||
[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
|
|
||||||
|
|
@ -1,103 +1,103 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import time
|
import time
|
||||||
|
import os
|
||||||
|
from pocketflow import AsyncFlow, AsyncParallelBatchNode
|
||||||
|
from utils import call_llm
|
||||||
|
|
||||||
from pocketflow import AsyncBatchNode, AsyncParallelBatchNode, AsyncFlow
|
# --- Node Definitions ---
|
||||||
|
|
||||||
####################################
|
|
||||||
# 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.
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
class TranslateTextNodeParallel(AsyncParallelBatchNode):
|
||||||
|
"""Translates README into multiple languages in parallel and saves files."""
|
||||||
async def prep_async(self, shared):
|
async def prep_async(self, shared):
|
||||||
# Return a list of items to process.
|
"""Reads text and target languages from shared store."""
|
||||||
# Each item is (filename, content).
|
text = shared.get("text", "(No text provided)")
|
||||||
return list(shared["data"].items())
|
languages = shared.get("languages", [])
|
||||||
|
return [(text, lang) for lang in languages]
|
||||||
|
|
||||||
async def exec_async(self, item):
|
async def exec_async(self, data_tuple):
|
||||||
filename, content = item
|
"""Calls the async LLM utility for each target language."""
|
||||||
print(f"[Sequential] Summarizing {filename}...")
|
text, language = data_tuple
|
||||||
summary = await dummy_llm_summarize(content)
|
|
||||||
return (filename, summary)
|
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):
|
async def post_async(self, shared, prep_res, exec_res_list):
|
||||||
# exec_res_list is a list of (filename, summary)
|
"""Stores the dictionary of {language: translation} pairs and writes to files."""
|
||||||
shared["sequential_summaries"] = dict(exec_res_list)
|
output_dir = shared.get("output_dir", "translations")
|
||||||
return "done_sequential"
|
os.makedirs(output_dir, exist_ok=True)
|
||||||
|
|
||||||
|
for result in exec_res_list:
|
||||||
|
if isinstance(result, dict):
|
||||||
|
language = result.get("language", "unknown")
|
||||||
|
translation = result.get("translation", "")
|
||||||
|
|
||||||
|
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"
|
||||||
|
|
||||||
###############################################
|
# --- Flow Creation ---
|
||||||
# 2) AsyncParallelBatchNode (concurrent) version
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
class SummariesAsyncParallelNode(AsyncParallelBatchNode):
|
def create_parallel_translation_flow():
|
||||||
"""
|
"""Creates and returns the parallel translation flow."""
|
||||||
Processes items in parallel. Many LLM calls start at once.
|
translate_node = TranslateTextNodeParallel(max_retries=3)
|
||||||
"""
|
return AsyncFlow(start=translate_node)
|
||||||
|
|
||||||
async def prep_async(self, shared):
|
# --- Main Execution ---
|
||||||
return list(shared["data"].items())
|
|
||||||
|
|
||||||
async def exec_async(self, item):
|
|
||||||
filename, content = item
|
|
||||||
print(f"[Parallel] Summarizing {filename}...")
|
|
||||||
summary = await dummy_llm_summarize(content)
|
|
||||||
return (filename, summary)
|
|
||||||
|
|
||||||
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
|
|
||||||
###############################################
|
|
||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
# We'll use the same data for both flows
|
source_readme_path = "../../README.md"
|
||||||
shared_data = {
|
try:
|
||||||
"data": {
|
with open(source_readme_path, "r", encoding='utf-8') as f:
|
||||||
"file1.txt": "Hello world 1",
|
text = f.read()
|
||||||
"file2.txt": "Hello world 2",
|
except FileNotFoundError:
|
||||||
"file3.txt": "Hello world 3",
|
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
|
translation_flow = create_parallel_translation_flow()
|
||||||
seq_node = SummariesAsyncNode()
|
|
||||||
seq_flow = AsyncFlow(start=seq_node)
|
|
||||||
|
|
||||||
print("\n=== Running Sequential (AsyncBatchNode) ===")
|
print(f"Starting parallel translation into {len(shared['languages'])} languages...")
|
||||||
t0 = time.time()
|
start_time = time.perf_counter()
|
||||||
await seq_flow.run_async(shared_data)
|
|
||||||
t1 = time.time()
|
|
||||||
|
|
||||||
# 2) Run the parallel version
|
await translation_flow.run_async(shared)
|
||||||
par_node = SummariesAsyncParallelNode()
|
|
||||||
par_flow = AsyncFlow(start=par_node)
|
|
||||||
|
|
||||||
print("\n=== Running Parallel (AsyncParallelBatchNode) ===")
|
end_time = time.perf_counter()
|
||||||
t2 = time.time()
|
duration = end_time - start_time
|
||||||
await par_flow.run_async(shared_data)
|
print(f"\nTotal parallel translation time: {duration:.4f} seconds")
|
||||||
t3 = time.time()
|
print("\n=== Translation Complete ===")
|
||||||
|
print(f"Translations saved to: {shared['output_dir']}")
|
||||||
# Show times
|
print("============================")
|
||||||
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")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
asyncio.run(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