Logo Lanfrica

yosayman/TURATH.ai

Domain:

natural language processing

Record type:

software
Creator:
yos
Host:
A Model to explore the morrocan and hassani culture # TURATH.ai TURATH.ai est une plateforme RAG (Retrieval-Augmented Generation) orientee patrimoine/culture, composee de trois services qui travaillent ensemble : - un frontend **Next.js** (`rag-frontend`) pour l'interface utilisateur, - un backend **Spring Boot** (`rag-backend`) pour l'orchestration du chat, - un sidecar **FastAPI + ChromaDB** (`rag-sidecar`) pour la recherche semantique. ## Apercu visuel ## Architecture du projet 1. L'utilisateur pose une question dans le frontend (`rag-frontend`). 2. Le frontend envoie la requete au backend via `POST /api/chat`. 3. Le backend appelle le sidecar Python (`localhost`) pour recuperer les passages pertinents. 4. Le backend construit la reponse finale avec le modele LLM configure (`llm.url` dans `application.properties`). 5. La reponse est retournee au frontend. ## Structure des dossiers - `rag-frontend/` : application Next.js (UI, composants, service de chat). - `rag-backend/` : API Java Spring Boot (endpoint chat, orchestration RAG). - `rag-sidecar/` : microservice FastAPI pour embeddings, reranking, et recherche ChromaDB. - `heritage_data/` et `rag-sidecar/turath_chroma_data/` : donnees/index utilises pour la recherche. - `images/` : captures et visuels du projet. ## Stack technique - **Frontend**: Next.js 16, React 19, TypeScript, Tailwind. - **Backend**: Java 17, Spring Boot 3. - **ML/RAG**: FastAPI, sentence-transformers, ChromaDB, PyTorch. ## Endpoints utiles - Backend chat : `POST localhost` - Sidecar health : `GET localhost` - Sidecar search : `GET localhost` ## Lancement rapide (local) > Les ports ci-dessous sont ceux declares dans les fichiers de configuration du projet. > Execute les commandes depuis la racine du projet (`TURATH.ai/`). ### 1) Demarrer le sidecar Python ```zsh cd rag-sidecar python3 rag_api.py ``` ### 2) Demarrer le backend S …