2026-04-21 11:02:16 +08:00
|
|
|
|
"""
|
|
|
|
|
|
RAG Core 配置管理模块
|
|
|
|
|
|
集中管理所有环境变量配置项,避免散落在各个文件中
|
2026-04-21 18:41:14 +08:00
|
|
|
|
所有配置直接从环境变量读取,无默认值,避免配置混乱
|
|
|
|
|
|
需要类型转换的配置在此处理
|
2026-04-21 11:02:16 +08:00
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
import os
|
2026-04-21 20:49:10 +08:00
|
|
|
|
import dotenv
|
|
|
|
|
|
dotenv.load_dotenv()
|
2026-04-21 11:02:16 +08:00
|
|
|
|
|
2026-04-21 18:41:14 +08:00
|
|
|
|
# ========== 辅助函数:类型转换 ==========
|
|
|
|
|
|
def _get_str(key: str) -> str | None:
|
|
|
|
|
|
"""获取字符串配置"""
|
|
|
|
|
|
return os.getenv(key)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _get_int(key: str) -> int | None:
|
|
|
|
|
|
"""获取整数配置,自动转换"""
|
|
|
|
|
|
value = os.getenv(key)
|
|
|
|
|
|
if value is not None:
|
|
|
|
|
|
try:
|
|
|
|
|
|
return int(value)
|
|
|
|
|
|
except (ValueError, TypeError):
|
|
|
|
|
|
pass
|
|
|
|
|
|
return None
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ========== 向量数据库配置(URL + API密钥 配对) ==========
|
|
|
|
|
|
QDRANT_URL = _get_str("QDRANT_URL")
|
|
|
|
|
|
QDRANT_API_KEY = _get_str("QDRANT_API_KEY")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ========== 嵌入服务配置(URL + API密钥 配对) ==========
|
|
|
|
|
|
LLAMACPP_EMBEDDING_URL = _get_str("LLAMACPP_EMBEDDING_URL")
|
|
|
|
|
|
LLAMACPP_API_KEY = _get_str("LLAMACPP_API_KEY")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ========== 文档存储配置(分离配置 + 完整URI) ==========
|
|
|
|
|
|
# 分离配置(优先使用)
|
|
|
|
|
|
DB_HOST = _get_str("DB_HOST")
|
|
|
|
|
|
DB_PORT = _get_int("DB_PORT")
|
|
|
|
|
|
DB_USER = _get_str("DB_USER")
|
|
|
|
|
|
DB_PASSWORD = _get_str("DB_PASSWORD")
|
|
|
|
|
|
DB_NAME = _get_str("DB_NAME")
|
|
|
|
|
|
|
|
|
|
|
|
# 完整连接字符串(直接从环境变量读取)
|
|
|
|
|
|
DB_URI = _get_str("DB_URI")
|
|
|
|
|
|
|
|
|
|
|
|
# 文档存储 URI(直接从环境变量读取,默认同 DB_URI)
|
|
|
|
|
|
DOCSTORE_URI = _get_str("DOCSTORE_URI") or DB_URI
|
2026-04-21 11:02:16 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ========== 其他配置 ==========
|
2026-04-21 18:41:14 +08:00
|
|
|
|
# 可以在此添加其他 RAG Core 专用的配置项
|