mirror of
https://github.com/QuivrHQ/quivr.git
synced 2024-12-15 01:21:48 +03:00
ef90e8e672
# Description
Major PR which, among other things, introduces the possibility of easily
customizing the retrieval workflows. Workflows are based on LangGraph,
and can be customized using a [yaml configuration
file](core/tests/test_llm_endpoint.py), and adding the implementation of
the nodes logic into
[quivr_rag_langgraph.py](1a0c98437a/backend/core/quivr_core/quivr_rag_langgraph.py
)
This is a first, simple implementation that will significantly evolve in
the coming weeks to enable more complex workflows (for instance, with
conditional nodes). We also plan to adopt a similar approach for the
ingestion part, i.e. to enable user to easily customize the ingestion
pipeline.
Closes CORE-195, CORE-203, CORE-204
## Checklist before requesting a review
Please delete options that are not relevant.
- [X] My code follows the style guidelines of this project
- [X] I have performed a self-review of my code
- [X] I have commented hard-to-understand areas
- [X] I have ideally added tests that prove my fix is effective or that
my feature works
- [X] New and existing unit tests pass locally with my changes
- [X] Any dependent changes have been merged
## Screenshots (if appropriate):
100 lines
3.2 KiB
Plaintext
100 lines
3.2 KiB
Plaintext
#### QUIVR Configuration
|
|
# This file is used to configure the Quivr stack. It is used by the `docker-compose.yml` file to configure the stack.
|
|
|
|
# API KEYS
|
|
# OPENAI. Update this to use your API key. To skip OpenAI integration use a fake key, for example: tk-aabbccddAABBCCDDEeFfGgHhIiJKLmnopjklMNOPqQqQqQqQ
|
|
OPENAI_API_KEY=your-openai-api-key
|
|
# ANTHROPIC_API_KEY=your-anthropic-api-key
|
|
# MISTRAL_API_KEY=your-mistral-api-key
|
|
# GROQ_API_KEY=your-groq-api-key
|
|
|
|
COHERE_API_KEY=your-cohere-api-key
|
|
# JINA_API_KEY=your-jina-api-key
|
|
|
|
# UNSTRUCTURED_API_KEY=your-unstructured-api-key
|
|
# UNSTRUCTURED_API_URL=https://api.unstructured.io/general/v0/general
|
|
|
|
# LLAMA_PARSE_API_KEY=your-llamaparse-api-key
|
|
|
|
# Configuration files path
|
|
BRAIN_CONFIG_PATH=config/retrieval_config_workflow.yaml
|
|
CHAT_LLM_CONFIG_PATH=config/chat_llm_config.yaml
|
|
|
|
# LangSmith
|
|
# LANGCHAIN_TRACING_V2=true
|
|
# LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
|
|
# LANGCHAIN_API_KEY=your-langchain-api-key
|
|
# LANGCHAIN_PROJECT=your-langchain-project-name
|
|
|
|
# LOCAL
|
|
# OLLAMA_API_BASE_URL=http://host.docker.internal:11434 # Uncomment to activate ollama. This is the local url for the ollama api
|
|
|
|
########
|
|
# FRONTEND
|
|
########
|
|
|
|
NEXT_PUBLIC_ENV=local
|
|
NEXT_PUBLIC_BACKEND_URL=http://localhost:5050
|
|
NEXT_PUBLIC_SUPABASE_URL=http://localhost:54321
|
|
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6ImFub24iLCJleHAiOjE5ODM4MTI5OTZ9.CRXP1A7WOeoJeXxjNni43kdQwgnWNReilDMblYTn_I0
|
|
NEXT_PUBLIC_CMS_URL=https://cms.quivr.app
|
|
NEXT_PUBLIC_FRONTEND_URL=http://localhost:*
|
|
NEXT_PUBLIC_AUTH_MODES=password
|
|
NEXT_PUBLIC_SHOW_TOKENS=false
|
|
#NEXT_PUBLIC_PROJECT_NAME=<project-name>
|
|
|
|
|
|
########
|
|
# BACKEND
|
|
########
|
|
|
|
LOG_LEVEL=INFO
|
|
SUPABASE_URL=http://host.docker.internal:54321
|
|
EXTERNAL_SUPABASE_URL=http://localhost:54321
|
|
SUPABASE_SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS1kZW1vIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImV4cCI6MTk4MzgxMjk5Nn0.EGIM96RAZx35lJzdJsyH-qQwv8Hdp7fsn3W0YpN81IU
|
|
PG_DATABASE_URL=postgresql://postgres:postgres@host.docker.internal:54322/postgres
|
|
PG_DATABASE_ASYNC_URL=postgresql+asyncpg://postgres:postgres@host.docker.internal:54322/postgres
|
|
JWT_SECRET_KEY=super-secret-jwt-token-with-at-least-32-characters-long
|
|
AUTHENTICATE=true
|
|
TELEMETRY_ENABLED=true
|
|
CELERY_BROKER_URL=redis://redis:6379/0
|
|
CELEBRY_BROKER_QUEUE_NAME=quivr-preview.fifo
|
|
QUIVR_DOMAIN=http://localhost:3000/
|
|
BACKEND_URL=http://localhost:5050
|
|
EMBEDDING_DIM=1536
|
|
DEACTIVATE_STRIPE=true
|
|
|
|
#RESEND
|
|
RESEND_API_KEY=<change-me>
|
|
RESEND_EMAIL_ADDRESS=onboarding@resend.dev
|
|
RESEND_CONTACT_SALES_FROM=contact_sales@resend.dev
|
|
RESEND_CONTACT_SALES_TO=<change-me>
|
|
|
|
# SMTP
|
|
QUIVR_SMTP_SERVER=smtp.example.com
|
|
QUIVR_SMTP_PORT=587
|
|
QUIVR_SMTP_USERNAME=username
|
|
QUIVR_SMTP_PASSWORD=password
|
|
|
|
CRAWL_DEPTH=1
|
|
|
|
PREMIUM_MAX_BRAIN_NUMBER=30
|
|
PREMIUM_MAX_BRAIN_SIZE=10000000
|
|
PREMIUM_DAILY_CHAT_CREDIT=100
|
|
|
|
# BRAVE SEARCH API KEY
|
|
BRAVE_SEARCH_API_KEY=CHANGE_ME
|
|
|
|
|
|
# GOOGLE DRIVE
|
|
GOOGLE_CLIENT_ID=your-client-id
|
|
GOOGLE_CLIENT_SECRET=your-client-secret
|
|
GOOGLE_PROJECT_ID=your-project-id
|
|
GOOGLE_AUTH_URI=https://accounts.google.com/o/oauth2/auth
|
|
GOOGLE_TOKEN_URI=https://oauth2.googleapis.com/token
|
|
GOOGLE_AUTH_PROVIDER_CERT_URL=https://www.googleapis.com/oauth2/v1/certs
|
|
GOOGLE_REDIRECT_URI=http://localhost
|
|
|
|
# SHAREPOINT
|
|
SHAREPOINT_CLIENT_ID=your-client-id
|