Skip to content

agora-protocol/paper-demo

Repository files navigation

Agora - A Scalable Communication Protocol for Networks of LLMs

Paper | Website | Twitter | Discord | Mailing List

Agora is a simple cross-platform protocol that allows heterogeneous LLMs to communicate efficienly with each other. This is achieved through the power of negotiation.

In particular, Agora agents operate as follows:

  1. For rare communications, they use LLMs to talk with each other in natural language
  2. For frequent communications, they use LLMs to negotiate a protocol for communication, usually involving structured data (e.g. JSON)
  3. Once a protocol is finalized, they use LLMs to implement routines, simple scripts (e.g. in Python) that send or receive data
  4. Future communications are handled using the routines, which means that LLMs aren't required anymore

Since natural language is supported, very different agents that have never interacted before can communicate with each other, but once a common ground is established they just use routines, which are way more efficient. This enables agents to achieve at the same time efficiency, versatility and portability.

The Demo

This demo showcases a network of 100 agents interacting with each other. The agents have different LLMs (OpenAI GPT-4o, Llama 3 405b, Gemini 1.5 Pro) and different DB technologies (MongoDB, SQL), but they still complete complex, multi-agent tasks with way lower costs. In a picture:

You might also be interested in our HuggingFace demo.

Running the Demo

  1. mv .env.template .env
  2. Add the corresponding fields to the .env file
  3. pip install -r requirements.txt
  4. python orchestrator.py

Contributing

We're building the next iteration of Agora, with more features for real-world use cases. If you're interested in contributing or simply want to stay updated about Agora, check out our Discord or subscribe to our Mailing List

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages