Skip to content

Latest commit

 

History

History
56 lines (39 loc) · 2.37 KB

README.md

File metadata and controls

56 lines (39 loc) · 2.37 KB

LlamaAgents Demo With Snowflake/Cybersyn Data Agents

image

For this demo app, we have a multi-agent system comprised with the following components:

  • A data Agent that performs queries over Cybersyn's Financial & Economic Essentials Dataset
  • A data Agent that performs queries over Cyberysyn' Government Essentials Dataset
  • A general Agent that can answer all general queries
  • A Human (In the Loop) Service that provides inputs to the two data agents
  • A ControlPlane that features a router which routes tasks to the most appropriate orchestrator
  • A RabbitMQ MessageQueue to broker communication between agents, human-in-the-loop, and control-plane

For the frontend, we built a Streamlit App to interact with this multi-agent system.

Pre-Requisites

Docker

To run this demo, we make use of Docker, specifically docker-compose. For this demo, all of the necessary services (with the exception of the message queue) are packaged in one common Docker image and can be instantianted through their respective commands (i.e., see docker-compose.yml.)

Credentials

For this app, we use OpenAI as the LLM provider and so an OPENAI_API_KEY will need to be supplied. Moreover, the Cybersyn data is pulled from Snowflake and so various Snowflake params are also required. See the section "# FILL-IN" in the template.env.docker file. Once, you've filled in the necessary environment variables, rename the file to .env.docker.

Similarly, you need to provide credentials in the template.env.local. Once filled in, rename the file to .env.local.

Running The App

The backend (multi-agent system)

To start the multi-agent system, use the following command while in the root of the project directory:

docker-compose up --build

Streamlit App

Once the services are all running, you can then run the streamlit app.

set -a && source .env.local
streamlit run snowflake_cybersyn_demo/apps/streamlit.py