Описание
Langroid — это интуитивно понятный, легковесный и расширяемый Python-фреймворк, предназначенный для упрощения разработки приложений на базе больших языковых моделей (LLM). Он работает по парадигме мультиагентного программирования, вдохновленной Actor Framework, где разработчики определяют агентов, оснащают их компонентами, такими как LLM, векторные хранилища и инструменты, а затем оркестрируют их совместное решение проблем посредством обмена сообщениями.
Основной абстракцией в Langroid является `Agent`, который инкапсулирует состояние диалога LLM и может быть дополнен векторными хранилищами и инструментами. Агенты действуют как преобразователи сообщений, с методами ответа по умолчанию для взаимодействий с LLM, агентами и пользователями. Класс `Task` оборачивает `Agent`, предоставляя инструкции, управляя итерациями и оркестрируя мультиагентные взаимодействия посредством иерархического делегирования. Такая модульная конструкция способствует повторному использованию и слабой связанности.
Langroid поддерживает широкий спектр LLM, включая модели OpenAI и модели от сотен других поставщиков (локальные/открытые или удаленные/коммерческие) через прокси-библиотеки и локальные серверы моделей, такие как Ollama и LiteLLM, часто имитируя API OpenAI. Он интегрируется с различными векторными хранилищами, такими как Qdrant, Chroma, LanceDB, Pinecone и PGVector, обеспечивая Retrieval-Augmented-Generation (RAG) для обоснования и цитирования источников. Фреймворк также предлагает надежную поддержку инструментов/плагинов/вызова функций, используя Pydantic для упрощенного определения схемы и обработки ошибок.
Ключевые возможности включают мультиагентное взаимодействие, извлечение структурированной информации, чат с документами (RAG) с цитированием источников и чат с табличными данными. Langroid уделяет особое внимание опыту разработчика, предлагая такие функции, как кэширование ответов LLM, наблюдаемость, логирование и отслеживание цепочки сообщений. Он активно разрабатывается с частыми обновлениями и растущим сообществом, что делает его мощным выбором для создания сложных LLM-приложений.
Основные функции Langroid
Парадигма мультиагентного программирования для LLM-приложений
Абстракции Agent и Task для оркестрации LLM-взаимодействий
Поддержка широкого спектра LLM, включая локальные и проприетарные модели
Интеграция с множеством векторных хранилищ для возможностей RAG
Поддержка инструментов/плагинов/вызова функций с использованием Pydantic
Чат с документами (RAG) с цитированием источников
Чат с табличными данными с использованием генерации кода Pandas
Кэширование ответов LLM
Наблюдаемость, логирование и отслеживание цепочки сообщений
Расширяемый и легковесный Python-фреймворк
Начало работы с Langroid
Клонируйте репозиторий: Получите код Langroid с GitHub.
Установите зависимости: Настройте виртуальное окружение и установите Langroid с необходимыми дополнениями.
Настройте переменные окружения: Установите API-ключи и другие необходимые учетные данные.
Разрабатывайте агентов: Определите агентов с LLM, векторными хранилищами и инструментами.
Оркестрируйте задачи: Используйте класс Task для управления взаимодействиями агентов и рабочими процессами.
Запускайте приложения: Запустите ваши приложения на базе LLM.
Варианты использования Langroid
- Мультиагентное взаимодействие
- Извлечение информации
- Вопросы и ответы по документам
- Анализ данных
- Генерация кода
- RAG-системы








