Files
lzwcai-mcp-server-package/lzwcai_mcp_iot/lzwcai_mcp_iot/config.py
yuanzhipeng ec7e7fd7dc feat(lzwcai-demp-tool-server-dify-to-mcp): 初始化 Dify 集成工具模块
新增 Dify 到 MCP 的集成工具,支持通过 Dify API 将模型部署到 MCP 平台并进行推理。
该模块包含完整的服务器实现、依赖配置和命令行启动脚本。

主要功能:
- 支持 Workflow 和 Completion 模式的调用
- 自动翻译工具名称为驼峰命名格式
- 提供文件上传与任务停止接口
- 兼容流式与非流式响应处理
2025-12-16 17:52:04 +08:00

100 lines
3.0 KiB
Python

"""
配置文件
该模块包含了项目的所有配置常量和设置。
"""
import os
from typing import Dict, Any
from .src.logger_config import get_logger
# 延迟初始化日志器,避免在导入时立即执行
logger = None
def _ensure_logger():
"""确保日志器已初始化"""
global logger
if logger is None:
logger = get_logger(__name__)
return logger
# 生产环境
DEFAULT_DEVICE_API_BASE_URL = "http://lzwcai-demp-corp-manager:8086"
DEFAULT_VECTOR_API_BASE_URL = "http://lzwcai-demp-tool-server:5002"
# 本地环境
# DEFAULT_DEVICE_API_BASE_URL = "http://192.168.2.236:8088"
# DEFAULT_VECTOR_API_BASE_URL = "http://192.168.2.236:5002"
# 默认企业ID
# DEFAULT_ENTERPRISE_ID = "1952978233106669569"
DEFAULT_ENTERPRISE_ID = ""
# 默认员工ID
# DEFAULT_EMPLOYEE_ID = "1955949384389005313"
DEFAULT_EMPLOYEE_ID = ""
# 请求配置
REQUEST_TIMEOUT = 30 # 请求超时时间(秒)
MAX_RETRIES = 3 # 最大重试次数
# 向量服务配置
DEFAULT_VECTOR_STORE_NAME = "设备库"
DEFAULT_VECTOR_STORE_DESCRIPTION = "向量库"
DEFAULT_ENCODER_TYPE = "word2vec"
DEFAULT_TOP_K = 1
DEFAULT_AUTO_CREATE = True
# 日志配置
LOG_LEVEL = "INFO"
LOG_FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
# 环境变量配置
def get_config() -> Dict[str, Any]:
"""
获取配置信息,支持环境变量覆盖
返回:
Dict[str, Any]: 配置字典
"""
logger = _ensure_logger()
logger.debug("开始加载配置...")
config = {
"device_api_base_url": os.getenv(
"DEVICE_API_BASE_URL", DEFAULT_DEVICE_API_BASE_URL
),
"vector_api_base_url": os.getenv(
"VECTOR_API_BASE_URL", DEFAULT_VECTOR_API_BASE_URL
),
"enterprise_id": os.getenv("enterpriseId", DEFAULT_ENTERPRISE_ID),
"employeeId": os.getenv("employeeId", DEFAULT_EMPLOYEE_ID),
"request_timeout": int(os.getenv("REQUEST_TIMEOUT", REQUEST_TIMEOUT)),
"max_retries": int(os.getenv("MAX_RETRIES", MAX_RETRIES)),
"vector_store_name": os.getenv("VECTOR_STORE_NAME", DEFAULT_VECTOR_STORE_NAME),
"vector_store_description": os.getenv(
"VECTOR_STORE_DESCRIPTION", DEFAULT_VECTOR_STORE_DESCRIPTION
),
"encoder_type": os.getenv("ENCODER_TYPE", DEFAULT_ENCODER_TYPE),
"default_top_k": int(os.getenv("DEFAULT_TOP_K", DEFAULT_TOP_K)),
"default_auto_create": os.getenv(
"DEFAULT_AUTO_CREATE", str(DEFAULT_AUTO_CREATE)
).lower()
== "true",
"log_level": os.getenv("LOG_LEVEL", LOG_LEVEL),
"log_format": os.getenv("LOG_FORMAT", LOG_FORMAT),
}
logger.info("配置加载完成")
logger.debug(f"设备API地址: {config['device_api_base_url']}")
logger.debug(f"向量API地址: {config['vector_api_base_url']}")
logger.debug(f"员工ID: {config['employeeId']}")
logger.debug(f"请求超时: {config['request_timeout']}")
return config
# 全局配置实例
CONFIG = get_config()