Agent IA de recommandation de jeux vidéo. GolAi analyse votre bibliothèque, vos préférences et le contexte de la conversation pour suggérer quoi jouer ensuite — avec des recommandations actionnables (jaquettes, métadonnées, liens stores) directement dans le chat.
Démo live · À propos · Contact
Chat agentique
- Conversation naturelle avec l'assistant, streaming SSE en temps réel
- L'agent recherche et raisonne dans votre bibliothèque avant de répondre
- Mode anonyme sans compte (bibliothèque fictive fournie)
Import de bibliothèque
- Import automatique depuis Steam, PSN et Xbox
- Synchronisation des statuts (terminé, en cours, abandonné, backlog)
RAG hybride
- Recherche lexicale
pg_trgm+ similarité vectoriellepgvector - Embeddings multilingues BGE-M3 (CPU-only, pas de dépendance cloud)
- Données enrichies : IGDB, SteamSpy, RAWG, OpenCritic, HowLongToBeat
Mutations IA confirmées
- L'agent propose des actions (ajouter, noter, changer statut) sous forme de cartes cliquables
- L'utilisateur confirme ou refuse avant que la bibliothèque soit modifiée
Production readiness
- Rate limiting Postgres
FOR UPDATE - Traces LLM complètes via Langfuse
- Monitoring erreurs Sentry
- Backups Postgres automatiques vers Backblaze B2
| Couche | Technologies |
|---|---|
| Backend | Python 3.12 · FastAPI · SQLAlchemy async · Alembic |
| Agent IA | Pydantic AI · Anthropic Haiku 4.5 · prompt caching · LiteLLM |
| Recherche | PostgreSQL 16 · pgvector · pg_trgm · BGE-M3 |
| Sources données | Steam · PSN · Xbox · IGDB · SteamSpy · RAWG · HowLongToBeat |
| Frontend | React 18 · TypeScript · Vite · Tailwind CSS v4 |
| Observabilité | Langfuse · Sentry |
| Ops | Docker Compose · nginx · GitHub Actions · Backblaze B2 |
flowchart LR
U[Utilisateur] --> N[nginx]
N --> F[Frontend React]
N --> A[API FastAPI]
F --> A
A --> DB[(PostgreSQL + pgvector)]
A --> AG[Agent Pydantic AI]
AG --> LLM[Anthropic Haiku 4.5]
AG --> DB
A --> LF[Langfuse]
A --> SE[Sentry]
Le flux RAG : à chaque message, l'agent récupère les jeux pertinents de la bibliothèque (hybride lexical + vectoriel), les injecte dans le contexte avec prompt caching, puis streame la réponse en SSE.
Prérequis : Docker, Python 3.12, Node 22.
cp .env.example .env
# Renseigner au minimum : ANTHROPIC_API_KEYAvec Docker Compose (recommandé) :
docker compose upAccès : frontend http://localhost:5173, API http://localhost:8000.
Sans Docker (développement) :
# Base de données uniquement
docker compose up -d db
# Backend
backend/venv/bin/alembic upgrade head
backend/venv/bin/python -m uvicorn app.main:app --app-dir backend --reload
# Frontend (depuis le dossier frontend/)
nvm use 22
npm ci
npm run devTests backend :
backend/venv/bin/python -m pytest- Architecture Decision Records — 18 décisions techniques documentées (MADR 4.0)
- Workflow agentique — RAG, tools, guardrails, streaming
- Stratégie routage LLM
- Observabilité
- Backup / Restore Postgres
- Identité visuelle
Construit par David Gola, ingénieur IA / backend Python.
