| import os |
| from dataclasses import dataclass |
|
|
|
|
| @dataclass |
| class WebConfigs: |
| """ |
| 项目所有的配置 |
| """ |
|
|
| |
| |
| |
| SERVER_FILE_ROOT = r"./static" |
|
|
| |
| PRODUCT_FILE_DIR = "product_files" |
| INSTRUCTIONS_DIR = "instructions" |
| IMAGES_DIR = "images" |
|
|
| |
| STREAMER_FILE_DIR = "digital_human" |
| STREAMER_INFO_FILES_DIR = "streamer_info_files" |
|
|
| |
| ASR_FILE_DIR = "asr" |
|
|
| |
| |
| |
|
|
| |
| TOKEN_JWT_SECURITY_KEY = "b4d77c499c312026406e5c683b6c458ba8ee62b798ab08e145b357b95c0e843b" |
| TOKEN_JWT_ALGORITHM = "HS256" |
|
|
| |
| |
| |
| POSTGRES_SERVER = os.environ.get("POSTGRES_SERVER", "127.0.0.1") |
| POSTGRES_PORT = 5432 |
| POSTGRES_USER = os.environ.get("POSTGRES_USER", "postgres") |
| POSTGRES_PASSWORD = os.environ.get("POSTGRES_PASSWORD", "") |
| POSTGRES_DB = os.environ.get("POSTGRES_DB", "streamer_sales_db") |
|
|
| |
| |
| |
| STREAMING_ROOM_CONFIG_PATH = r"./configs/streaming_room_cfg.yaml" |
| CONVERSATION_MESSAGE_STORE_CONFIG_PATH = r"./configs/conversation_message_store.yaml" |
|
|
| CONVERSATION_CFG_YAML_PATH: str = r"./configs/conversation_cfg.yaml" |
|
|
| |
| |
| |
| ENABLE_RAG: bool = True |
| ENABLE_TTS: bool = True |
| ENABLE_DIGITAL_HUMAN: bool = True |
| ENABLE_AGENT: bool = os.environ.get("ENABLE_AGENT", "true") == "true" |
| ENABLE_ASR: bool = os.environ.get("ENABLE_ASR", "true") == "true" |
|
|
| |
| |
| |
| RAG_CONFIG_PATH: str = r"./configs/rag_config.yaml" |
| RAG_VECTOR_DB_DIR: str = r"./work_dirs/instruction_db" |
| PRODUCT_INSTRUCTION_DIR_GEN_DB_TMP: str = r"./work_dirs/instructions_gen_db_tmp" |
| RAG_MODEL_DIR: str = r"./weights/rag_weights/" |
|
|
| |
| |
| |
| TTS_WAV_GEN_PATH: str = r"./work_dirs/tts_wavs" |
| TTS_MODEL_DIR: str = r"./weights/gpt_sovits_weights/" |
| TTS_INF_NAME: str = "激动说话-列车巡游银河,我不一定都能帮上忙,但只要是花钱能解决的事,尽管和我说吧。.wav" |
|
|
| |
| |
| |
|
|
| DIGITAL_HUMAN_GEN_PATH: str = r"./work_dirs/digital_human" |
| DIGITAL_HUMAN_MODEL_DIR: str = r"./weights/digital_human_weights/" |
| DIGITAL_HUMAN_BBOX_SHIFT: int = 0 |
| DIGITAL_HUMAN_VIDEO_PATH: str = rf"{SERVER_FILE_ROOT}/{STREAMER_FILE_DIR}/{STREAMER_INFO_FILES_DIR}/lelemiao.mp4" |
| DIGITAL_HUMAN_VIDEO_OUTPUT_PATH: str = rf"{SERVER_FILE_ROOT}/{STREAMER_FILE_DIR}/vid_output" |
|
|
| DIGITAL_HUMAN_FPS: str = 25 |
|
|
| |
| |
| |
| AGENT_WEATHER_API_KEY: str | None = os.environ.get("WEATHER_API_KEY", None) |
| AGENT_DELIVERY_TIME_API_KEY: str | None = os.environ.get("DELIVERY_TIME_API_KEY", None) |
|
|
| |
| |
| |
| ASR_WAV_SAVE_PATH: str = r"./work_dirs/asr_wavs" |
| ASR_MODEL_DIR: str = r"./weights/asr_weights/" |
|
|
|
|
| @dataclass |
| class ApiConfig: |
| |
| |
| |
| API_V1_STR: str = "/api/v1" |
|
|
| USING_DOCKER_COMPOSE: bool = os.environ.get("USING_DOCKER_COMPOSE", "false") == "true" |
|
|
| |
| TTS_ROUTER_NAME: str = "tts" if USING_DOCKER_COMPOSE else "0.0.0.0" |
| DIGITAL_ROUTER_NAME: str = "digital_human" if USING_DOCKER_COMPOSE else "0.0.0.0" |
| ASR_ROUTER_NAME: str = "asr" if USING_DOCKER_COMPOSE else "0.0.0.0" |
| LLM_ROUTER_NAME: str = "llm" if USING_DOCKER_COMPOSE else "0.0.0.0" |
| BASE_ROUTER_NAME: str = "base" if USING_DOCKER_COMPOSE else "localhost" |
|
|
| TTS_URL: str = f"http://{TTS_ROUTER_NAME}:8001/tts" |
| ASR_URL: str = f"http://{ASR_ROUTER_NAME}:8003/asr" |
| LLM_URL: str = f"http://{LLM_ROUTER_NAME}:23333" |
|
|
| DIGITAL_HUMAN_URL: str = f"http://{DIGITAL_ROUTER_NAME}:8002/digital_human/gen" |
| DIGITAL_HUMAN_CHECK_URL: str = f"http://{DIGITAL_ROUTER_NAME}:8002/digital_human/check" |
| DIGITAL_HUMAN_PREPROCESS_URL: str = f"http://{DIGITAL_ROUTER_NAME}:8002/digital_human/preprocess" |
|
|
| BASE_SERVER_URL: str = f"http://{BASE_ROUTER_NAME}:8000{API_V1_STR}" |
| CHAT_URL: str = f"{BASE_SERVER_URL}/streamer-sales/chat" |
| UPLOAD_PRODUCT_URL: str = f"{BASE_SERVER_URL}/streamer-sales/upload_product" |
| GET_PRODUCT_INFO_URL: str = f"{BASE_SERVER_URL}/streamer-sales/get_product_info" |
| GET_SALES_INFO_URL: str = f"{BASE_SERVER_URL}/streamer-sales/get_sales_info" |
| PLUGINS_INFO_URL: str = f"{BASE_SERVER_URL}/streamer-sales/plugins_info" |
|
|
| REQUEST_FILES_URL = f"{BASE_SERVER_URL}/files" |
|
|
|
|
| |
| WEB_CONFIGS = WebConfigs() |
| API_CONFIG = ApiConfig() |
|
|