mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-04-10 21:09:51 +02:00
Remove unused env variables (#2299)
This commit is contained in:
parent
14a9fecc64
commit
033ec0b6b1
@ -51,33 +51,9 @@ CROSS_ENCODER_RANGE_MIN = 0
|
||||
# Generative AI Model Configs
|
||||
#####
|
||||
|
||||
# If changing GEN_AI_MODEL_PROVIDER or GEN_AI_MODEL_VERSION from the default,
|
||||
# be sure to use one that is LiteLLM compatible:
|
||||
# https://litellm.vercel.app/docs/providers/azure#completion---using-env-variables
|
||||
# The provider is the prefix before / in the model argument
|
||||
# NOTE: settings like `GEN_AI_MODEL_PROVIDER`, `GEN_AI_MODEL_VERSION`, etc. which
|
||||
# used to be here are now solely configured via the UI and stored in Postgres.
|
||||
|
||||
# Additionally Danswer supports GPT4All and custom request library based models
|
||||
# Set GEN_AI_MODEL_PROVIDER to "custom" to use the custom requests approach
|
||||
# Set GEN_AI_MODEL_PROVIDER to "gpt4all" to use gpt4all models running locally
|
||||
GEN_AI_MODEL_PROVIDER = os.environ.get("GEN_AI_MODEL_PROVIDER") or "openai"
|
||||
# If using Azure, it's the engine name, for example: Danswer
|
||||
GEN_AI_MODEL_VERSION = os.environ.get("GEN_AI_MODEL_VERSION")
|
||||
|
||||
# For secondary flows like extracting filters or deciding if a chunk is useful, we don't need
|
||||
# as powerful of a model as say GPT-4 so we can use an alternative that is faster and cheaper
|
||||
FAST_GEN_AI_MODEL_VERSION = os.environ.get("FAST_GEN_AI_MODEL_VERSION")
|
||||
|
||||
# If the Generative AI model requires an API key for access, otherwise can leave blank
|
||||
GEN_AI_API_KEY = (
|
||||
os.environ.get("GEN_AI_API_KEY", os.environ.get("OPENAI_API_KEY")) or None
|
||||
)
|
||||
|
||||
# API Base, such as (for Azure): https://danswer.openai.azure.com/
|
||||
GEN_AI_API_ENDPOINT = os.environ.get("GEN_AI_API_ENDPOINT") or None
|
||||
# API Version, such as (for Azure): 2023-09-15-preview
|
||||
GEN_AI_API_VERSION = os.environ.get("GEN_AI_API_VERSION") or None
|
||||
# LiteLLM custom_llm_provider
|
||||
GEN_AI_LLM_PROVIDER_TYPE = os.environ.get("GEN_AI_LLM_PROVIDER_TYPE") or None
|
||||
# Override the auto-detection of LLM max context length
|
||||
GEN_AI_MAX_TOKENS = int(os.environ.get("GEN_AI_MAX_TOKENS") or 0) or None
|
||||
|
||||
|
@ -25,9 +25,6 @@ from langchain_core.messages.tool import ToolMessage
|
||||
from danswer.configs.app_configs import LOG_ALL_MODEL_INTERACTIONS
|
||||
from danswer.configs.app_configs import LOG_DANSWER_MODEL_INTERACTIONS
|
||||
from danswer.configs.model_configs import DISABLE_LITELLM_STREAMING
|
||||
from danswer.configs.model_configs import GEN_AI_API_ENDPOINT
|
||||
from danswer.configs.model_configs import GEN_AI_API_VERSION
|
||||
from danswer.configs.model_configs import GEN_AI_LLM_PROVIDER_TYPE
|
||||
from danswer.configs.model_configs import GEN_AI_TEMPERATURE
|
||||
from danswer.llm.interfaces import LLM
|
||||
from danswer.llm.interfaces import LLMConfig
|
||||
@ -192,10 +189,10 @@ class DefaultMultiLLM(LLM):
|
||||
timeout: int,
|
||||
model_provider: str,
|
||||
model_name: str,
|
||||
api_base: str | None = None,
|
||||
api_version: str | None = None,
|
||||
max_output_tokens: int | None = None,
|
||||
api_base: str | None = GEN_AI_API_ENDPOINT,
|
||||
api_version: str | None = GEN_AI_API_VERSION,
|
||||
custom_llm_provider: str | None = GEN_AI_LLM_PROVIDER_TYPE,
|
||||
custom_llm_provider: str | None = None,
|
||||
temperature: float = GEN_AI_TEMPERATURE,
|
||||
custom_config: dict[str, str] | None = None,
|
||||
extra_headers: dict[str, str] | None = None,
|
||||
|
@ -7,7 +7,6 @@ from langchain_core.messages import AIMessage
|
||||
from langchain_core.messages import BaseMessage
|
||||
from requests import Timeout
|
||||
|
||||
from danswer.configs.model_configs import GEN_AI_API_ENDPOINT
|
||||
from danswer.configs.model_configs import GEN_AI_NUM_RESERVED_OUTPUT_TOKENS
|
||||
from danswer.llm.interfaces import LLM
|
||||
from danswer.llm.interfaces import ToolChoiceOptions
|
||||
@ -37,7 +36,7 @@ class CustomModelServer(LLM):
|
||||
# Not used here but you probably want a model server that isn't completely open
|
||||
api_key: str | None,
|
||||
timeout: int,
|
||||
endpoint: str | None = GEN_AI_API_ENDPOINT,
|
||||
endpoint: str,
|
||||
max_output_tokens: int = GEN_AI_NUM_RESERVED_OUTPUT_TOKENS,
|
||||
):
|
||||
if not endpoint:
|
||||
|
@ -1,80 +0,0 @@
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from danswer.configs.app_configs import DISABLE_GENERATIVE_AI
|
||||
from danswer.configs.model_configs import FAST_GEN_AI_MODEL_VERSION
|
||||
from danswer.configs.model_configs import GEN_AI_API_ENDPOINT
|
||||
from danswer.configs.model_configs import GEN_AI_API_KEY
|
||||
from danswer.configs.model_configs import GEN_AI_API_VERSION
|
||||
from danswer.configs.model_configs import GEN_AI_MODEL_PROVIDER
|
||||
from danswer.configs.model_configs import GEN_AI_MODEL_VERSION
|
||||
from danswer.db.llm import fetch_existing_llm_providers
|
||||
from danswer.db.llm import update_default_provider
|
||||
from danswer.db.llm import upsert_llm_provider
|
||||
from danswer.llm.llm_provider_options import AZURE_PROVIDER_NAME
|
||||
from danswer.llm.llm_provider_options import BEDROCK_PROVIDER_NAME
|
||||
from danswer.llm.llm_provider_options import fetch_available_well_known_llms
|
||||
from danswer.server.manage.llm.models import LLMProviderUpsertRequest
|
||||
from danswer.utils.logger import setup_logger
|
||||
|
||||
|
||||
logger = setup_logger()
|
||||
|
||||
|
||||
def load_llm_providers(db_session: Session) -> None:
|
||||
existing_providers = fetch_existing_llm_providers(db_session)
|
||||
if existing_providers:
|
||||
return
|
||||
|
||||
if not GEN_AI_API_KEY or DISABLE_GENERATIVE_AI:
|
||||
return
|
||||
|
||||
well_known_provider_name_to_provider = {
|
||||
provider.name: provider
|
||||
for provider in fetch_available_well_known_llms()
|
||||
if provider.name != BEDROCK_PROVIDER_NAME
|
||||
}
|
||||
|
||||
if GEN_AI_MODEL_PROVIDER not in well_known_provider_name_to_provider:
|
||||
logger.error(f"Cannot auto-transition LLM provider: {GEN_AI_MODEL_PROVIDER}")
|
||||
return None
|
||||
|
||||
# Azure provider requires custom model names,
|
||||
# OpenAI / anthropic can just use the defaults
|
||||
model_names = (
|
||||
[
|
||||
name
|
||||
for name in [
|
||||
GEN_AI_MODEL_VERSION,
|
||||
FAST_GEN_AI_MODEL_VERSION,
|
||||
]
|
||||
if name
|
||||
]
|
||||
if GEN_AI_MODEL_PROVIDER == AZURE_PROVIDER_NAME
|
||||
else None
|
||||
)
|
||||
|
||||
well_known_provider = well_known_provider_name_to_provider[GEN_AI_MODEL_PROVIDER]
|
||||
llm_provider_request = LLMProviderUpsertRequest(
|
||||
name=well_known_provider.display_name,
|
||||
provider=GEN_AI_MODEL_PROVIDER,
|
||||
api_key=GEN_AI_API_KEY,
|
||||
api_base=GEN_AI_API_ENDPOINT,
|
||||
api_version=GEN_AI_API_VERSION,
|
||||
custom_config={},
|
||||
default_model_name=(
|
||||
GEN_AI_MODEL_VERSION
|
||||
or well_known_provider.default_model
|
||||
or well_known_provider.llm_names[0]
|
||||
),
|
||||
fast_default_model_name=(
|
||||
FAST_GEN_AI_MODEL_VERSION or well_known_provider.default_fast_model
|
||||
),
|
||||
model_names=model_names,
|
||||
is_public=True,
|
||||
display_model_names=[],
|
||||
)
|
||||
llm_provider = upsert_llm_provider(db_session, llm_provider_request)
|
||||
update_default_provider(db_session, llm_provider.id)
|
||||
logger.notice(
|
||||
f"Migrated LLM provider from env variables for provider '{GEN_AI_MODEL_PROVIDER}'"
|
||||
)
|
@ -32,7 +32,6 @@ from litellm.exceptions import UnprocessableEntityError # type: ignore
|
||||
from danswer.configs.constants import MessageType
|
||||
from danswer.configs.model_configs import GEN_AI_MAX_TOKENS
|
||||
from danswer.configs.model_configs import GEN_AI_MODEL_FALLBACK_MAX_TOKENS
|
||||
from danswer.configs.model_configs import GEN_AI_MODEL_PROVIDER
|
||||
from danswer.configs.model_configs import GEN_AI_NUM_RESERVED_OUTPUT_TOKENS
|
||||
from danswer.db.models import ChatMessage
|
||||
from danswer.file_store.models import ChatFileType
|
||||
@ -331,7 +330,7 @@ def test_llm(llm: LLM) -> str | None:
|
||||
def get_llm_max_tokens(
|
||||
model_map: dict,
|
||||
model_name: str,
|
||||
model_provider: str = GEN_AI_MODEL_PROVIDER,
|
||||
model_provider: str,
|
||||
) -> int:
|
||||
"""Best effort attempt to get the max tokens for the LLM"""
|
||||
if GEN_AI_MAX_TOKENS:
|
||||
@ -371,7 +370,7 @@ def get_llm_max_tokens(
|
||||
def get_llm_max_output_tokens(
|
||||
model_map: dict,
|
||||
model_name: str,
|
||||
model_provider: str = GEN_AI_MODEL_PROVIDER,
|
||||
model_provider: str,
|
||||
) -> int:
|
||||
"""Best effort attempt to get the max output tokens for the LLM"""
|
||||
try:
|
||||
|
@ -62,7 +62,6 @@ from danswer.document_index.interfaces import DocumentIndex
|
||||
from danswer.dynamic_configs.factory import get_dynamic_config_store
|
||||
from danswer.dynamic_configs.interface import ConfigNotFoundError
|
||||
from danswer.indexing.models import IndexingSetting
|
||||
from danswer.llm.llm_initialization import load_llm_providers
|
||||
from danswer.natural_language_processing.search_nlp_models import EmbeddingModel
|
||||
from danswer.natural_language_processing.search_nlp_models import warm_up_bi_encoder
|
||||
from danswer.natural_language_processing.search_nlp_models import warm_up_cross_encoder
|
||||
@ -182,9 +181,6 @@ def setup_postgres(db_session: Session) -> None:
|
||||
logger.notice("Verifying default standard answer category exists.")
|
||||
create_initial_default_standard_answer_category(db_session)
|
||||
|
||||
logger.notice("Loading LLM providers from env variables")
|
||||
load_llm_providers(db_session)
|
||||
|
||||
logger.notice("Loading default Prompts and Personas")
|
||||
delete_old_default_personas(db_session)
|
||||
load_chat_yamls()
|
||||
|
@ -35,13 +35,6 @@ services:
|
||||
- OPENID_CONFIG_URL=${OPENID_CONFIG_URL:-}
|
||||
- TRACK_EXTERNAL_IDP_EXPIRY=${TRACK_EXTERNAL_IDP_EXPIRY:-}
|
||||
# Gen AI Settings
|
||||
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-}
|
||||
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-}
|
||||
- FAST_GEN_AI_MODEL_VERSION=${FAST_GEN_AI_MODEL_VERSION:-}
|
||||
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
|
||||
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
|
||||
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
|
||||
- GEN_AI_LLM_PROVIDER_TYPE=${GEN_AI_LLM_PROVIDER_TYPE:-}
|
||||
- GEN_AI_MAX_TOKENS=${GEN_AI_MAX_TOKENS:-}
|
||||
- QA_TIMEOUT=${QA_TIMEOUT:-}
|
||||
- MAX_CHUNKS_FED_TO_CHAT=${MAX_CHUNKS_FED_TO_CHAT:-}
|
||||
@ -120,13 +113,6 @@ services:
|
||||
environment:
|
||||
- ENCRYPTION_KEY_SECRET=${ENCRYPTION_KEY_SECRET:-}
|
||||
# Gen AI Settings (Needed by DanswerBot)
|
||||
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-}
|
||||
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-}
|
||||
- FAST_GEN_AI_MODEL_VERSION=${FAST_GEN_AI_MODEL_VERSION:-}
|
||||
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
|
||||
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
|
||||
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
|
||||
- GEN_AI_LLM_PROVIDER_TYPE=${GEN_AI_LLM_PROVIDER_TYPE:-}
|
||||
- GEN_AI_MAX_TOKENS=${GEN_AI_MAX_TOKENS:-}
|
||||
- QA_TIMEOUT=${QA_TIMEOUT:-}
|
||||
- MAX_CHUNKS_FED_TO_CHAT=${MAX_CHUNKS_FED_TO_CHAT:-}
|
||||
|
@ -32,13 +32,6 @@ services:
|
||||
- EMAIL_FROM=${EMAIL_FROM:-}
|
||||
- TRACK_EXTERNAL_IDP_EXPIRY=${TRACK_EXTERNAL_IDP_EXPIRY:-}
|
||||
# Gen AI Settings
|
||||
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-}
|
||||
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-}
|
||||
- FAST_GEN_AI_MODEL_VERSION=${FAST_GEN_AI_MODEL_VERSION:-}
|
||||
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
|
||||
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
|
||||
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
|
||||
- GEN_AI_LLM_PROVIDER_TYPE=${GEN_AI_LLM_PROVIDER_TYPE:-}
|
||||
- GEN_AI_MAX_TOKENS=${GEN_AI_MAX_TOKENS:-}
|
||||
- QA_TIMEOUT=${QA_TIMEOUT:-}
|
||||
- MAX_CHUNKS_FED_TO_CHAT=${MAX_CHUNKS_FED_TO_CHAT:-}
|
||||
@ -112,13 +105,6 @@ services:
|
||||
environment:
|
||||
- ENCRYPTION_KEY_SECRET=${ENCRYPTION_KEY_SECRET:-}
|
||||
# Gen AI Settings (Needed by DanswerBot)
|
||||
- GEN_AI_MODEL_PROVIDER=${GEN_AI_MODEL_PROVIDER:-}
|
||||
- GEN_AI_MODEL_VERSION=${GEN_AI_MODEL_VERSION:-}
|
||||
- FAST_GEN_AI_MODEL_VERSION=${FAST_GEN_AI_MODEL_VERSION:-}
|
||||
- GEN_AI_API_KEY=${GEN_AI_API_KEY:-}
|
||||
- GEN_AI_API_ENDPOINT=${GEN_AI_API_ENDPOINT:-}
|
||||
- GEN_AI_API_VERSION=${GEN_AI_API_VERSION:-}
|
||||
- GEN_AI_LLM_PROVIDER_TYPE=${GEN_AI_LLM_PROVIDER_TYPE:-}
|
||||
- GEN_AI_MAX_TOKENS=${GEN_AI_MAX_TOKENS:-}
|
||||
- QA_TIMEOUT=${QA_TIMEOUT:-}
|
||||
- MAX_CHUNKS_FED_TO_CHAT=${MAX_CHUNKS_FED_TO_CHAT:-}
|
||||
|
@ -7,16 +7,7 @@
|
||||
WEB_DOMAIN=http://localhost:3000
|
||||
|
||||
|
||||
# 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=
|
||||
|
||||
# NOTE: Generative AI configurations are done via the UI now
|
||||
|
||||
# If you want to setup a slack bot to answer questions automatically in Slack
|
||||
# channels it is added to, you must specify the two below.
|
||||
|
@ -392,13 +392,6 @@ configMap:
|
||||
# SMTP_PASS: "" # 'your-gmail-password'
|
||||
EMAIL_FROM: "" # 'your-email@company.com' SMTP_USER missing used instead
|
||||
# Gen AI Settings
|
||||
GEN_AI_MODEL_PROVIDER: ""
|
||||
GEN_AI_MODEL_VERSION: ""
|
||||
FAST_GEN_AI_MODEL_VERSION: ""
|
||||
# GEN_AI_API_KEY: ""
|
||||
GEN_AI_API_ENDPOINT: ""
|
||||
GEN_AI_API_VERSION: ""
|
||||
GEN_AI_LLM_PROVIDER_TYPE: ""
|
||||
GEN_AI_MAX_TOKENS: ""
|
||||
QA_TIMEOUT: "60"
|
||||
MAX_CHUNKS_FED_TO_CHAT: ""
|
||||
|
@ -14,13 +14,6 @@ data:
|
||||
SMTP_PASS: "" # 'your-gmail-password'
|
||||
EMAIL_FROM: "" # 'your-email@company.com' SMTP_USER missing used instead
|
||||
# Gen AI Settings
|
||||
GEN_AI_MODEL_PROVIDER: ""
|
||||
GEN_AI_MODEL_VERSION: ""
|
||||
FAST_GEN_AI_MODEL_VERSION: ""
|
||||
GEN_AI_API_KEY: ""
|
||||
GEN_AI_API_ENDPOINT: ""
|
||||
GEN_AI_API_VERSION: ""
|
||||
GEN_AI_LLM_PROVIDER_TYPE: ""
|
||||
GEN_AI_MAX_TOKENS: ""
|
||||
QA_TIMEOUT: "60"
|
||||
MAX_CHUNKS_FED_TO_CHAT: ""
|
||||
|
Loading…
x
Reference in New Issue
Block a user