add safe_print

This commit is contained in:
朱潮 2025-12-16 16:28:11 +08:00
parent b8dcccbb1d
commit de72321875
2 changed files with 12 additions and 1 deletions

View File

@ -279,6 +279,8 @@ async def create_agent_and_generate_response(
messages: 消息列表 messages: 消息列表
config: AgentConfig 对象包含所有参数 config: AgentConfig 对象包含所有参数
""" """
config.safe_print()
logger.info(f"messages={json.dumps(messages, ensure_ascii=False)}")
config.preamble_text, config.system_prompt = get_preamble_text(config.language, config.system_prompt) config.preamble_text, config.system_prompt = get_preamble_text(config.language, config.system_prompt)
# 如果是流式模式,使用增强的流式响应生成器 # 如果是流式模式,使用增强的流式响应生成器

View File

@ -1,9 +1,11 @@
"""Agent配置类用于管理所有Agent相关的参数""" """Agent配置类用于管理所有Agent相关的参数"""
from typing import Optional, List, Dict, Any from typing import Optional, List, Dict, Any
from pydantic import BaseModel, Field
from dataclasses import dataclass from dataclasses import dataclass
import logging
import json
logger = logging.getLogger('app')
@dataclass @dataclass
class AgentConfig: class AgentConfig:
@ -53,6 +55,13 @@ class AgentConfig:
'tool_response': self.tool_response, 'tool_response': self.tool_response,
'preamble_text': self.preamble_text 'preamble_text': self.preamble_text
} }
def safe_print(self):
"""安全打印配置,避免打印敏感信息"""
safe_dict = self.to_dict().copy()
if 'api_key' in safe_dict and isinstance(safe_dict['api_key'], str) and safe_dict['api_key'].startswith('sk-'):
safe_dict['api_key'] = safe_dict['api_key'][:8] + '***' + safe_dict['api_key'][-6:]
logger.info(f"config={json.dumps(safe_dict, ensure_ascii=False)}")
@classmethod @classmethod
def from_v1_request(cls, request, api_key: str, project_dir: Optional[str] = None, generate_cfg: Optional[Dict] = None): def from_v1_request(cls, request, api_key: str, project_dir: Optional[str] = None, generate_cfg: Optional[Dict] = None):