Projet ARC

Contexte du Projet

ARC est une plateforme d'automatisation du développement logiciel basée sur un workflow multi-agents (IA). Le système orchestre plusieurs modèles d'IA spécialisés pour transformer un besoin utilisateur en un code source validé, testé et stocké.

Lancer le projet

Avant de lancer le projet, il est important de créer le fichier .env dans le dossier /backend et de remplir les éléments suivant :

LLM_BASE_URL=
LLM_API_KEY=
LLM_MODEL=
LLM_MODEL_DEV=
LLM_MODEL_QA=
EMBEDDING_BASE_URL=
EMBEDDING_MODEL=
GITEA_ADMIN_USER=
GITEA_ADMIN_PASSWORD=

Lancer l'environnement virtuel :

cd ./backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
cd ../

Une fois les informations fournies et l'environnement virtuel lancé, exéctuer la commande suivante pour lancer le projet

python .\orchestrator.py

Arrêter le projet

python .\stop_project.py

Visualiser les logs

docker compose -p arc-app logs -f  

Structure du projet

ARC/
├── backend/
│   ├── app/
│   │   ├── agents/                     # Gestion agents IA
│   │   │   ├── pm_agent.py
│   │   │   ├── dev_agent.py
│   │   │   └── qa_agent.py
│   │   │
│   │   ├── api/
│   │   │   └── routes/
│   │   │       ├── health.py
│   │   │       └── workflow.py
│   │   │
│   │   ├── core/
│   │   │   ├── config.py
│   │   │   └── logging.py
│   │   │
│   │   ├── graph/                      # LangGraph
│   │   │   ├── state.py
│   │   │   ├── nodes.py
│   │   │   └── workflow.py
│   │   │
│   │   ├── llm/                        # appels modèles
│   │   │   ├── client.py               # wrapper dappel
│   │   │   ├── prompts.py              # prompts centralisés
│   │   │
│   │   ├── repositories/               # accès externes, Qdrant / Redis / stockage
│   │   │   ├── qdrant_repository.py
│   │   │   ├── redis_repository.py
│   │   │   └── project_repository.py
│   │   │
│   │   ├── sandbox/
│   │   │   ├── qa_client.py
│   │   │   ├── main.py                 # Code exec dans le container sandbox
│   │   │   └── Dockerfile.qa
│   │   │
│   │   ├── schemas/                    # Pydantic 
│   │   │   ├── api.py
│   │   │   ├── spec.py
│   │   │   ├── code_output.py
│   │   │   └── qa_report.py
│   │   │
│   │   ├── services/
│   │   │   ├── workflow_service.py
│   │   │   ├── embedding_service.py
│   │   │   ├── retrieval_service.py
│   │   │   └── delivery_service.py
│   │   │
│   │   └─── main.py
│   │
│   ├── public/
│   │   ├── logo_dark.png
│   │   └── logo_light.png
│   │
│   ├── tests/
│   │   ├── test_health.py
│   │   ├── test_workflow.py
│   │   ├── test_agents.py
│   │   ├── test_gemma.py
│   │   ├── test_mistral.py
│   │   ├── test_qdrant.py
│   │   └── test_snowflake.py
│   │
│   ├── .env                          # IMPORTANT élément à remplir
│   ├── chainlit_app.py
│   ├── chainlit_fr_FR.md
│   ├── docker-compose-ai.yml         # Conteneurs pour les agents et l'embedding
│   ├── docker-compose-infra.yml      # Conteneurs pour les BDD
│   ├── docker-compose-sandbox.yml    # Conteneur pour la sandbox/qa
│   ├── docker-compose.yml            # Conteneur de l'application
│   ├── Dockerfile
│   ├── README.md
│   ├── requirements.txt
│   └── start.sh                      # Lance les applications
│
├── orchestrator.py                   # Lance le projet
├── README.md
└── stop_project.py                   # Stop le projet
Description
Plateforme d'automatisation de développement logiciel basée sur un workflow multi-agents (IA)
Readme 1.4 MiB
Languages
Python 99.3%
Dockerfile 0.4%
Shell 0.2%
CSS 0.1%