From 832d40e4902a00eb8a3e2f9728b3db1a73595ea2 Mon Sep 17 00:00:00 2001 From: Weves Date: Mon, 22 Apr 2024 21:29:17 -0700 Subject: [PATCH] Allow separate vespa config server host --- backend/danswer/configs/app_configs.py | 3 +++ backend/danswer/document_index/vespa/index.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/danswer/configs/app_configs.py b/backend/danswer/configs/app_configs.py index 1e4809d07..3f18435f5 100644 --- a/backend/danswer/configs/app_configs.py +++ b/backend/danswer/configs/app_configs.py @@ -95,6 +95,9 @@ DOCUMENT_INDEX_TYPE = os.environ.get( "DOCUMENT_INDEX_TYPE", DocumentIndexType.COMBINED.value ) VESPA_HOST = os.environ.get("VESPA_HOST") or "localhost" +# NOTE: this is used if and only if the vespa config server is accessible via a +# different host than the main vespa application +VESPA_CONFIG_SERVER_HOST = os.environ.get("VESPA_CONFIG_SERVER_HOST") or VESPA_HOST VESPA_PORT = os.environ.get("VESPA_PORT") or "8081" VESPA_TENANT_PORT = os.environ.get("VESPA_TENANT_PORT") or "19071" # The default below is for dockerized deployment diff --git a/backend/danswer/document_index/vespa/index.py b/backend/danswer/document_index/vespa/index.py index 6b8d7bf6a..46c31ed1e 100644 --- a/backend/danswer/document_index/vespa/index.py +++ b/backend/danswer/document_index/vespa/index.py @@ -20,6 +20,7 @@ import requests from retry import retry from danswer.configs.app_configs import LOG_VESPA_TIMING_INFORMATION +from danswer.configs.app_configs import VESPA_CONFIG_SERVER_HOST from danswer.configs.app_configs import VESPA_HOST from danswer.configs.app_configs import VESPA_PORT from danswer.configs.app_configs import VESPA_TENANT_PORT @@ -76,14 +77,19 @@ VESPA_DIM_REPLACEMENT_PAT = "VARIABLE_DIM" DANSWER_CHUNK_REPLACEMENT_PAT = "DANSWER_CHUNK_NAME" DOCUMENT_REPLACEMENT_PAT = "DOCUMENT_REPLACEMENT" DATE_REPLACEMENT = "DATE_REPLACEMENT" -VESPA_CONFIG_SERVER_URL = f"http://{VESPA_HOST}:{VESPA_TENANT_PORT}" -VESPA_APP_CONTAINER_URL = f"http://{VESPA_HOST}:{VESPA_PORT}" + +# config server +VESPA_CONFIG_SERVER_URL = f"http://{VESPA_CONFIG_SERVER_HOST}:{VESPA_TENANT_PORT}" VESPA_APPLICATION_ENDPOINT = f"{VESPA_CONFIG_SERVER_URL}/application/v2" + +# main search application +VESPA_APP_CONTAINER_URL = f"http://{VESPA_HOST}:{VESPA_PORT}" # danswer_chunk below is defined in vespa/app_configs/schemas/danswer_chunk.sd DOCUMENT_ID_ENDPOINT = ( f"{VESPA_APP_CONTAINER_URL}/document/v1/default/{{index_name}}/docid" ) SEARCH_ENDPOINT = f"{VESPA_APP_CONTAINER_URL}/search/" + _BATCH_SIZE = 100 # Specific to Vespa _NUM_THREADS = ( 16 # since Vespa doesn't allow batching of inserts / updates, we use threads