prompt_advance_zh

Prompt Advance 分析文档(中文版)

概述

prompt_advance.py 包含用于时空关系抽取的高级提示词模板,针对军事/情报文本。主要关注三类任务:

  1. task_1_co_occurrence:同一时间/地点共现的实体(≥2 个实体)。
  2. task_2_location_chronicle:单一地点跨多个时间的实体时间线(≥2 个时间点)。
  3. task_3_spatial_distribution:单一时间快照下多地点的实体分布(≥2 个地点)。

核心原则

  • 仅提取文本中明确信息(禁止推断/猜测)。
  • 时间/地点/实体名称使用原文表述。
  • 时间:ISO 8601 格式(例如 2024-08-01T09:00:00)。
  • 输出:严格 JSON,无关系时为空数组 []

提示词版本:1.0 (2026-01-09)。

提示词类型:定义与区别

类型 定义 关键机制 与其他类型的区别 示例输出结构
Few-shot 示例 6 个精选示例覆盖所有 3 类任务。每例包含 textthinking(分析步骤)、result(JSON)。 通过示例的上下文学习。 其他提示词的基础;无独立推理——通过示范指导模型。 用于 ReAct/CoT;例如仁爱礁共现。
ReAct 推理 + 行动循环,确保抽取准确。步骤:1. 思考(识别),2. 行动(抽取),3. 验证,4. 输出。 迭代:思考 → 行动 → 验证 → 输出。嵌入 few-shot。 动态循环 vs. 线性(CoT)或并行(Self-Consistency)。适合复杂推理。 reasoning 对象 + 3 类任务数组。
思维链 (CoT) 逐步分解(7 步:时间/地点/实体提取 → 分析 → 验证)。 线性推理链。嵌入 few-shot。 详细顺序步骤 vs. 循环(ReAct)或多角度(Self-Consistency)。最佳透明推理。 analysis 对象(步骤细节) + 3 类任务数组。
自一致性 (Self-Consistency) 多角度分析(时间/空间/实体/关系)→ 共识。 并行视角 + 投票。无 few-shot。 通过一致性降低错误 vs. 单路径(ReAct/CoT)。追求可靠性。 4 个角度对象 + final_consensus(3 类任务)。
多阶段 4 个顺序阶段:1. 时间/地点,2. 实体,3. 关系,4. 验证。 管道:一阶段输出喂入下一阶段。 模块化/可链式 vs. 整体提示词。适合结构化迭代 LLM 调用。 阶段特定 JSON,最终验证 3 类任务。

使用场景

  • Few-shot:嵌入其他提示词提供示例。
  • ReAct:需验证循环的复杂文本。
  • CoT:可解释的逐步分析。
  • Self-Consistency:高准确性共识(多次运行)。
  • 多阶段:大型文本拆分成 API 调用。

使用说明(“说明书”)

1. 准备

import prompt_advance  # 假设文件作为模块导入

2. 辅助函数

  • format_few_shot_examples() → 6 个示例的格式化字符串。
  • get_react_prompt(text: str) → str → 完整 ReAct 提示词(含示例)。
  • get_cot_prompt(text: str) → str → 完整 CoT 提示词(含示例)。
  • get_self_consistency_prompt(text: str) → str → 自一致性提示词。
  • get_staged_prompts(text: str) → Dict[str, str] → 4 个阶段提示词字典(注意:阶段 2-4 需要前阶段输出作为 {time_location_info} 等)。

3. 使用流程

通用流程

  1. 准备 text(输入句子/段落)。
  2. 选择提示类型 → 通过函数获取提示词。
  3. 送入 LLM(例如 Grok/DeepSeek)→ 解析 JSON 输出。
  4. 验证:检查 ISO 时间、原文名称、任务标准。
  5. 多运行聚合(例如 Self-Consistency)。

类型特定

ReAct/CoT

prompt = prompt_advance.get_react_prompt("您的文本")
# 送入 LLM,预期 JSON 含 reasoning + 任务

Self-Consistency

prompt = prompt_advance.get_self_consistency_prompt("您的文本")
# 运行 3-5 次,取 `final_consensus` 多数。

多阶段

stages = prompt_advance.get_staged_prompts("您的文本")
# 阶段 1 → LLM → time_loc = 输出
# 阶段 2: stages['stage2'].format(time_location_info=json.dumps(time_loc), text="...")
# 重复 3-4,链式输出。

提示

  • LLM 参数:多样性用高温度 (0.7+)(Self-Consistency);精确用低 (0.1)。
  • 错误处理:非 JSON 重试;验证 schema。
  • 批量:嵌入 queue_manager.py/main.py 处理。
  • 示例:查看 FEW_SHOT_EXAMPLES 处理边缘情况(单/多地点/时间)。

提示词模板总结

  • 全部强制纯 JSON 输出(无 Markdown)。
  • 嵌入任务定义/判断标准
  • Few-shot 用于 ReAct/CoT,提升零样本 → 少样本效果。

版本说明

  • v1.0:Few-shot + ReAct/CoT/Self-Consistency/多阶段。
  • 原则:仅基于原文,无幻觉。

生成时间:2026-02-04


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 kipleyarch@gmail.com
Obsidian