This is just a teaser; there's much more, like function-calling/tools, Multi-Agent Collaboration, Structured Information Extraction, DocChatAgent (RAG), SQLChatAgent, non-OpenAI local/remote LLMs, etc. Scroll down or see docs for more.
> /plugin marketplace add langroid/langroid> /plugin install langroid@langroid
Repo: langroid/langroid
What's inside
Langroid is an intuitive, lightweight, extensible and principled
Python framework to easily build LLM-powered applications, from CMU and UW-Madison researchers.
You set up Agents, equip them with optional components (LLM,
vector-store and tools/functions), assign them tasks, and have them
collaboratively solve a problem by exchanging messages.
This Multi-Agent paradigm is inspired by the
Actor Framework
(but you do not need to know anything about this!).
Langroid is a fresh take on LLM app-development, where considerable thought has gone
into simplifying the developer experience;
it does not use Langchain, or any other LLM framework,
and works with practically any LLM.
๐ฅ โจ A Claude Code plugin is available to accelerate Langroid development with built-in patterns and best practices.
๐ฅ Read the (WIP) overview of the langroid architecture, and a quick tour of Langroid.
๐ฅ MCP Support: Allow any LLM-Agent to leverage MCP Servers via Langroid's simple
MCP tool adapter that converts
the server's tools into Langroid's ToolMessage instances.
๐ข Companies are using/adapting Langroid in production. Here is a quote:
Nullify uses AI Agents for secure software development. It finds, prioritizes and fixes vulnerabilities. We have internally adapted Langroid's multi-agent orchestration framework in production, after evaluating CrewAI, Autogen, LangChain, Langflow, etc. We found Langroid to be far superior to those frameworks in terms of ease of setup and flexibility. Langroid's Agent and Task abstractions are intuitive, well thought out, and provide a great developer experience. We wanted the quickest way to get something in production. With other frameworks it would have taken us weeks, but with Langroid we got to good results in minutes. Highly recommended! -- Jacky Wong, Head of AI at Nullify.
๐ฅ See this Intro to Langroid blog post from the LanceDB team
๐ฅ Just published in ML for Healthcare (2024): a Langroid-based Multi-Agent RAG system for pharmacovigilance, see blog post
We welcome contributions: See the contributions document for ideas on what to contribute.
Are you building LLM Applications, or want help with Langroid for your company, or want to prioritize Langroid features for your company use-cases? Prasad Chalasani is available for consulting (advisory/development): pchalasani at gmail dot com.
Sponsorship is also accepted via GitHub Sponsors
Questions, Feedback, Ideas? Join us on Discord!
This is just a teaser; there's much more, like function-calling/tools, Multi-Agent Collaboration, Structured Information Extraction, DocChatAgent (RAG), SQLChatAgent, non-OpenAI local/remote LLMs, etc. Scroll down or see docs for more. See the Langroid Quick-Start Colab that builds up to a 2-agent information-extraction example using the OpenAI ChatCompletion API.
๐ฅ just released! Example script showing how you can use Langroid multi-agents and tools to extract structured information from a document using only a local LLM (Mistral-7b-instruct-v0.2).
import langroid as lr
import langroid.language_models as lm
# set up LLM
llm_cfg = lm.OpenAIGPTConfig(
# any model served via an OpenAI-compatible API
chat_model=lm.OpenAIChatModel.GPT4o, # or, e.g., "ollama/mistral"
)
# use LLM directly
mdl = lm.OpenAIGPT(llm_cfg)
response = mdl.chat("What is the capital of Ontario?", max_tokens=10)
# use LLM in an Agent
agent_cfg = lr.ChatAgentConfig(llm=llm_cfg)
agent = lr.ChatAgent(agent_cfg)
agent.llm_response("What is the capital of China?")
response = agent.llm_response("And India?") # maintains conversation state
# wrap Agent in a Task to run interactive loop with user (or other agents)
task = lr.Task(agent, name="Bot", system_message="You are a helpful assistant")
task.run("Hello") # kick off with user saying "Hello"
# 2-Agent chat loop: Teacher Agent asks questions to Student Agent
teacher_agent = lr.ChatAgent(agent_cfg)
teacher_task = lr.Task(
teacher_agent, name="Teacher",
system_message="""
Ask your student concise numbers questions, and give feedback.
Start with a question.
"""
)
student_agent = lr.ChatAgent(agent_cfg)
student_task = lr.Task(
student_agent, name="Student",
system_message="Concisely answer the teacher's questions.",
single_round=True,
)
teacher_task.add_sub_task(student_task)
teacher_task.run()
OpenAIAssistant.
OpenAI sunset the Assistants API beta on 2026-08-26;
every endpoint now returns HTTP 404, so the class could not function. It has been
removed along with its tests and examples. OpenAIGPT -- which nearly all Langroid
code uses -- is unaffected. See the
migration note
for equivalents to threads, file_search, and code_interpreter.env_prefix for vector-store configs (env-var naming change -- see
migration notes),
generalized taint propagation across tool re-emission paths, and a one-time warning
when FileAttachment payloads inflate context preflight.max_time
task budgets, MCP tool
namespacing for multi-server agents, and portable JSON chat-history snapshots
(thanks @Whxuan0701); video attachments (thanks @octo-patch); retrieval score
thresholds (thanks @Koushik-Salammagari); even
context-overflow truncation
and several routing/parsing fixes -- full details in the
release notes.TaskTool for delegating tasks to sub-agents -
enables agents to spawn sub-agents with specific tools and configurations.done_sequences -
declarative task completion using event patterns.LLMPdfParser, generalizing
GeminiPdfParser to parse documents directly with LLM.FAQ
langroid is a Claude Code plugin with 2 hand-picked skills for ai & agents work, indexed on Flowy. Install it with the command on its page. It includes add-pattern, patterns. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it