Some checks failed
构建并部署 AI Agent 服务 / deploy (push) Has been cancelled
主要变更: 1. 创建 subgraph_tools.py - 将三个子图包装为 LangChain 工具 2. 更新 graph_tools.py - 删除旧工具,添加子图工具 3. 更新系统提示词 - 介绍三个子系统 + RAG 能力 4. 简化 backend.py - 删除独立子图 API 端点 5. 修复 service.py 字段名不匹配问题 - content -> token 6. 前端界面优化 - 移动子图测试到侧边栏、删除测试审核按钮 7. 添加 pyjwt 依赖到 requirements.txt 8. 更新 docker-compose.yml - 添加前端代码挂载
42 lines
2.1 KiB
Python
42 lines
2.1 KiB
Python
# app/prompts.py
|
||
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
|
||
|
||
def create_system_prompt(tools: list = None) -> ChatPromptTemplate:
|
||
"""
|
||
创建系统提示模板,可选择动态注入工具描述。
|
||
"""
|
||
tools_section = ""
|
||
if tools:
|
||
tool_descs = []
|
||
for tool in tools:
|
||
name = getattr(tool, 'name', None) or getattr(tool, '__name__', 'unknown_tool')
|
||
desc = (tool.description or "").split('\n')[0]
|
||
tool_descs.append(f"- {name}: {desc}")
|
||
tools_section = "\n".join(tool_descs)
|
||
|
||
system_template = (
|
||
"你是一个智能助手,具有三个专业子系统和RAG检索能力,请使用中文交流。\n\n"
|
||
"【核心功能】\n"
|
||
"1. 📚 词典/翻译子系统 - 查询单词、翻译文本、提取术语、每日一词\n"
|
||
"2. 📰 资讯分析子系统 - 查询新闻、分析URL、提取关键词、生成报告\n"
|
||
"3. 📇 通讯录子系统 - 查询联系人、添加联系人、管理通讯录\n"
|
||
"4. 🔍 RAG检索 - 从知识库中检索相关信息回答问题\n\n"
|
||
"【用户背景信息】\n"
|
||
"以下是对当前用户的已知信息和长期记忆,你必须优先采纳并在回答中体现:\n"
|
||
"{memory_context}\n"
|
||
"若包含姓名、偏好等个人信息,请自然融入回应(例如称呼名字、提及偏好)。\n\n"
|
||
"【可用工具与使用规则】\n"
|
||
f"{tools_section}\n"
|
||
"工具调用时请直接返回所需参数,无需额外说明。\n\n"
|
||
"【回答要求(必须遵守)】\n"
|
||
"1. 回答必须简洁、直接。\n"
|
||
"2. 如果你认为该问题需要进行深入的推理或思考,请务必将你的思维链或推理过程用 `<think>` 和 `</think>` 标签包裹起来,放在回答的最前面。\n"
|
||
"3. 优先利用已知用户信息进行个性化回复。\n"
|
||
"4. 若无信息可依,礼貌询问或提供通用帮助。"
|
||
)
|
||
|
||
return ChatPromptTemplate.from_messages([
|
||
("system", system_template),
|
||
MessagesPlaceholder(variable_name="messages")
|
||
])
|