13 KiB
English | 中文 | Español | 日本語 | Deutsch | Русский | Português | Français | 한국어
Pocket Flow — это 100-строчный минималистичный LLM фреймворк
-
Легкий: Всего 100 строк. Никакого избыточного кода, никаких зависимостей, никакой привязки к поставщикам.
-
Выразительный: Всё, что вы любите—(Мульти-)Агенты, Рабочие процессы, RAG и многое другое.
-
Агентное программирование: Позвольте ИИ-агентам (например, Cursor AI) создавать агентов — повышение продуктивности в 10 раз!
Начало работы с Pocket Flow:
- Для установки используйте
pip install pocketflowили просто скопируйте исходный код (всего 100 строк). - Чтобы узнать больше, ознакомьтесь с документацией. Чтобы понять мотивацию, прочитайте историю.
- Есть вопросы? Воспользуйтесь этим ИИ-ассистентом, или создайте задачу!
- 🎉 Присоединяйтесь к нашему Discord, чтобы связаться с другими разработчиками, использующими Pocket Flow!
- 🎉 Pocket Flow изначально написан на Python, но теперь у нас есть версии на Typescript, Java, C++ и Go!
Почему Pocket Flow?
Текущие LLM фреймворки слишком громоздки... Для LLM фреймворка достаточно всего 100 строк!
| Абстракция | Обертки для приложений | Обертки для поставщиков | Строк | Размер | |
|---|---|---|---|---|---|
| LangChain | Агент, Цепочка | Много (например, вопросы-ответы, суммаризация) |
Много (например, OpenAI, Pinecone и т.д.) |
405K | +166MB |
| CrewAI | Агент, Цепочка | Много (например, FileReadTool, SerperDevTool) |
Много (например, OpenAI, Anthropic, Pinecone и т.д.) |
18K | +173MB |
| SmolAgent | Агент | Некоторые (например, CodeAgent, VisitWebTool) |
Некоторые (например, DuckDuckGo, Hugging Face и т.д.) |
8K | +198MB |
| LangGraph | Агент, Граф | Некоторые (например, Semantic Search) |
Некоторые (например, PostgresStore, SqliteSaver и т.д.) |
37K | +51MB |
| AutoGen | Агент | Некоторые (например, Tool Agent, Chat Agent) |
Много [Опционально] (например, OpenAI, Pinecone и т.д.) |
7K (только ядро) |
+26MB (только ядро) |
| PocketFlow | Граф | Нет | Нет | 100 | +56KB |
Как работает Pocket Flow?
100 строк охватывают основную абстракцию LLM фреймворков: Граф!
Отсюда легко реализовать популярные шаблоны проектирования, такие как (Мульти-)Агенты, Рабочие процессы, RAG и т.д.
✨ Ниже приведены базовые руководства:
| Название | Сложность | Описание |
|---|---|---|
| Чат | ☆☆☆ Элементарно |
Базовый чат-бот с историей разговора |
| Структурированный вывод | ☆☆☆ Элементарно |
Извлечение структурированных данных из резюме с помощью промптов |
| Рабочий процесс | ☆☆☆ Элементарно |
Процесс написания, включающий структурирование, создание контента и стилизацию |
| Агент | ☆☆☆ Элементарно |
Исследовательский агент, который может искать в интернете и отвечать на вопросы |
| RAG | ☆☆☆ Элементарно |
Простой процесс генерации с извлечением информации |
| Пакетная обработка | ☆☆☆ Элементарно |
Пакетный обработчик, который переводит markdown-контент на несколько языков |
| Потоковая передача | ☆☆☆ Элементарно |
Демонстрация потоковой передачи LLM в реальном времени с возможностью прерывания пользователем |
| Защита чата | ☆☆☆ Элементарно |
Чат-бот туристического консультанта, обрабатывающий только запросы, связанные с путешествиями |
| Map-Reduce | ★☆☆ Начальный |
Обработчик квалификаций резюме с использованием шаблона map-reduce для пакетной оценки |
| Мульти-агент | ★☆☆ Начальный |
Игра в Табу для асинхронного общения между двумя агентами |
| Наблюдатель | ★☆☆ Начальный |
Исследовательский агент становится ненадежным... Давайте создадим процесс наблюдения |
| Параллельная обработка | ★☆☆ Начальный |
Демонстрация параллельного выполнения, показывающая ускорение в 3 раза |
| Параллельный поток | ★☆☆ Начальный |
Демонстрация параллельной обработки изображений, показывающая ускорение в 8 раз с несколькими фильтрами |
| Голосование большинства | ★☆☆ Начальный |
Повышение точности рассуждений путем объединения нескольких попыток решения |
| Размышление | ★☆☆ Начальный |
Решение сложных задач рассуждения с помощью цепочки размышлений |
| Память | ★☆☆ Начальный |
Чат-бот с краткосрочной и долгосрочной памятью |
| Text2SQL | ★☆☆ Начальный |
Преобразование естественного языка в SQL-запросы с автоматическим циклом отладки |
| MCP | ★☆☆ Начальный |
Агент, использующий протокол модельного контекста для числовых операций |
| A2A | ★☆☆ Начальный |
Агент, обернутый протоколом Agent-to-Agent для межагентной коммуникации |
| Web HITL | ★☆☆ Начальный |
Минимальный веб-сервис для цикла человеческой проверки с обновлениями SSE |