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