Abraxas-365/langchain-rust

🦜️🔗LangChain for Rust, the easiest way to write LLM-based programs in Rust

What it solves

LangChain Rust provides a way to build complex applications powered by Large Language Models (LLMs) using the Rust programming language. It brings the composability and orchestration patterns of the original LangChain framework to a high-performance, type-safe environment.

How it works

The library implements a set of modular components that can be "chained" together to create sophisticated AI workflows. It provides standardized interfaces for:

  • LLMs and Embeddings: Integration with providers like OpenAI, Azure OpenAI, Ollama, Anthropic Claude, and MistralAI.
  • Vector Stores: Support for databases such as OpenSearch, Postgres, Qdrant, Sqlite, and SurrealDB for efficient retrieval of embeddings.
  • Chains: Pre-built logic for LLM chains, conversational chains, Q&A, and SQL-based interactions.
  • Agents: Tool-using agents that can interact with external services like Google Search (Serpapi), DuckDuckGo, and the command line.
  • Document Loaders: Tools to ingest data from PDF, HTML, CSV, Git commits, and source code.

Who it’s for

Developers who want to build LLM-powered applications with the performance, safety, and concurrency benefits of Rust rather than using Python or JavaScript.

Highlights

  • Broad Provider Support: Works with multiple LLM and embedding providers including local options like Ollama and FastEmbed.
  • Extensible Tooling: Includes built-in tools for web search, mathematics (Wolfram), and text-to-speech.
  • Semanitc Routing: Supports both static and dynamic routing to direct queries based on meaning.
  • Diverse Data Ingestion: Built-in loaders for a wide variety of file formats and source code repositories.

Related

  • Project
  • Project
  • Project
  • Project
  • Project