This repository provides a multi-agent, LangGraph observability application that integrates with Memgraph
for data ingestion, semantic search, and signal observability.
A Panel-based UI (app/app.py) is included for interacting with the agents.
- Python >= 3.10
- Memgraph
- Clone this repository.
- Install dependencies:
pip install -r requirements.txt
- Set environment variables or a
.envfile with:export MEMGRAPH_URI="bolt://localhost:7687" export MEMGRAPH_USER="memgraphUser" export MEMGRAPH_PASSWORD="MemgraphPassword1233" export OPENAI_API_KEY="" export MODEL_PROVIDER="local || openai"
- Run Llama 3.1 8B locally (Optional):
- Setup Llama 3.1 using ollama
brew install ollama ollama pull llama3.1:8b-instruct-fp16 ollama pull nomic-embed-text
- Run the graph_ingest script to load them into Memgraph, including vector indexing and embeddings:
python -m scripts.graph_ingest
- Verify the data is loaded. You can open Memgraph in the browser or run queries to check the nodes and edges.
- Launch the UI by running:
This starts a Panel server in
python -m copilot.app
app.py. - Interact with the agents:
- Provide your user prompt
- The system automatically references
org_id,role_id,user_id,conversation_idfrom the application or session - The multi-agent system chooses which agent/tool to call
- The application displays the final response
- LangGraph orchestrates multi-agent workflows with ReAct-style agents.
- Each agent forcibly reads guard rails (
org_id, etc.) from aconfig["configurable"]. - Memgraph provides adjacency-based queries and local vector indexes for semantic search.
- The UI is powered by Panel (
pn.template.*) and Holoviews.