A Philosophy RAG demo
Go to file
2025-03-15 14:14:58 +01:00
generic_rag Remove dependency on huggingface and use Ollama 2025-03-15 14:12:24 +01:00
.gitignore Add .chroma directory to gitignore 2025-03-14 23:50:54 +01:00
.python-version Initial chainlit + langchain commit 2025-03-11 17:31:24 +01:00
pyproject.toml Remove dependency on huggingface and use Ollama 2025-03-15 14:12:24 +01:00
README.md Update readme with .env information 2025-03-15 14:14:58 +01:00
requirements.txt Add requirements.txt and uv.lock file 2025-03-11 17:31:24 +01:00
uv.lock Remove dependency on huggingface and use Ollama 2025-03-15 14:12:24 +01:00

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."}]