# Langroid > Langroid is a Python framework for building LLM-powered multi-agent applications, enabling agents to collaborate, use tools, and interact with various data sources. Langroid is an open-source Python framework designed to simplify the development of LLM-powered multi-agent systems. It provides a principled, intuitive abstraction for building agents that can collaborate, use tools, and interact with documents, databases, and APIs. Langroid is built with a "batteries included" philosophy, offering rich built-in support for RAG, function calling, and agent orchestration out of the box. It is well-suited for researchers and developers who want fine-grained control over agent behavior without sacrificing ease of use. - **Multi-Agent Collaboration**: *Define multiple agents with distinct roles and have them communicate via a message-passing architecture to solve complex tasks.* - **Tool/Function Calling**: *Equip agents with tools (Python functions) that can be invoked during conversations, supporting both OpenAI-style function calling and custom tool definitions.* - **Retrieval-Augmented Generation (RAG)**: *Built-in support for document ingestion, chunking, embedding, and vector-store retrieval to ground agent responses in external knowledge.* - **LLM Agnostic**: *Works with OpenAI, Azure OpenAI, Anthropic, local models via Ollama/llama.cpp, and other providers through a unified interface.* - **Task Orchestration**: *Use the `Task` abstraction to wrap agents and compose them into pipelines or hierarchies, with automatic handling of turn-taking and termination conditions.* - **Vector Store Integrations**: *Supports Qdrant, Chroma, Weaviate, LanceDB, and other vector databases for flexible RAG pipelines.* - **Structured Outputs**: *Leverage Pydantic models for typed, validated agent inputs and outputs, making it easy to build reliable pipelines.* - **Async & Streaming Support**: *Supports async execution and streaming responses for building responsive, production-grade applications.* - **Extensible Architecture**: *Easily subclass `ChatAgent` or `Task` to customize behavior, add new tools, or integrate with external services.* - **Rich Documentation & Examples**: *Comprehensive docs and a large library of example scripts covering common patterns like two-agent chat, document QA, SQL agents, and more.* To get started, install via `pip install langroid`, set your LLM API keys, and follow the quickstart guide in the documentation to build your first agent in minutes. ## Features - Multi-agent collaboration via message passing - Tool/function calling support - Retrieval-Augmented Generation (RAG) - LLM-agnostic (OpenAI, Anthropic, local models) - Task orchestration and agent pipelines - Vector store integrations (Qdrant, Chroma, Weaviate, LanceDB) - Structured outputs with Pydantic - Async and streaming support - Document ingestion and chunking - SQL and database agents - Extensible agent and task architecture ## Integrations OpenAI, Azure OpenAI, Anthropic, Ollama, llama.cpp, Qdrant, Chroma, Weaviate, LanceDB, PostgreSQL, Redis ## Platforms API, DEVELOPER_SDK ## Pricing Open Source ## Links - Website: https://langroid.github.io/langroid/ - Documentation: https://langroid.github.io/langroid/ - Repository: https://github.com/langroid/langroid - EveryDev.ai: https://www.everydev.ai/tools/langroid