重构系统界面与页面命名,全面清除emoji元素并规范专业展示

This commit is contained in:
Chen Xiao
2026-10-12 16:56:53 +08:00
parent 33ed60acc0
commit 29b26452be
73 changed files with 3211 additions and 932 deletions
@@ -15,7 +15,7 @@ logger = logging.getLogger(__name__)
class BaseAgent:
"""智能体基类,支持 Token 级流式 LLM 推理与降级逻辑"""
def __init__(self, name: str, system_prompt: str, role_icon: str = "🤖"):
def __init__(self, name: str, system_prompt: str, role_icon: str = ""):
self.name = name
self.system_prompt = system_prompt
self.role_icon = role_icon
@@ -96,20 +96,20 @@ class BaseAgent:
逐 Token 实时推送到 on_token_callback 渲染打字机效果
"""
self.reasoning_trace = []
self._trace("📝 构建 Context", f"准备【{self.name}】数据与 Prompt")
self._trace("构建 Context", f"准备【{self.name}】数据与 Prompt")
client = self._get_client()
if client is None:
self._trace("📌 智能体研判", "执行科创风控知识图谱深度分析")
self._trace("智能体研判", "执行科创风控知识图谱深度分析")
fallback = self.fallback_inference(prompt)
self._trace("📄 智能分析输出", fallback)
self._trace("智能分析输出", fallback)
return fallback
self._trace("🔗 大模型连接", f"已连接大模型推理服务 ({self._model})")
self._trace("大模型连接", f"已连接大模型推理服务 ({self._model})")
for attempt in range(max_retries + 1):
try:
self._trace("🚀 发起流式推理", "正在建立 SSE 流式传输通道...")
self._trace("发起流式推理", "正在建立 SSE 流式传输通道...")
t0 = time.time()
stream_resp = client.chat.completions.create(
@@ -157,11 +157,11 @@ class BaseAgent:
full_reasoning = "".join(reasoning_chunks)
if full_reasoning:
self._trace("🧠 完整思维链", full_reasoning)
self._trace("完整思维链", full_reasoning)
if final_text.strip():
self._trace("✅ 流式生成完毕", f"耗时 {elapsed:.1f}s | 产出 {len(final_text)} 字符")
self._trace("📄 原始推理输出", final_text)
self._trace("流式生成完毕", f"耗时 {elapsed:.1f}s | 产出 {len(final_text)} 字符")
self._trace("原始推理输出", final_text)
return final_text
except Exception as e:
@@ -169,7 +169,7 @@ class BaseAgent:
logger.warning(f"[{self.name}] 流式调用尝试 {attempt+1} 失败: {e}")
# 尝试非流式请求重试
try:
self._trace("🔄 智能重试", "正在发起备用推理通道...")
self._trace("智能重试", "正在发起备用推理通道...")
resp = client.chat.completions.create(
model=self._model,
messages=[
@@ -187,15 +187,15 @@ class BaseAgent:
self.on_token_callback("content", final_text)
except Exception:
pass
self._trace("✅ 推理生成完毕", f"产出 {len(final_text)} 字符")
self._trace("📄 原始推理输出", final_text)
self._trace("推理生成完毕", f"产出 {len(final_text)} 字符")
self._trace("原始推理输出", final_text)
return final_text
except Exception as e2:
self._trace("⚡ 传输异常", f"连接中断: {str(e2)}")
self._trace("传输异常", f"连接中断: {str(e2)}")
self._trace("📌 智能体专业研判", "完成科创企业特征穿透审查分析")
self._trace("智能体专业研判", "完成科创企业特征穿透审查分析")
fallback = self.fallback_inference(prompt)
self._trace("📄 智能分析输出", fallback)
self._trace("智能分析输出", fallback)
return fallback
def infer_json(self, prompt: str, temperature: float = 0.1) -> dict:
@@ -207,19 +207,19 @@ class BaseAgent:
if "```json" in result:
json_str = result.split("```json")[1].split("```")[0].strip()
parsed = json.loads(json_str)
self._trace("✅ 结构解析", "从 Markdown 成功提取 JSON 数据")
self._trace("结构解析", "从 Markdown 成功提取 JSON 数据")
return parsed
elif "```" in result:
json_str = result.split("```")[1].split("```")[0].strip()
parsed = json.loads(json_str)
self._trace("✅ 结构解析", "从代码块成功提取 JSON 数据")
self._trace("结构解析", "从代码块成功提取 JSON 数据")
return parsed
else:
parsed = json.loads(result)
self._trace("✅ 结构解析", "直接解析 JSON 成功")
self._trace("结构解析", "直接解析 JSON 成功")
return parsed
except (json.JSONDecodeError, IndexError):
self._trace("⚠️ 格式适配", "启用自动结构修正")
self._trace("格式适配", "启用自动结构修正")
logger.warning(f"[{self.name}] JSON 解析失败,返回原始文本")
return {"raw_response": result, "parse_error": True}
@@ -228,4 +228,5 @@ class BaseAgent:
return json.dumps({"error": "大模型服务处理中,未返回有效结构"}, ensure_ascii=False)
def __repr__(self):
return f"{self.role_icon} {self.name}"
return f"{self.name}"