brainlid/langchain

Реализация на Elixir фреймворка в стиле LangChain, позволяющая проектам на Elixir интегрироваться с LLM и использовать их возможности.

Инструменты⭐ 1 201Elixirпоследний релиз: v0.14.1
Открыть на GitHub ↗Сайт проекта ↗

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

Elixir-библиотека, реализующая функционал LangChain для интеграции Elixir-приложений с различными LLM и локальными моделями.

Зачем нужен

Позволяет разработчикам на Elixir легко подключать языковые модели (LLM) к своим приложениям, создавая цепочки обработки данных и агентов. Упрощает работу с множеством провайдеров и локальных решений без необходимости писать низкоуровневые API-вызовы.

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

  • Интеграция Elixir-бэкенда с внешними LLM (OpenAI, Anthropic, Google Gemini) для генерации текста или анализа данных
  • Запуск и использование локальных open-source моделей (Llama, Mistral) через Bumblebee/Nx
  • Создание AI-агентов, взаимодействующих с окружением или источниками данных
  • Использование прокси-шлюзов (AWS Bedrock Mantle, Cloudflare Workers AI) для доступа к моделям других вендоров
  • Мультимодельная архитектура с единым интерфейсом через ReqLLM

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

  • Поддержка широкого спектра провайдеров: OpenAI, Anthropic, Google, xAI, DeepSeek, Ollama, Mistral, Perplexity и др.
  • Возможность работы с локальными моделями через интеграцию с Bumblebee (Nx)
  • Гибкая конфигурация секретов (API-ключей) через функции или кортежи
  • Отсутствие попыток полного паритета с JS/Python версиями, оптимизация под функциональную парадигму Elixir
  • Поддержка современных API, включая OpenAI Responses API с WebSocket и prompt caching от DeepSeek

👤 Кому подойдёт: Разработчики на Elixir, внедряющие AI-функционал в свои приложения, а также команды, использующие Elixir для высоконагруженных систем с интеграцией LLM.

Релизы

v0.14.1minor
🕐 4 дн назад · релиз на GitHub ↗

Добавлена MessageExpansion для вставки сообщений в середине выполнения, поддержка кэширования промптов и исправления сериализации.

  • Added: Добавлена MessageExpansion, позволяющая результатам инструментов вставлять сообщения в ходе выполнения.
  • Added: Реализована поддержка полей кэширования промптов в Responses API.
  • Fixed: Исправлена сериализация результатов инструментов в сообщениях OpenTelemetry.
  • Fixed: Устранены предупреждения типов Elixir 1.20 и обновлена CI для OTP 29.
v0.13.1patch
🕐 25 дн назад · релиз на GitHub ↗

Исправлена работа потоковых ответов, улучшена обработка ошибок и зависимостей.

  • Fixed: Отключено объединение отдельных потоковых ответов в одно сообщение.
  • Fixed: Ошибки стриминга в ChatReqLLM теперь корректно отображаются, а не скрываются.
  • Fixed: Пробелы в стоп-последовательностях Ollama теперь корректно сохраняются при приведении типов.
  • Обновлены зависимости проекта.
v0.13.0minor
🕐 29 дн назад · релиз на GitHub ↗

В Langchain v0.13.0 добавлена возможность предварительного просмотра вызовов инструментов через callback и исправлена передача ID вызова в Gemini.

  • Added: Появился callback, позволяющий проверять каждый вызов инструмента перед его выполнением.
  • Fixed: Исправлена передача ID вызова инструмента через обмен данными с Gemini.
  • Added: Подготовка к релизу версии 0.13.0.
v0.12.0minor
🕐 29 дн назад · релиз на GitHub ↗

Добавлена поддержка потоковой передачи и отчётов об использовании токенов для xAI и ChatGrok, улучшена работа с контентом и WebSocket.

  • Added: Реализована потоковая передача, завершение и отчёт об использовании токенов для ChatGrok.
  • Added: Добавлена поддержка отчётов об использовании токенов от xAI в потоковом режиме.
  • Added: Унифицирована структура вариантов ContentPart.
  • Added: Обеспечено сохранение элементов рассуждения OpenAI в цикле использования инструментов.
  • Fixed: Исправлена схема WebSocket, выводимая из конечной точки Responses.
v0.11.0minor
🕐 1 мес назад · релиз на GitHub ↗

Обновление для v0.11.0: улучшена обработка вызовов инструментов Gemini, добавлен доступ к исключениям и исправлена работа потоковых запросов.

  • Added: Использован tool call id от Gemini для корректного разделения параллельных вызовов.
  • Added: Добавлен публичный доступ к исключениям, которые LangChain перехватывает при работе с инструментами.
  • Fixed: При сбое потокового запроса теперь возвращается кортеж с ошибкой.
  • Подготовка к релизу версии v0.11.0.
v0.10.0patch
🕐 1 мес назад · релиз на GitHub ↗

Релиз v0.10.0 репозитория brainlid/langchain.

  • Выпущена версия v0.10.0.
v0.9.5minor
🕐 1 мес назад · релиз на GitHub ↗

Версия 0.9.5: добавлена поддержка наследования атрибутов OTel для вложенных спанов.

  • Added: Добавлена возможность передачи атрибутов OpenTelemetry от вызывающего кода с поддержкой наследования для вложенных спанов.
  • Подготовка к выпуску новой версии v0.9.5.