Transform natural language into validated ODRL policies using multi-agent AI
Automated generation of machine-readable data usage policies through a four-agent pipeline with human-in-the-loop validation.
- 4-Stage Pipeline: Parser → Reasoner → Generator → Validator
- Dual Checkpoints: Semantic conflict detection + SHACL validation
- Iterative Refinement: Auto-corrects validation errors (not single-shot)
- Multi-Model Support: Groq, Ollama, OpenAI-compatible endpoints
- Interactive UI: Real-time monitoring, manual/auto execution modes
- Python 3.11+
uvinstalled (Astral uv)- Node.js 20+
- At least one LLM provider key (for example Openai)
git clone https://github.com/Daham-Mustaf/odrl-multi-agent-llm.git
cd odrl-multi-agent-llmcd backend
cp .env.example .envEdit backend/.env (example):
ENABLE_GROQ=true
GROQ_API_KEY=your_key_here
DEFAULT_MODEL=groq:llama-3.3-70b-versatileThen install dependencies:
uv synccd ../frontend
cp .env.example .envEdit frontend/.env:
REACT_APP_API_URL=http://localhost:8000
DISABLE_ESLINT_PLUGIN=trueThen install dependencies:
npm installTerminal 1 (backend):
cd backend
uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000Terminal 2 (frontend):
cd frontend
HOST=0.0.0.0 PORT=3000 npm startOpen: http://localhost:3000
Backend health check:
curl http://localhost:8000/healthProduction deployment: Deployment Guide
graph LR
A[Natural Language] --> B[Parser Agent]
B --> C{Checkpoint I}
C -->|✓ Valid| D[Reasoner Agent]
C -->|✗ Conflicts| E[User Review]
D --> F[Generator Agent]
F --> G{Checkpoint II}
G -->|✓ Valid| H[ODRL Policy]
G -->|✗ Invalid| F
Figure: Multi-agent pipeline with dual human checkpoints. Reasoner (Checkpoint I) enables pre-generation review; Validator (Checkpoint II) enables post-generation refinement. Red dashed: edit input; orange dashed: regenerate; green: continue. Supports per-agent LLM configuration.
| Guide | Description |
|---|---|
| Deployment | Ubuntu production setup |
| Configuration | Environment & settings |
| Development | Local setup & structure |
| Testing | Test procedures |
| API Reference | Backend endpoints |
Video Demo: https://youtu.be/bpEZx8cqiRQ
Screenshot Demos: Check the full demos here.
This repository serves as the installable package for ACL demo evaluation.
- Source code: github.com/Daham-Mustaf/odrl-multi-agent-llm
- Stable version: use the tagged release for your submission (recommended) or a fixed commit hash
- Installation and run instructions: see
Quick Startand docs/DEPLOYMENT.md
If a public live demo endpoint is not available, reviewers can reproduce the system locally from this package using the steps above.
Backend: FastAPI • LangChain • LangGraph • RDFLib • PySHACL
Frontend: React • Tailwind CSS
LLMs: Groq • Ollama • OpenAI-compatible • Google GenAI
- Daham M. Mustafa - Fraunhofer FIT, Sankt Augustin, Germany
- Yixin Peng - RWTH Aachen University, Germany
- Diego Collarana - Fraunhofer FIT, Sankt Augustin, Germany
- Christoph Lange - Fraunhofer FIT & RWTH Aachen University, Germany
- Christoph Quix - Fraunhofer FIT & RWTH Aachen University, Germany
- Stefan Decker - Fraunhofer FIT & RWTH Aachen University, Germany
If you use this software in your research, please cite:
BibTeX:
@software{mustafa_2025_odrl,
author = {Mustafa, Daham M. and
Yixin, Peng and
Collarana, Diego and
Lange, Christoph and
Quix, Christoph and
Decker, Stefan},
title = {ODRL Multi-Agent LLM: A Multi-Agent System for
ODRL Policy Generation},
year = 2025,
publisher = {Zenodo},
version = {v2.1.0},
doi = {10.5281/zenodo.17670391},
url = {https://doi.org/10.5281/zenodo.17670391}
}Contributions welcome! See CONTRIBUTING.md
MIT License - see LICENSE
- Repository: github.com/Daham-Mustaf/odrl-multi-agent-llm
- Issues: Report a bug
- ODRL Spec: w3.org/TR/odrl-model