Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

242 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sahteïn

Assistant culinaire libanais de L'Orient-Le Jour — un RAG sur les recettes de chefs publiées dans « Liban à Table ».

Architecture

FastAPI + Postgres/pgvector + tsvector + Redis (cache + queue arq), Docker, Alembic. Pipeline RAG hybride (dense + lexical → RRF → rerank Cohere → rerank article → génération groundée phrase-par-phrase).

v4/
├── backend/app/        # API + RAG + LLM + ingestion + db
├── web_static/         # frontend (widget, demo, admin, dashboard)
├── scripts/            # ingest_cli, run_rag_eval, audits
├── data/               # golden_eval_fr.json (marqueurs), olj_seed_ids.json
├── docs/               # runbooks, go-live, audit RAG/Epicure
└── Dockerfile.web      # image déployée par railway.toml

Démarrage local

cd v4
pip install -e .[dev]
cp .env.example .env          # OPENAI_API_KEY, DATABASE_URL, REDIS_URL, COHERE_API_KEY...
docker compose -f infra/docker-compose.yml up -d   # Postgres + Redis
cd infra/alembic && alembic upgrade head
python -m scripts.ingest_cli reindex-all --publication 17 --content-type 4 --seed-file data/olj_seed_ids.json
python -m uvicorn backend.main:app --reload

Tests & marqueurs d'acceptation

cd v4 && set PYTHONPATH=.
pytest -q                                              # 60 tests unitaires
python scripts/run_rag_eval.py --golden data/golden_eval_fr.json   # golden set (DB peuplée)

Voir Specifications.md pour le périmètre, l'arbitrage modèle et la définition de « FINI ».

Déploiement

Railway : service web (v4/Dockerfile.web) + Postgres (pgvector) + Redis. Health check GET /healthz. Détails : v4/docs/railway-runbook.md.

Licence

Usage interne L'Orient-Le Jour.

About

A agentic rag for mediterranean recipe

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages