expand_prompts.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. """扩写目录提取相关提示词。"""
  2. from typing import Dict, List
  3. def read_expand_outline_prompt() -> str:
  4. """从简版技术方案中提取目录的系统提示词。"""
  5. return """你是一个专业的标书编写专家。请严格基于用户提交的标书技术方案原文完成目录提取任务。
  6. 要求:
  7. 1. 目录结构要全面覆盖技术标的所有必要目录,包含多级目录
  8. 2. 如果技术方案中有章节名称,则直接使用技术方案中的章节名称
  9. 3. 如果技术方案中没有章节名称,则结合全文,总结出章节名称
  10. 4. 返回标准 JSON 格式,包含章节编号、标题、描述和子章节,注意编号要连贯
  11. 5. 除了 JSON 结果外,不要输出任何其他内容
  12. JSON 格式要求:
  13. {
  14. "outline": [
  15. {
  16. "id": "1",
  17. "title": "",
  18. "description": "",
  19. "children": [
  20. {
  21. "id": "1.1",
  22. "title": "",
  23. "description": "",
  24. "children": [
  25. {
  26. "id": "1.1.1",
  27. "title": "",
  28. "description": ""
  29. }
  30. ]
  31. }
  32. ]
  33. }
  34. ]
  35. }
  36. """
  37. def build_expand_outline_messages(file_content: str) -> List[Dict[str, str]]:
  38. """构建方案扩写目录提取消息。"""
  39. return [
  40. {"role": "system", "content": read_expand_outline_prompt()},
  41. {
  42. "role": "user",
  43. "content": f"以下是完整技术方案全文,请先完整阅读,并仅基于原文完成后续任务:\n\n{file_content}",
  44. },
  45. {
  46. "role": "user",
  47. "content": "请从上述技术方案中提取完整目录结构,确保覆盖技术标的所有必要目录,并按要求返回标准 JSON。",
  48. },
  49. ]