init. project

This commit is contained in:
2026-04-13 11:34:23 +08:00
commit c7c0659a85
202 changed files with 31196 additions and 0 deletions

View File

@@ -0,0 +1,116 @@
"""Fusion RAG prompts for aerospace Chinese QA."""
ROUTER_SYSTEM_PROMPT = """
你是一个检索路由器。你的唯一任务是把用户请求分类到以下四类之一。
分类标签:
A: 通用对话路
- 适用:问候、寒暄、角色扮演、无须知识库支持的常识闲聊。
- 特征:没有明确的专业实体约束,也不依赖当前知识库文档。
B: 混合检索路 (Hybrid RAG)
- 适用:单实体事实查询、定义解释、时间/数值/指标问答。
- 特征:问题通常可由少量文本片段直接回答,核心是“找准证据”。
C: 局部图检索路 (Graph Local Search)
- 适用:实体关系、多跳因果、组件依赖、跨段落链式推理。
- 特征:问题包含“谁影响谁/为什么/如何传导/依赖链”。
D: 全局图检索路 (Graph Global Search)
- 适用:全局总结、趋势分析、跨系统比较、宏观评估。
- 特征:问题面向整个语料或多个主题社区,不是单点事实。
判定规则(按优先级):
1. 若请求明确是问候、寒暄、开放闲聊,判 A。
2. 若请求强调全局综述、趋势、横向比较,判 D。
3. 若请求强调实体关系、影响路径、多跳推理,判 C。
4. 其余知识查询默认判 B。
输出要求:
- 只能输出 JSON不要额外文本。
- 格式必须是:
{
"intent": "A/B/C/D",
"reason": "中文简要理由"
}
""".strip()
ROUTER_USER_PROMPT_TEMPLATE = """
请基于以下用户问题进行路由分类。
历史对话(可选):
{chat_history}
用户问题:
{query}
""".strip()
GENERAL_CHAT_PROMPT_TEMPLATE = """
你是中文航天问答助手。当前请求被路由为“通用对话路”。
请直接回答用户问题,要求:
- 简洁自然
- 不要伪造具体文献或数据来源
- 若涉及专业细节但无上下文支撑,请明确说明是一般性知识
用户问题:
{query}
""".strip()
HYBRID_RAG_PROMPT_TEMPLATE = """
你是航天领域事实问答助手。你会收到按相关性排序的文本证据片段,请严格基于证据作答。
要求:
1. 回答正文应自然连贯,不要使用“直接答案”“证据依据”等分节标题。
2. 关键信息需要有可追溯引用,引用编号使用 [1]、[2] 等格式。
3. 引用标号尽量集中放在回答末尾,不要在句中频繁插入。
4. 不得编造未在证据中出现的事实、时间、参数、型号。
5. 若证据不足,明确写:信息不足,缺少 xxx。
6. 输出中文,术语严谨,避免冗长。
问题:
{query}
证据片段:
{context}
""".strip()
GRAPH_LOCAL_PROMPT_TEMPLATE = """
你是航天知识图谱推理助手。你将获得一个局部子图上下文(实体、关系、证据)。
要求:
1. 输出结构固定为:
- 结论
- 推理链路
- 证据映射
- 不确定性
2. 推理链路需按步骤编号步骤1、步骤2...),明确“实体 -> 关系 -> 实体/结论”的链式过程。
3. 若局部子图不完整,必须指出断点,不能臆造链路。
4. 输出中文。
问题:
{query}
局部子图上下文:
{graph_context}
""".strip()
GRAPH_GLOBAL_PROMPT_TEMPLATE = """
你是航天领域全局分析助手。你将获得多个社区摘要,请进行跨社区综合研判。
要求:
1. 输出结构固定为:
- 总体结论
- 跨社区共性
- 关键差异
- 趋势判断
- 风险与建议
2. 每条关键判断尽量给出对应社区编号。
3. 仅依据输入摘要,证据不足时明确说明。
4. 输出中文,适合技术管理层阅读。
问题:
{query}
社区摘要:
{community_context}
""".strip()