A chat assistant that answers only from Stripe's API documentation, cites a numbered source for every claim, and
says it doesn't know when the docs have no answer. It combines embedding search, BM25 keyword search and
re-ranking, with a FastAPI backend, a Streamlit interface and a local Llama 3.1 model, all packaged with Docker.
Tested on 19 questions: all 16 answerable ones were correct and all 3 unanswerable ones were refused, with 27
automated tests. The same approach works for any company's documentation or support knowledge base