forked from AI_team/Philosophy-RAG-demo
64 lines
2.2 KiB
Markdown
64 lines
2.2 KiB
Markdown
# 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.
|
|
|
|
```bash
|
|
chainlit run generic_rag/app.py # will not work
|
|
```
|
|
|
|
Instead, the app can be launched and debugged the usual way.
|
|
|
|
```bash
|
|
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](generic_rag/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.
|
|
|
|
- [langchain cloud chat model doc](https://python.langchain.com/docs/integrations/chat/)
|
|
- [langchain local chat model doc](https://python.langchain.com/docs/how_to/local_llms/)
|
|
- [langchain cloud/local emb model doc](https://python.langchain.com/docs/integrations/text_embedding/)
|
|
|
|
> for local models we currently use Ollama
|
|
|
|
|
|
An `.env` example is as followed.
|
|
|
|
```text
|
|
# 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."}]
|
|
```
|