制定一份完整的标书要考虑技术要求、评分标准、政策法规、竞品分析、风险管理、合规控制等多个方面,这里以good-autobid为例,结合技术要求、评分标准,示例基于LLM的标书大纲生成、章节内容生成。
1 大纲生成
为满足甲方需求,在生成大纲前,技术要求和评分标准要作为LLM生成的背景知识。
1) 大纲生成sys角色设定
OUTLINE_SYSTEM_ROLE = """你是投标文件编制专家。你的任务是根据技术要求和评分标准,生成一份测试版的投标文件大纲,只需要1个章节,每个章节包含一个节,每个节包含一个子节。
你需要确保:
1. 所有回复必须是标准的 JSON 格式
2. 大纲结构完整,包含章、节、子节三级标题
3. 一级标题与评分标准对应
4. 涵盖所有技术要求
5. 三级标题下有详细的内容边界描述输出格式必须严格遵循:
{
"body_paragraphs": [
{
"chapter_title": "第一章 xxx",
"sections": [
{
"section_title": "1.1 xxx",
"sub_sections": [
{
"sub_section_title": "1.1.1 xxx",
"content_summary": "xxx"
}
]
}
]
}
]
}"""
2) 技术要求user角色设定
tech_content为标书的技术要求
OUTLINE_TECH_USER = """这是项目的技术要求,请仔细阅读并记住这些要求:
【技术要求】
{tech_content}"""
3) 评分标准user角色设定
score_content为标书的评分要求。
OUTLINE_SCORE_USER = """这是项目的评分标准,请仔细阅读并记住这些标准:
【评分标准】
{score_content}"""
4) 大纲生成prompt设定
对话历史: sys角色设定、技术要求user角色设定、评分标准user角色设定。
对话历史需要和大纲生成prompt设定一起以message形式,提交给LLM,生成一份符合甲方技术要求和评分标准的标书大纲。
OUTLINE_GENERATE_USER = """现在请基于之前提供的技术要求和评分标准,生成一份完整的投标文件大纲。要求:
1. 确保大纲结构完整
2. 确保一级标题与评分标准对应
3. 确保涵盖所有技术要求
4. 确保三级标题下有详细的内容边界描述
5. 直接返回完整的 JSON,不要有任何其他文字
6. 确保 JSON 格式正确,不要截断"""
2 内容生成
标书一般比较长,不可能一步到位生成,而是以章节为粒度。要在给定技术要求、评分要求、以及上述大纲的前提下,综合章节标题及该章节内容要求,逐章节依次生成标书内容。
1) 内容生成sys角色设定
CONTENT_SYSTEM_ROLE = """你是一名专业的技术方案撰写专家,擅长编写 IT 信息化项目的技术文档。
你需要确保:
1. 使用专业、准确的技术术语
2. 采用连续行文的方式,避免过多的分点、分条
3. 保持客观、严谨的科技文档风格
4. 确保内容的连贯性和完整性
5. 每个三级标题的内容不少于5000字
6. 适当使用专业的图表描述(使用 mermaid 语法)"""
2) 内容生成user角色初始设定
CONTENT_INIT_USER = """请记住以下项目背景信息,后续我将逐段发送三级标题及其内容边界,请你据此生成具体内容:
【技术要求】
{tech_content}【评分标准】
{score_content}【文档大纲】
{outline}"""
3) 内容生成提示词
对话历史: 内容生成sys角色设定、内容生成user角色初始设定。
综合对话历史、内容生成提示词、以及标书三级标题和内容边界,生成具体的标书内容。
CONTENT_SECTION_USER = """请基于已预置的背景信息,生成以下章节的具体内容:
【标题】
{title}【内容边界】
{content_summary}要求:
1. 只生成正文内容,不要包含标题
2. 内容不少于5000字
3. 使用连续行文的方式
4. 保持专业、严谨的文档风格
5. 确保与整体技术方案的一致性"""
reference
---
1. good-autobid prompts
https://github.com/ImGoodBai/good-autobid/blob/main/prompts.py
2. ProposalLLM
https://github.com/William-GuoWei/ProposalLLM
3. AIBS
https://github.com/milkoloa/AIBS
4 bidding_document_generator Public