更新日志目录创建逻辑,调整对话到工单的日期参数默认值,新增对话记录分析功能,优化API密钥管理器中的购买余额计算,并添加多个API密钥。同时,新增数据处理和分析模块以支持工单问答数据的上传和处理。

This commit is contained in:
2025-07-15 09:27:44 +08:00
parent 5b5a2f2b16
commit 82724d206b
6 changed files with 163 additions and 62 deletions
+6 -5
View File
@@ -21,14 +21,14 @@ sys.path.append(os.getcwd())
from rag2_0.tool.ModelTool import OpenAiLLM
load_dotenv()
os.makedirs("data/logs", exist_ok=True)
# 配置日志
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.StreamHandler(),
logging.FileHandler('dialogue_to_workorder.log', encoding='utf-8')
logging.FileHandler('data/logs/dialogue_to_workorder.log', encoding='utf-8')
]
)
logger = logging.getLogger("dialogue_to_workorder")
@@ -565,7 +565,7 @@ class DialogueToWorkorder:
# 按照指定的列顺序重新排列DataFrame的列
columns_order = [
'工单编号', '产品线', '产品名称', '模块名称', '问题类型',
'客户问题', '解决方案', '是否抱怨', '是否投诉', '抱怨级别',
'客户问题', '解决方案', '是否抱怨', "抱怨内容", '是否投诉', '抱怨级别',
'会话id', '访客昵称', '处理坐席', '创建时间'
]
@@ -609,6 +609,7 @@ class DialogueToWorkorder:
'客户问题': 20,
'解决方案': 30,
'是否抱怨': 9,
'抱怨内容': 30,
'是否投诉': 9,
'抱怨级别': 9,
'会话id': 9,
@@ -639,9 +640,9 @@ def parse_arguments():
help='产品详情Excel文件路径')
parser.add_argument('--max_workers', type=int, default=16,
help='并发处理线程数,默认为16')
parser.add_argument('--start_date', type=str, required=False,default="2025-05-25 00:00:00",
parser.add_argument('--start_date', type=str, required=False,default="2025-05-01 00:00:00",
help='开始日期,格式为YYYY-MM-DD')
parser.add_argument('--end_date', type=str, required=False,default="2025-05-30 15:54",
parser.add_argument('--end_date', type=str, required=False,default="2025-05-24 23:59:59",
help='结束日期,格式为YYYY-MM-DD')
return parser.parse_args()
+4 -1
View File
@@ -29,7 +29,7 @@ logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('./data/log/mariadb_client.log'),
logging.FileHandler('./data/logs/mariadb_client.log'),
logging.StreamHandler()
]
)
@@ -267,6 +267,9 @@ class DataProcessor:
# 转换为字典列表
result = []
for record in filtered_df.to_dict('records'):
# 如果上一条消息和当前消息的发送者、创建时间、消息内容相同,则跳过
if result and result[-1]['会话id'] == record['SESSION_ID'] and result[-1]['消息发送者'] == record['message_sender'] and result[-1]['创建时间'] == record['CREATE_TIME'] and result[-1]['消息内容'] == record['processed_content']:
continue
result.append({
"账号id": record["ACCOUNT"],
"会话id": record["SESSION_ID"],