122 lines
4.0 KiB
Markdown
122 lines
4.0 KiB
Markdown
# 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 :
|
||
```bash
|
||
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=
|
||
```
|
||
|
||
Une fois les informations fournies, éxectuer la commande suivante pour lancer le projet
|
||
```bash
|
||
python .\orchestrator.py
|
||
```
|
||
|
||
* L'interface utilisateur conversationnelle se trouve sur l'adresse suivant : http://localhost:8001/
|
||
* Le Gitea se trouve à l'adresse suivante : http://localhost:3000/
|
||
___
|
||
|
||
## Arrêter le projet
|
||
|
||
```bash
|
||
python .\stop_project.py
|
||
```
|
||
___
|
||
|
||
## Visualiser les logs
|
||
|
||
```bash
|
||
docker compose -p arc-app logs -f
|
||
```
|
||
___
|
||
|
||
## Structure du projet
|
||
```bash
|
||
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 d’appel
|
||
│ │ │ ├── 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
|
||
``` |