Files
SmartVoyage/conf.py
liangfangxing 0b087df55e feat: mcp
2026-03-20 11:26:44 +08:00

83 lines
1.6 KiB
Python

from pydantic_settings import BaseSettings
from pydantic import ConfigDict
import pathlib
APP_DIR = pathlib.Path(__file__).parent
class Settings(BaseSettings):
# LLM配置
model_name: str
api_key: str
base_url: str
dashscope_model_name:str
# 本地部署qwen3-14b模型配置
local_model_name: str
local_api_key: str
local_base_url: str
# 向量模型配置
bge_m3_model_name: str
bge_m3_base_url: str
bge_m3_api_key: str
# 排序模型配置
bge_reranker_model_name: str
bge_reranker_base_url: str
# Mysql配置
mysql_host: str
mysql_port: str
mysql_user: str
mysql_password: str
mysql_database: str
# ES配置
es_host: str
es_username: str
es_password: str
# ES配置
milvus_host: str
milvus_port: str
milvus_user: str
milvus_password: str
# Redis配置
redis_host: str
redis_port: str
redis_password: str
rag_cache_expire: int
# 其他配置
max_doc_length: int
faq_threshold: float
recall_threshold: float
# 日志配置
log_file: str = str(APP_DIR / 'logs' / 'app.log')
# 映射配置文件的配置
model_config = ConfigDict(
extra='allow',
env_file=str(APP_DIR / '.env'),
case_sensitive=False,
)
# @property
# def url(self):
# mysql_url = f"mysql+pymysql://{settings.mysql_user}:{self.mysql_password}@{self.mysql_host}:{self.mysql_port}/{self.mysql_database}"
# return mysql_url
settings = Settings()
if __name__ == '__main__':
print(APP_DIR)
print(settings.model_name)
print(settings.api_key)
print(settings.base_url)