Dear Friends
I am working to list out the agentic architectural patters where multiple agents come together to solve a use case. So far, I explored the below patterns. I wanted to see if anyone has done any other patterns
Plan and Resolve - One LLM plans and another one resolves
Plan, Dispatch, Resolve - One LLM plans, another takes the plan steps enriches them and dispatches to the resolver LLM
Multi Agent interaction - Autogen, CrewAI, ChatDev like packages enable multiple agents to think, reason to solve use cases
Langroid is an intuitive, lightweight, extensible and principled Python framework to easily build LLM-powered applications, from ex-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.
This is super cool. Thanks for sharing. I love the application of the actor framework and can see this really help bring much smaller LLMs to GPT-4 level.
Soon enough hopefully it’ll be easier & more worthwhile to run these models locally than using the OpenAI API
My dream of having a boardroom of specialists using my private documents all arguing is coming to reality
Langroid works with practically any LLM local or otherwise, thanks to litellm and/or by setting the api_base depending on the scenario. Here’s a basic RAG example with a local mistral run via ollama:
There are other examples in that repo e.g see chat-local.py for a more complete chat-with-docs script that lets you specify URLS or files or folders:
We don’t have a streamlit integration. We have an integration planned with Chainlit which is a really nice python-based chat-ui framework. We have basic chainlit apps here:
If you’re looking to demo or showcase langroid, you might find this colab notebook more useful: It’s a quick-start that showcases a 2-agent system where one agent is tasked with extracting structured info from a document, and it generates questions to another agent that answers these questions using RAG:
A similar notebook, but using the OpenAI Assistants API instead of the OpenAI ChatCompletions API: