Files
assist/config_backup.txt

673 lines
18 KiB
Plaintext
Raw Permalink Normal View History

################################################################################
# DEPRECATED CONFIGURATION FILE: config/llm_config.py
################################################################################
# -*- coding: utf-8 -*-
"""
LLM配置文件 - 千问模型配置
"""
from src.agent.llm_client import LLMConfig
# 千问模型配置
QWEN_CONFIG = LLMConfig(
provider="qwen",
api_key="sk-c0dbefa1718d46eaa897199135066f00", # 请替换为您的千问API密钥
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
model="qwen-plus-latest", # 可选: qwen-turbo, qwen-plus, qwen-max
temperature=0.7,
max_tokens=2000
)
# 其他模型配置示例
OPENAI_CONFIG = LLMConfig(
provider="openai",
api_key="sk-your-openai-api-key-here",
model="gpt-3.5-turbo",
temperature=0.7,
max_tokens=2000
)
ANTHROPIC_CONFIG = LLMConfig(
provider="anthropic",
api_key="sk-ant-your-anthropic-api-key-here",
model="claude-3-sonnet-20240229",
temperature=0.7,
max_tokens=2000
)
# 默认使用千问模型
DEFAULT_CONFIG = QWEN_CONFIG
def get_default_llm_config() -> LLMConfig:
"""
获取默认的LLM配置
优先从统一配置管理器获取,如果失败则使用本地配置
"""
try:
from src.config.unified_config import get_config
config = get_config()
llm_dict = config.get_llm_config()
# 创建LLMConfig对象
return LLMConfig(
provider=llm_dict.get("provider", "qwen"),
api_key=llm_dict.get("api_key", ""),
base_url=llm_dict.get("base_url", "https://dashscope.aliyuncs.com/compatible-mode/v1"),
model=llm_dict.get("model", "qwen-plus-latest"),
temperature=llm_dict.get("temperature", 0.7),
max_tokens=llm_dict.get("max_tokens", 2000)
)
except Exception:
# 如果统一配置不可用,使用本地配置
return DEFAULT_CONFIG
################################################################################
# DEPRECATED CONFIGURATION FILE: config/integrations_config.json
################################################################################
{
"feishu": {
"app_id": "cli_a8b50ec0eed1500d",
"app_secret": "ccxkE7ZCFQZcwkkM1rLy0ccZRXYsT2xK",
"app_token": "XXnEbiCmEaMblSs6FDJcFCqsnIg",
"table_id": "tblnl3vJPpgMTSiP",
"last_updated": "2025-09-19T18:40:55.291113",
"status": "active"
},
"system": {
"sync_limit": 10,
"ai_suggestions_enabled": true,
"auto_sync_interval": 0,
"last_sync_time": null
}
}
################################################################################
# DEPRECATED CONFIGURATION FILE: config/ai_accuracy_config.py
################################################################################
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
AI准确率配置
管理AI建议的准确率阈值和相关配置
"""
from dataclasses import dataclass
from typing import Dict, Any
@dataclass
class AIAccuracyConfig:
"""AI准确率配置类"""
# 相似度阈值配置
auto_approve_threshold: float = 0.95 # 自动审批阈值≥95%
use_human_resolution_threshold: float = 0.90 # 使用人工描述阈值(<90%
manual_review_threshold: float = 0.80 # 人工审核阈值≥80%
# 置信度配置
ai_suggestion_confidence: float = 0.95 # AI建议默认置信度
human_resolution_confidence: float = 0.90 # 人工描述置信度
# 入库策略配置
prefer_human_when_low_accuracy: bool = True # 当AI准确率低时优先使用人工描述
enable_auto_approval: bool = True # 是否启用自动审批
enable_human_fallback: bool = True # 是否启用人工描述回退
def get_threshold_explanation(self, similarity: float) -> str:
"""获取相似度阈值的解释"""
if similarity >= self.auto_approve_threshold:
return f"相似度≥{self.auto_approve_threshold*100:.0f}%自动审批使用AI建议"
elif similarity >= self.manual_review_threshold:
return f"相似度≥{self.manual_review_threshold*100:.0f}%,建议人工审核"
elif similarity >= self.use_human_resolution_threshold:
return f"相似度<{self.use_human_resolution_threshold*100:.0f}%,建议使用人工描述"
else:
return f"相似度<{self.use_human_resolution_threshold*100:.0f}%,优先使用人工描述"
def should_use_human_resolution(self, similarity: float) -> bool:
"""判断是否应该使用人工描述"""
return similarity < self.use_human_resolution_threshold
def should_auto_approve(self, similarity: float) -> bool:
"""判断是否应该自动审批"""
return similarity >= self.auto_approve_threshold and self.enable_auto_approval
def get_confidence_score(self, similarity: float, use_human: bool = False) -> float:
"""获取置信度分数"""
if use_human:
return self.human_resolution_confidence
else:
return max(similarity, self.ai_suggestion_confidence)
def to_dict(self) -> Dict[str, Any]:
"""转换为字典格式"""
return {
"auto_approve_threshold": self.auto_approve_threshold,
"use_human_resolution_threshold": self.use_human_resolution_threshold,
"manual_review_threshold": self.manual_review_threshold,
"ai_suggestion_confidence": self.ai_suggestion_confidence,
"human_resolution_confidence": self.human_resolution_confidence,
"prefer_human_when_low_accuracy": self.prefer_human_when_low_accuracy,
"enable_auto_approval": self.enable_auto_approval,
"enable_human_fallback": self.enable_human_fallback
}
@classmethod
def from_dict(cls, data: Dict[str, Any]) -> 'AIAccuracyConfig':
"""从字典创建配置"""
return cls(**data)
# 默认配置实例
DEFAULT_CONFIG = AIAccuracyConfig()
# 配置预设
PRESETS = {
"conservative": AIAccuracyConfig(
auto_approve_threshold=0.98,
use_human_resolution_threshold=0.85,
manual_review_threshold=0.90,
human_resolution_confidence=0.95
),
"balanced": AIAccuracyConfig(
auto_approve_threshold=0.95,
use_human_resolution_threshold=0.90,
manual_review_threshold=0.80,
human_resolution_confidence=0.90
),
"aggressive": AIAccuracyConfig(
auto_approve_threshold=0.90,
use_human_resolution_threshold=0.80,
manual_review_threshold=0.70,
human_resolution_confidence=0.85
)
}
def get_accuracy_config(preset: str = "balanced") -> AIAccuracyConfig:
"""获取准确率配置"""
return PRESETS.get(preset, DEFAULT_CONFIG)
def update_accuracy_config(config: AIAccuracyConfig) -> bool:
"""更新准确率配置(可以保存到文件或数据库)"""
try:
# 这里可以实现配置的持久化存储
# 例如保存到配置文件或数据库
return True
except Exception:
return False
################################################################################
# DEPRECATED CONFIGURATION FILE: config/field_mapping_config.json
################################################################################
{
"field_mapping": {
"TR Number": "order_id",
"TR Description": "description",
"Type of problem": "category",
"TR Level": "priority",
"TR Status": "status",
"Source": "source",
"Date creation": "created_at",
"处理过程": "resolution",
"TR tracking": "resolution",
"Created by": "created_by",
"Module模块": "module",
"Wilfulness责任人": "wilfulness",
"Date of close TR": "date_of_close",
"Vehicle Type01": "vehicle_type",
"VIN|sim": "vin_sim",
"App remote control version": "app_remote_control_version",
"HMI SW": "hmi_sw",
"父记录": "parent_record",
"Has it been updated on the same day": "has_updated_same_day",
"Operating time": "operating_time",
"AI建议": "ai_suggestion",
"Issue Start Time": "updated_at",
"Wilfulness责任人<E4BBBB>?": "wilfulness",
"父<>?<3F>录": "parent_record",
"AI建<49>??": "ai_suggestion"
},
"field_aliases": {
"order_id": [
"TR Number",
"TR编号",
"工单号",
"Order ID",
"Ticket ID",
"工单编号",
"新字段1",
"新字段"
],
"description": [
"TR Description",
"TR描述",
"描述",
"Description",
"问题描述",
"详细描述"
],
"category": [
"Type of problem",
"问题类型",
"Category",
"分类",
"Problem Type",
"问题分类"
],
"priority": [
"TR Level",
"优先级",
"Priority",
"Level",
"紧急程度",
"重要程度"
],
"status": [
"TR Status",
"状态",
"Status",
"工单状态",
"处理状态"
],
"source": [
"Source",
"来源",
"Source Type",
"来源类型",
"提交来源"
],
"created_at": [
"Date creation",
"创建日期",
"Created At",
"Creation Date",
"创建时间"
],
"solution": [
"处理过程",
"Solution",
"解决方案",
"Process",
"处理方案"
],
"resolution": [
"TR tracking",
"Resolution",
"解决结果",
"跟踪",
"处理结果"
],
"created_by": [
"Created by",
"创建人",
"Creator",
"Created By",
"提交人"
],
"vehicle_type": [
"Vehicle Type01",
"车型",
"Vehicle Type",
"车辆类型",
"车款"
],
"vin_sim": [
"VIN|sim",
"VIN",
"车架号",
"SIM",
"VIN/SIM",
"车辆识别号"
],
"module": [
"Module模块",
"模块",
"Module",
"功能模块"
],
"wilfulness": [
"Wilfulness责任人",
"责任人",
"负责人",
"Assignee"
],
"date_of_close": [
"Date of close TR",
"关闭日期",
"Close Date",
"完成日期"
],
"app_remote_control_version": [
"App remote control version",
"应用远程控制版本",
"App Version",
"应用版本"
],
"hmi_sw": [
"HMI SW",
"HMI软件版本",
"HMI Software",
"人机界面软件"
],
"parent_record": [
"父记录",
"Parent Record",
"上级记录",
"关联记录"
],
"has_updated_same_day": [
"Has it been updated on the same day",
"是否同日更新",
"Same Day Update",
"当日更新"
],
"operating_time": [
"Operating time",
"操作时间",
"Operation Time",
"运行时间"
],
"ai_suggestion": [
"AI建议",
"AI Suggestion",
"AI建议",
"智能建议"
],
"updated_at": [
"Issue Start Time",
"问题开始时间",
"Start Time",
"更新时间"
]
},
"field_patterns": {
"order_id": [
".*number.*",
".*id.*",
".*编号.*",
".*ticket.*",
".*新.*"
],
"description": [
".*description.*",
".*描述.*",
".*detail.*",
".*内容.*"
],
"category": [
".*type.*",
".*category.*",
".*分类.*",
".*类型.*",
".*problem.*"
],
"priority": [
".*level.*",
".*priority.*",
".*优先级.*",
".*urgent.*"
],
"status": [
".*status.*",
".*状态.*",
".*state.*"
],
"source": [
".*source.*",
".*来源.*",
".*origin.*"
],
"created_at": [
".*creation.*",
".*created.*",
".*创建.*",
".*date.*"
],
"solution": [
".*solution.*",
".*处理.*",
".*解决.*",
".*process.*"
],
"resolution": [
".*resolution.*",
".*tracking.*",
".*跟踪.*",
".*result.*"
],
"created_by": [
".*created.*by.*",
".*creator.*",
".*创建人.*",
".*author.*"
],
"vehicle_type": [
".*vehicle.*type.*",
".*车型.*",
".*车辆.*",
".*car.*"
],
"vin_sim": [
".*vin.*",
".*sim.*",
".*车架.*",
".*识别.*"
],
"module": [
".*module.*",
".*模块.*",
".*功能.*"
],
"wilfulness": [
".*wilfulness.*",
".*责任人.*",
".*负责人.*",
".*assignee.*"
],
"date_of_close": [
".*close.*",
".*关闭.*",
".*完成.*",
".*finish.*"
],
"app_remote_control_version": [
".*app.*version.*",
".*应用.*版本.*",
".*remote.*control.*"
],
"hmi_sw": [
".*hmi.*",
".*软件.*",
".*software.*"
],
"parent_record": [
".*parent.*",
".*父.*",
".*上级.*",
".*关联.*"
],
"has_updated_same_day": [
".*same.*day.*",
".*同日.*",
".*当日.*",
".*updated.*same.*"
],
"operating_time": [
".*operating.*time.*",
".*操作.*时间.*",
".*运行.*时间.*"
],
"ai_suggestion": [
".*ai.*suggestion.*",
".*ai.*建议.*",
".*智能.*建议.*"
],
"updated_at": [
".*start.*time.*",
".*开始.*时间.*",
".*updated.*at.*",
".*更新时间.*"
]
},
"field_priorities": {
"order_id": 3,
"description": 3,
"category": 3,
"priority": 3,
"status": 3,
"created_at": 3,
"source": 3,
"solution": 3,
"resolution": 3,
"created_by": 3,
"vehicle_type": 3,
"vin_sim": 3,
"module": 3,
"wilfulness": 3,
"date_of_close": 3,
"app_remote_control_version": 3,
"hmi_sw": 3,
"parent_record": 3,
"has_updated_same_day": 3,
"operating_time": 3,
"ai_suggestion": 3,
"updated_at": 3
},
"auto_mapping_enabled": true,
"similarity_threshold": 0.6
}
################################################################################
# DEPRECATED CONFIGURATION FILE: config/unified_config.json
################################################################################
{
"database": {
"url": "mysql+pymysql://tsp_assistant:password@jeason.online/tsp_assistant?charset=utf8mb4",
"pool_size": 10,
"max_overflow": 20,
"pool_timeout": 30,
"pool_recycle": 3600
},
"llm": {
"provider": "qwen",
"api_key": "sk-c0dbefa1718d46eaa897199135066f00",
"base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"model": "qwen-plus-latest",
"temperature": 0.7,
"max_tokens": 2000,
"timeout": 30
},
"server": {
"host": "0.0.0.0",
"port": 5000,
"websocket_port": 8765,
"debug": false,
"log_level": "INFO"
},
"feishu": {
"app_id": "",
"app_secret": "",
"app_token": "",
"table_id": "",
"status": "active",
"sync_limit": 10,
"auto_sync_interval": 0
},
"ai_accuracy": {
"auto_approve_threshold": 0.95,
"use_human_resolution_threshold": 0.9,
"manual_review_threshold": 0.8,
"ai_suggestion_confidence": 0.95,
"human_resolution_confidence": 0.9,
"prefer_human_when_low_accuracy": true,
"enable_auto_approval": true,
"enable_human_fallback": true
},
"system": {
"backup_enabled": true,
"backup_interval": 24,
"max_backup_files": 7,
"cache_enabled": true,
"cache_ttl": 3600,
"monitoring_enabled": true
}
}
################################################################################
# DEPRECATED CONFIGURATION FILE: src/config/config.py
################################################################################
import os
from typing import Dict, Any
class Config:
"""系统配置类"""
# 阿里云千问API配置
ALIBABA_API_KEY = "sk-c0dbefa1718d46eaa897199135066f00"
ALIBABA_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"
ALIBABA_MODEL_NAME = "qwen-plus-latest"
# 数据库配置
DATABASE_URL = "mysql+pymysql://tsp_assistant:123456@jeason.online/tsp_assistant?charset=utf8mb4"
# DATABASE_URL = "sqlite:///local_test.db" # 本地测试数据库
# 知识库配置
KNOWLEDGE_BASE_PATH = "data/knowledge_base"
VECTOR_DB_PATH = "data/vector_db"
# 对话配置
MAX_HISTORY_LENGTH = 10
RESPONSE_TIMEOUT = 30
# 分析配置
ANALYTICS_UPDATE_INTERVAL = 3600 # 1小时
ALERT_THRESHOLD = 0.8 # 预警阈值
# 日志配置
LOG_LEVEL = "INFO"
LOG_FILE = "logs/tsp_assistant.log"
# 系统监控配置
SYSTEM_MONITORING = True # 是否启用系统监控
MONITORING_INTERVAL = 60 # 监控间隔(秒)
@classmethod
def get_api_config(cls) -> Dict[str, Any]:
"""获取API配置"""
return {
"api_key": cls.ALIBABA_API_KEY,
"base_url": cls.ALIBABA_BASE_URL,
"model_name": cls.ALIBABA_MODEL_NAME
}
@classmethod
def get_database_config(cls) -> Dict[str, Any]:
"""获取数据库配置"""
return {
"url": cls.DATABASE_URL,
"echo": False
}
@classmethod
def get_knowledge_config(cls) -> Dict[str, Any]:
"""获取知识库配置"""
return {
"base_path": cls.KNOWLEDGE_BASE_PATH,
"vector_db_path": cls.VECTOR_DB_PATH
}
@classmethod
def get_config(cls) -> Dict[str, Any]:
"""获取完整配置"""
return {
"system_monitoring": cls.SYSTEM_MONITORING,
"monitoring_interval": cls.MONITORING_INTERVAL,
"log_level": cls.LOG_LEVEL,
"log_file": cls.LOG_FILE,
"analytics_update_interval": cls.ANALYTICS_UPDATE_INTERVAL,
"alert_threshold": cls.ALERT_THRESHOLD
}