Cultural assistant · Case study
Finding events in natural language
An assistant connecting a request to relevant events through a cultural information corpus.
My role: AI pipeline, API, interface and evaluation.
View resultsFrom request to answer
Project architecture · Explore each step
“I’m looking for a contemporary art exhibition in Marseille.”
Question from the recorded evaluation (translated)
Understand the requestReact → FastAPI
The interface sends the question and session. Routing distinguishes a conversation from a cultural corpus search.
Retrieve eventsMistral embeddings → FAISS
The request is represented as a vector to retrieve similar documents from the index. Retrieval relevance determines the available context.
Build the answerLangChain / LCEL → Mistral
The model receives the question, retrieved context and history. The prompt asks for an answer grounded in the supplied events and their sources.
Keep the contextPostgreSQL
Exchanges are linked to a session and persisted. The recorded evaluation then examines latency and keyword coverage in the answers.
An explanatory pipeline diagram, without running the model.
Connecting intent to real data.
Let users find events using preferences and constraints expressed in natural language.
I built the retrieval and generation pipeline, its API and interface, and a response evaluation protocol.
Three choices shaping the product
- Separate conversational exchanges from requests requiring corpus retrieval.
- Combine Mistral embeddings, a FAISS index and LangChain/LCEL generation.
- Connect the pipeline to FastAPI and React, with PostgreSQL session persistence.
Python / FastAPI / React / PostgreSQL / FAISS
What was measured.
2.412seconds mean latency
12 recorded questions: 9 RAG requests and 3 conversations.
Saved evaluation from 16 January 2026, inspected in the 9 October audit. Measurement not reproduced for this portfolio.
What I learned
This small sample helps inspect the pipeline. It does not establish general answer quality.
Keyword coverage does not measure source faithfulness. Temporal constraints remain an improvement area; retrieval and answers need independent evaluation.
Next: separately evaluate retrieval, source faithfulness and adherence to temporal constraints.
Explore the work behind the project.
Built during the OpenClassrooms AI Engineer programme. The code and detailed report document the choices, evaluated files and limitations of this study.