标书智能体(三)——生成标书正文代码+提示词

用Python+React打造一个开源的AI写标书智能体~

完整代码已开源

代码很多,文章只放主要代码和提示词,完整代码可以查看开源项目

Github: github.com/yibiaoai/yi...

Gitee: gitee.com/yibiao-ai/y...

今天是第三期,根据生成好的提纲,填充标书内容。

正文生成,并不像上一节讲的提纲生成那么复杂,核心难点只有两个:

  • 标书需求字数太多: 一份标书动辄几万几十万字,直接让AI生成必然行不通。有了上一节生成提纲的经验,我们已经知道答案了,那就是把正文也打碎,让AI按照提纲的叶子节点,逐节生成正文。
  • 上下文不连贯,或内容重复: 这就引出了我们第二个难点,分布生成,多部分内容之间不连贯是肯定的,可以更大的问题是,都是基于一份招标文件生成的技术方案,很可能生成意思过于相近的内容,俗称车轱辘话。 下面,咱们就来逐项分析一下,如何解决上述难点。

一、获取生成内容所需信息

从前端拆分提纲,提纲的每一个叶子节点都发起一个生成请求,需要传递以下参数

python 复制代码
class ChapterContentRequest(BaseModel):
    """单章节内容生成请求"""
    chapter: Dict[str, Any] = Field(..., description="章节信息")
    parent_chapters: Optional[List[Dict[str, Any]]] = Field(None, description="上级章节列表")
    sibling_chapters: Optional[List[Dict[str, Any]]] = Field(None, description="同级章节列表")
    project_overview: str = Field("", description="项目概述")
  • chapter: 本章节信息,不多说,这是必须的
json 复制代码
{
  "id": "3.2.2",
  "title": "技术实力",
  "description": "技术研发能力和创新情况"
}
  • parent_chapters: 上级章节列表,为了保持连贯性
  • sibling_chapters: 同级章节列表,为了生成内容不重复
  • project_overview: 项目概述,这是核心,让AI知道自己要写的标书的核心需求

二、核心提示词

SystemPrompt

markdown 复制代码
你是一个专业的标书编写专家,负责为投标文件的技术标部分生成具体内容。

要求:
1. 内容要专业、准确,与章节标题和描述保持一致
2. 这是技术方案,不是宣传报告,注意朴实无华,不要假大空
3. 语言要正式、规范,符合标书写作要求,但不要使用奇怪的连接词,不要让人觉得内容像是AI生成的
4. 内容要详细具体,避免空泛的描述
5. 注意避免与同级章节内容重复,保持内容的独特性和互补性
6. 直接返回章节内容,不生成标题,不要任何额外说明或格式标记

UserPrompt 这个就需要拼接一下了

markdown 复制代码
项目概述信息:
{project_overview}

请为以下标书章节生成具体内容:

{context_info if context_info else ''}

当前章节信息:
章节ID: {chapter_id}
章节标题: {chapter_title}
章节描述: {chapter_description}

请根据项目概述信息和上述章节层级关系,生成详细的专业内容,确保与上级章节的内容逻辑相承,同时避免与同级章节内容重复,突出本章节的独特性和技术方案的优势。

context_info是拼接的上级、统计节点信息

python 复制代码
# 构建上下文信息
context_info = ""

# 上级章节信息
if parent_chapters:
    context_info += "上级章节信息:\n"
    for parent in parent_chapters:
        context_info += f"- {parent['id']} {parent['title']}\n  {parent['description']}\n"

# 同级章节信息(排除当前章节)
if sibling_chapters:
    context_info += "同级章节信息(请避免内容重复):\n"
    for sibling in sibling_chapters:
        if sibling.get('id') != chapter_id:  # 排除当前章节
            context_info += f"- {sibling.get('id', 'unknown')} {sibling.get('title', '未命名')}\n  {sibling.get('description', '')}\n"

拼接后的完整user_prompt示例

请为以下标书章节生成具体内容: 上级章节信息:

  • 1 投标文件技术要求响应程度 对项目技术要求的响应和符合情况
  • 1.1 技术规格响应 详细描述投标产品技术参数与招标技术要求的符合性

同级章节信息(请避免内容重复):

  • 1.1.2 技术文件完整性 提供的技术文件是否齐全、规范 当前章节信息: 章节ID: 1.1.1 章节标题: 灯具规格符合性 章节描述: 逐项说明各灯具规格与招标文件要求的匹配情况

请根据项目概述信息和上述章节层级关系,生成详细的专业内容,确保与上级章节的内容逻辑相承,同时避免与同级章节内容重复,突出本章节的独特性和技术方案的优势。

就这么简单,生成正文不需要过多的逻辑推理,用最普通的大模型即可实现稳定输出,也几乎不存在生成失败的问题~

完整代码已开源

Github: github.com/yibiaoai/yi...

Gitee: gitee.com/yibiao-ai/y...

相关推荐
码途漫谈3 分钟前
Easy-Vibe开发篇阅读笔记(四)——前端开发之结合 Agent Skills 美化界面
人工智能·笔记·ai·开源·ai编程
易连EDI—EasyLink8 分钟前
易连EDI–EasyLink实现OCR智能数据采集
网络·人工智能·安全·汽车·ocr·edi
冬奇Lab20 分钟前
RAG 系列(二):用 LangChain 搭建你的第一个 RAG Pipeline
人工智能·langchain·llm
学习论之费曼学习法34 分钟前
多模态大模型实战:用 GPT-4o API 打造 AI 助手,能看、能听、能说!
人工智能
昨夜见军贴061643 分钟前
IACheck与AI报告审核,开启供应商资质核验报告审核新篇章
人工智能
m0_726365831 小时前
Ai漫剧系统 几分钟,让AI 把一篇小说变成了一部漫剧成片:从剧本到视频的全流程系统实现
人工智能·语言模型·ai作画·音视频
AIwenIPgeolocation1 小时前
出海应用合规与风控平衡术:可信ID的全球安全实践
人工智能·安全
WordPress学习笔记1 小时前
镌刻中式美学的高端WordPress主题
大数据·人工智能·wordpress
直奔標竿1 小时前
Java开发者AI转型第二十七课!Spring AI 个人知识库实战(六)——全栈闭环收官,解锁前端流式渲染终极技巧
java·开发语言·前端·人工智能·后端·spring
科技社2 小时前
咪咕互娱亮相数字中国峰会:“精品游戏+轻量终端”组合,打开数字娱乐新想象
人工智能