2.2 KiB
generic-RAG-demo
A Sogeti Nederland generic RAG demo
Getting Started
Please mind due to use of argparse the generic RAG demo can not be launched the usual way chainlit is started.
chainlit run generic_rag/app.py # will not work
Instead, the app can be launched and debugged the usual way.
python generic_rag/app.py -p data # will work
python generic_rag/app.py --help # will work and prints command line options
.env file
A .env file needs to be populated to configure API end-points or local back-ends using environment variables. Currently all required environment variables are defined in code at backend/models.py with the exception of the API key variables itself. More information about configuring API endpoints for langchain can be found at the following locations.
for local models we currently use Ollama
An .env example is as followed.
# only need 1 backend (azure, google, local, etc)
AZURE_OPENAI_API_KEY="<secret_key>"
AZURE_LLM_ENDPOINT="https://<project_hub>.openai.azure.com"
AZURE_LLM_DEPLOYMENT_NAME="gpt-4"
AZURE_LLM_API_VERSION="2025-01-01-preview"
AZURE_EMB_ENDPOINT="https://<project_hub>.openai.azure.com"
AZURE_EMB_DEPLOYMENT_NAME="text-embedding-3-large"
AZURE_EMB_API_VERSION="2023-05-15"
LOCAL_CHAT_MODEL="llama3.1:8b"
LOCAL_EMB_MODEL="llama3.1:8b"
# google vertex AI does not use API keys but a seperate authentication method
GOOGLE_GENAI_CHAT_MODEL="gemini-2.0-flash"
GOOGLE_GENAI_EMB_MODEL="models/text-embedding-004"
Chainlit starters
Chainlit suggestions (starters) can be set with the CHAINLIT_STARTERS environment variable.
The variable should be a JSON array of objects with label and message properties.
An example is as followed.
CHAINLIT_STARTERS=[{"label":"Label 1","message":"Message one."},{"label":"Label 2","message":"Message two."},{"label":"Label 3","message":"Message three."}]