InternLM/lagent

Легковесная фреймворк для создания агентов на базе LLM

Агенты⭐ 2 282Pythonпоследний релиз: v0.5.0rc3
Открыть на GitHub ↗

Что это за инструмент

Lagent — это легковесный фреймворк для создания агентов на базе LLM, вдохновленный архитектурой PyTorch, где агенты и их взаимодействие строятся как слои нейросетей.

Зачем нужен

Инструмент упрощает разработку мультиагентных приложений за счет интуитивного Pythonic-интерфейса для передачи сообщений между компонентами. Он полезен для быстрой интеграции LLM (например, через vLLM) в приложения с сохранением контекста и кастомизацией обработки диалога.

Что можно реализовать

  • Создание простых чат-ботов с фиксированным системным промптом и ограниченным набором ответов
  • Разработка многоагентных систем, где агенты обмениваются сообщениями через объект AgentMessage
  • Реализация диалоговых систем с памятью сессии, поддерживающей очистку контекста (reset)
  • Настройка few-shot обучения через кастомные агрегаторы сообщений (Aggregator) без изменения ядра агента

Ключевые возможности

  • Архитектура, аналогичная слоям PyTorch: фокус на создании слоев и определении передачи сообщений
  • Встроенное управление памятью сессии с возможностью инспекции состояния (state_dict) и очистки
  • Гибкая система агрегации сообщений: возможность замены DefaultAggregator на кастомные реализации (например, для few-shot)
  • Прямая интеграция с LLM через vLLM и поддержка кастомных мета-шаблонов (meta_template)
  • Легковесность: установка через pip, минималистичный API для быстрого старта

👤 Кому подойдёт: разработчики, исследователи, создающие прототипы LLM-агентов

Релизы

v0.5.0rc3minor
🕐 18 мес назад · релиз на GitHub ↗

Добавлена поддержка моделей Claude и o1, интеграция SearXNG, улучшена работа с Qwen и OpenAI.

  • Added: Добавлена поддержка моделей Anthropic Claude и OpenAI o1.
  • Added: Реализована поддержка поисковой системы SearXNG.
  • Fixed: Исправлена адаптация моделей Qwen и проблема со стримингом OpenAI в синхронном режиме.
  • Added: В AsyncLMDeployPipeline добавлен параметр do_sample.
  • Added: Пользовательские аргументы теперь можно использовать в описаниях инструментов.
  • Fixed: Исправлено API поиска в классе AsyncDDGS.