AIKraft Agents

Abraxas-365/langchain-rust

🦜️🔗LangChain для Rust, самый простой способ писать программы на основе LLM на Rust

Инструменты⭐ 1 361Rustпоследний релиз: v8.0.0
Открыть на GitHub ↗

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

LangChain Rust — это реализация фреймворка LangChain на языке Rust, позволяющая создавать приложения с LLM с акцентом на производительность и безопасность памяти.

Зачем нужен

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

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

  • Построение RAG-систем (Retrieval-Augmented Generation) с использованием векторных хранилищ (Qdrant, Postgres, OpenSearch).
  • Создание чат-ботов и агентов с доступом к внешним инструментам (поиск в Google, Wolfram, выполнение команд).
  • Обработка и загрузка документов (PDF, DOCX, HTML) для последующего анализа LLM.
  • Разработка семантических маршрутизаторов для распределения запросов между разными моделями или цепочками.
  • Интеграция локальных моделей через Ollama или FastEmbed для работы без облачных API.

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

  • Поддержка популярных LLM: OpenAI, Azure OpenAI, Anthropic Claude, Ollama.
  • Встроенные векторные хранилища: Qdrant, Postgres, SQLite (VSS), SurrealDB, OpenSearch.
  • Готовые цепочки (Chains): LLM Chain, Conversational Chain, SQL Chain, Sequential Chain.
  • Загрузчики документов: PDF, Pandoc (DOCX), HTML, HTML to Markdown.
  • Инструменты для агентов: Serpapi, DuckDuckGo, Wolfram, Command line, Text2Speech.

👤 Кому подойдёт: Rust-разработчики, создающие высоконагруженные LLM-приложения, и инженеры, ищущие альтернативу Python-версии LangChain с лучшими характеристиками производительности.

Релизы

v8.0.0majorbreaking
🕐 3 дн назад · релиз на GitHub ↗

Мажорный релиз с поддержкой reasoning, кэширования промптов, новых векторных хранилищ и агентов ReAct.

  • Breaking: Публичные структуры (TokenUsage, CallOptions, Message и др.) получили новые поля; требуется использование ..Default::default() или конструкторов.
  • Added: Добавлена поддержка reasoning (thinking) для Claude, OpenAI, Ollama и DeepSeek, а также кэширования промптов для Claude.
  • Added: В трейт VectorStore добавлены методы delete и get_by_ids, реализованные для всех встроенных хранилищ.
  • Added: Появились новые компоненты: агент ReActAgent, цепочки TransformChain и APIChain, а также инструменты PerplexitySearch и FirecrawlSearch.
  • Added: Добавлена поддержка MariaDB 11.7+ с нативным типом VECTOR и возможность использования pgvecto.rs для pgvector.
  • Fixed: Исправлено сохранение незавершенных ходов в память при ошибках в потоках и потеря токенов в ConversationalRetrieverChain.
v7.0.0majorbreaking
🕐 14 дн назад · релиз на GitHub ↗

Мажорный релиз: 6 новых векторных хранилищ, поддержка изображений, стриминг агентов и асинхронная обработка CPU-задач.

  • Added: Добавлены векторные хранилища Chroma, Weaviate, Pinecone, Redis, MongoDB и Milvus.
  • Added: Изображения теперь поддерживаются в промптах, цепочках и агентах для основных LLM.
  • Added: Агенты получили стриминг событий с поддержкой отмены и отчеты об использовании токенов.
  • Added: Появились новые цепочки (Router, Constitutional, MapRerank) и инструмент Calculator.
  • Breaking: Требование Send + Sync для Index, новые варианты ошибок и non_exhaustive для всех публичных enum.
v6.0.0majorbreaking
🕐 15 дн назад · релиз на GitHub ↗

Асинхронная память с поддержкой SQLite/Postgres, унифицированные вызовы инструментов и новый инструмент Wikipedia.

  • Breaking: Методы BaseMemory стали асинхронными и теперь возвращают Result, что требует обновления сигнатур и добавления #[async_trait].
  • Added: Появились SqliteMessageHistory и PostgresMessageHistory для хранения истории в реальных базах данных.
  • Added: В GenerateResult добавлено поле tool_calls с унифицированным типом вызовов инструментов для всех провайдеров.
  • Added: Добавлен инструмент WikipediaQuery для поиска статей и получения их краткого содержания.
  • Fixed: Исправлен баг, из-за которого агент мог бесконечно зацикливаться при пустом ответе модели.
v5.2.0minor
🕐 15 дн назад · релиз на GitHub ↗

Добавлена поддержка AWS Bedrock через Converse API с инструментами и стримингом.

  • Added: Добавлена поддержка AWS Bedrock через Converse API для Claude, Llama, Mistral и других моделей.
  • Added: Реализовано вызов инструментов (tool calling) и стриминг, совместимые с контрактами OpenAI и Claude.
  • Added: В клиент добавлены методы with_options, with_tools и add_options для гибкой настройки.
  • Используются стандартные цепочки авторизации AWS (env, profile, SSO, IMDS).
v5.0.0majorbreaking
🕐 15 дн назад · релиз на GitHub ↗

Мажорный релиз с обновлением всех зависимостей до последних версий, исправлением ошибок и улучшением офлайн-тестирования.

  • Breaking: Все зависимости обновлены до последних мажорных версий (async-openai 0.42, surrealdb 3, sqlx 0.9 и др.), что вносит ломающие изменения в публичный API.
  • Added: Добавлен офлайн-режим тестирования: используются моки HTTP-серверов, фейковые LLM и встроенные базы данных, что позволяет запускать CI без API-ключей.
  • Fixed: Исправлено сохранение памяти агента, потеря событий при стриминге DeepSeek/Qwen и ошибки рендеринга промптов.
  • Fixed: Устранены падения (panic) при пустых ответах эмбеддингов, обработке .h-файлов в загрузчике кода и работе GitCommitLoader.
  • Fixed: Ollama теперь корректно применяет GenerationOptions для чата и эмбеддингов, а OpenAI TTS учитывает настроенный клиент.
v4.6.0patch
🕐 25 мес назад · релиз на GitHub ↗

Релиз v4.6.0: добавлена поддержка TokenUsage при стриминге, обновлён tree-sitter до 0.24 и исправлена опечатка.

  • Added: Добавлена поддержка TokenUsage при использовании стриминга.
  • Fixed: Обновлен зависимый crate tree-sitter до версии 0.24.
  • Fixed: Исправлена опечатка в названии переменной (chian -> chain).