Files
ARC/README.md

122 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 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
```