mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-05-04 08:50:24 +02:00
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
import os
|
|
from datetime import datetime
|
|
from types import SimpleNamespace
|
|
|
|
import yaml
|
|
|
|
from tests.regression.answer_quality.cli_utils import cleanup_docker
|
|
from tests.regression.answer_quality.cli_utils import manage_data_directories
|
|
from tests.regression.answer_quality.cli_utils import set_env_variables
|
|
from tests.regression.answer_quality.cli_utils import start_docker_compose
|
|
from tests.regression.answer_quality.cli_utils import switch_to_branch
|
|
from tests.regression.answer_quality.file_uploader import upload_test_files
|
|
from tests.regression.answer_quality.relari import answer_relari_questions
|
|
|
|
|
|
def load_config(config_filename: str) -> SimpleNamespace:
|
|
current_dir = os.path.dirname(os.path.abspath(__file__))
|
|
config_path = os.path.join(current_dir, config_filename)
|
|
with open(config_path, "r") as file:
|
|
return SimpleNamespace(**yaml.safe_load(file))
|
|
|
|
|
|
def main() -> None:
|
|
config = load_config("search_test_config.yaml")
|
|
if config.existing_test_suffix:
|
|
run_suffix = config.existing_test_suffix
|
|
print("launching danswer with existing data suffix:", run_suffix)
|
|
else:
|
|
run_suffix = datetime.now().strftime("_%Y%m%d_%H%M%S")
|
|
print("run_suffix:", run_suffix)
|
|
|
|
set_env_variables(
|
|
config.model_server_ip,
|
|
config.model_server_port,
|
|
config.use_cloud_gpu,
|
|
config.llm,
|
|
)
|
|
relari_output_folder_path = manage_data_directories(
|
|
run_suffix, config.output_folder, config.use_cloud_gpu
|
|
)
|
|
if config.branch:
|
|
switch_to_branch(config.branch)
|
|
|
|
start_docker_compose(run_suffix, config.launch_web_ui, config.use_cloud_gpu)
|
|
|
|
if not config.existing_test_suffix:
|
|
upload_test_files(config.zipped_documents_file, run_suffix)
|
|
|
|
answer_relari_questions(
|
|
config.questions_file, relari_output_folder_path, run_suffix, config.limit
|
|
)
|
|
|
|
if config.clean_up_docker_containers:
|
|
cleanup_docker(run_suffix)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|