Reworking the LLM layer (#666)

This commit is contained in:
Yuhong Sun
2023-10-31 18:22:42 -07:00
committed by GitHub
parent d9e5795b36
commit fbf7c642a3
28 changed files with 265 additions and 1448 deletions

View File

@@ -16,11 +16,11 @@ services:
ports:
- "8080:8080"
environment:
- INTERNAL_MODEL_VERSION=${INTERNAL_MODEL_VERSION:-openai-chat-completion}
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-openai}
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-gpt-3.5-turbo}
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
- GEN_AI_ENDPOINT=${GEN_AI_ENDPOINT:-}
- GEN_AI_HOST_TYPE=${GEN_AI_HOST_TYPE:-}
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
- NUM_DOCUMENT_TOKENS_FED_TO_GENERATIVE_MODEL=${NUM_DOCUMENT_TOKENS_FED_TO_GENERATIVE_MODEL:-}
- POSTGRES_HOST=relational_db
- VESPA_HOST=index
@@ -30,10 +30,6 @@ services:
- GOOGLE_OAUTH_CLIENT_ID=${GOOGLE_OAUTH_CLIENT_ID:-}
- GOOGLE_OAUTH_CLIENT_SECRET=${GOOGLE_OAUTH_CLIENT_SECRET:-}
- DISABLE_GENERATIVE_AI=${DISABLE_GENERATIVE_AI:-}
- API_BASE_OPENAI=${API_BASE_OPENAI:-}
- API_TYPE_OPENAI=${API_TYPE_OPENAI:-}
- API_VERSION_OPENAI=${API_VERSION_OPENAI:-}
- AZURE_DEPLOYMENT_ID=${AZURE_DEPLOYMENT_ID:-}
- NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP=${NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP:-}
- DISABLE_TIME_FILTER_EXTRACTION=${DISABLE_TIME_FILTER_EXTRACTION:-}
# Don't change the NLP model configs unless you know what you're doing
@@ -63,17 +59,13 @@ services:
- index
restart: always
environment:
- INTERNAL_MODEL_VERSION=${INTERNAL_MODEL_VERSION:-openai-chat-completion}
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-openai}
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-gpt-3.5-turbo}
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
- GEN_AI_ENDPOINT=${GEN_AI_ENDPOINT:-}
- GEN_AI_HOST_TYPE=${GEN_AI_HOST_TYPE:-}
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
- POSTGRES_HOST=relational_db
- VESPA_HOST=index
- API_BASE_OPENAI=${API_BASE_OPENAI:-}
- API_TYPE_OPENAI=${API_TYPE_OPENAI:-}
- API_VERSION_OPENAI=${API_VERSION_OPENAI:-}
- AZURE_DEPLOYMENT_ID=${AZURE_DEPLOYMENT_ID:-}
- NUM_INDEXING_WORKERS=${NUM_INDEXING_WORKERS:-}
# Connector Configs
- CONTINUE_ON_CONNECTOR_FAILURE=${CONTINUE_ON_CONNECTOR_FAILURE:-}

View File

@@ -3,57 +3,57 @@
# This is only necessary when using the docker-compose.prod.yml compose file.
# Insert your OpenAI API key here If not provided here, UI will prompt on setup.
# This env variable takes precedence over UI settings.
GEN_AI_API_KEY=
# Choose between "openai-chat-completion" and "openai-completion"
INTERNAL_MODEL_VERSION=openai-chat-completion
# Use a valid model for the choice above, consult https://platform.openai.com/docs/models/model-endpoint-compatibility
GEN_AI_MODEL_VERSION=gpt-4
# Neccessary environment variables for Azure OpenAI:
API_BASE_OPENAI=
API_TYPE_OPENAI=
API_VERSION_OPENAI=
AZURE_DEPLOYMENT_ID=
# Could be something like danswer.companyname.com
WEB_DOMAIN=http://localhost:3000
# Default values here are what Postgres uses by default, feel free to change.
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
# Generative AI settings, uncomment as needed, will work with defaults
GEN_AI_MODEL_PROVIDER=openai
GEN_AI_MODEL_VERSION=gpt-4
# Provide this as a global default/backup, this can also be set via the UI
#GEN_AI_API_KEY=
# Set to use Azure OpenAI or other services, such as https://danswer.openai.azure.com/
#GEN_AI_API_ENDPOINT=
# Set up to use a specific API version, such as 2023-09-15-preview (example taken from Azure)
#GEN_AI_API_VERSION=
# If you want to setup a slack bot to answer questions automatically in Slack
# channels it is added to, you must specify the below.
# channels it is added to, you must specify the two below.
# More information in the guide here: https://docs.danswer.dev/slack_bot_setup
DANSWER_BOT_SLACK_APP_TOKEN=
DANSWER_BOT_SLACK_BOT_TOKEN=
#DANSWER_BOT_SLACK_APP_TOKEN=
#DANSWER_BOT_SLACK_BOT_TOKEN=
# Used to generate values for security verification, use a random string
SECRET=
# How long before user needs to reauthenticate, default to 1 day. (cookie expiration time)
SESSION_EXPIRE_TIME_SECONDS=86400
# The following are for configuring User Authentication, supported flows are:
# disabled
# google_oauth (login with google/gmail account)
# oidc (only in Danswer enterprise edition)
# saml (only in Danswer enterprise edition)
AUTH_TYPE=
AUTH_TYPE=google_oauth
# Set the two below to use with Google OAuth
# Set the values below to use with Google OAuth
GOOGLE_OAUTH_CLIENT_ID=
GOOGLE_OAUTH_CLIENT_SECRET=
SECRET=
# OpenID Connect (OIDC)
OPENID_CONFIG_URL=
#OPENID_CONFIG_URL=
# SAML config directory for OneLogin compatible setups
SAML_CONF_DIR=
#SAML_CONF_DIR=
# used to specify a list of allowed user domains, only checked if user Auth is turned on
# How long before user needs to reauthenticate, default to 1 day. (cookie expiration time)
SESSION_EXPIRE_TIME_SECONDS=86400
# Use the below to specify a list of allowed user domains, only checked if user Auth is turned on
# e.g. `VALID_EMAIL_DOMAINS=example.com,example.org` will only allow users
# with an @example.com or an @example.org email
VALID_EMAIL_DOMAINS=
#VALID_EMAIL_DOMAINS=
# Default values here are what Postgres uses by default, feel free to change.
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password