15 KiB
Pocket Flow — это минималистичный фреймворк для LLM, состоящий всего из 100 строк
-
Легкий: Всего 100 строк. Никакого избыточного кода, никаких зависимостей, никакой привязки к поставщикам.
-
Выразительный: Всё, что вы любите — (Мульти-)Агенты, Рабочие процессы, RAG и многое другое.
-
Агентное программирование: Позвольте ИИ-агентам (например, Cursor AI) создавать других агентов — повышение продуктивности в 10 раз!
-
Для установки выполните
pip install pocketflowили просто скопируйте исходный код (всего 100 строк). -
Чтобы узнать больше, ознакомьтесь с документацией. Чтобы понять мотивацию, прочитайте историю создания.
-
🎉 Присоединяйтесь к нашему Discord-серверу!
-
🎉 Благодаря @zvictor, @jackylee941130 и @ZebraRoy, у нас теперь есть версия на TypeScript!
Почему Pocket Flow?
Текущие фреймворки для LLM перегружены... Для фреймворка LLM вам нужно всего 100 строк!
| Абстракция | Специфичные обертки для приложений | Специфичные обертки для вендоров | Строк кода | Размер | |
|---|---|---|---|---|---|
| LangChain | Agent, Chain | Много (напр., QA, Summarization) |
Много (напр., 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 | ☆☆☆ Простейший |
Простой процесс генерации с извлечением (Retrieval-augmented Generation) |
| Map-Reduce | ☆☆☆ Простейший |
Обработчик квалификаций резюме с использованием паттерна map-reduce для пакетной оценки |
| Потоковая обработка | ☆☆☆ Простейший |
Демонстрация потоковой обработки LLM в реальном времени с возможностью прерывания |
| Ограничения чата | ☆☆☆ Простейший |
Чат-бот для путешествий, обрабатывающий только запросы, связанные с путешествиями |
| Мульти-агент | ★☆☆ Начальный |
Игра в Табу для асинхронного общения между двумя агентами |
| Супервизор | ★☆☆ Начальный |
Исследовательский агент становится ненадежным... Построим процесс надзора |
| Параллельное выполнение | ★☆☆ Начальный |
Демонстрация параллельного выполнения с ускорением в 3 раза |
| Параллельный поток | ★☆☆ Начальный |
Демонстрация параллельной обработки изображений с ускорением в 8 раз при использовании нескольких фильтров |
| Голосование большинством | ★☆☆ Начальный |
Повышение точности рассуждений путем объединения нескольких попыток решения |
| Мышление | ★☆☆ Начальный |
Решение сложных задач рассуждения с помощью цепочки мыслей (Chain-of-Thought) |
| Память | ★☆☆ Начальный |
Чат-бот с краткосрочной и долгосрочной памятью |
| MCP | ★☆☆ Начальный |
Агент с использованием протокола контекста модели (Model Context Protocol) для числовых операций |
👀 Хотите увидеть другие руководства для начинающих? Создайте задачу!
Как использовать Pocket Flow?
🚀 Через Агентное программирование — самую быструю парадигму разработки LLM-приложений, где люди проектируют, а агенты программируют!
✨ Ниже представлены примеры более сложных LLM-приложений:
| Название приложения | Сложность | Темы | Дизайн от человека | Код от агента |
|---|---|---|---|---|
| Создаем Cursor с помощью Cursor Скоро достигнем сингулярности ... |
★★★ Продвинутый |
Агент | Дизайн-документ | Код потока |
| Спроси AI Пола Грэма Спроси AI Пола Грэма, если не попал в программу |
★★☆ Средний |
RAG Map Reduce TTS |
Дизайн-документ | Код потока |
| Youtube Summarizer Объясняет YouTube-видео так, как будто вам 5 лет |
★☆☆ Начальный |
Map Reduce | Дизайн-документ | Код потока |
| Генератор "холодных" открытий Мгновенные ледоколы, превращающие холодные контакты в горячие |
★☆☆ Начальный |
Map Reduce Веб-поиск |
Дизайн-документ | Код потока |
-
Хотите изучить Агентное программирование?
-
Посмотрите мой YouTube-канал для видеоуроков о том, как были созданы некоторые вышеуказанные приложения!
-
Хотите создать свое собственное LLM-приложение? Прочитайте эту статью! Начните с этого шаблона!
-
Хотите узнать подробные шаги? Прочитайте это Руководство!
-