写点什么

我手搓了个“自动生成标书”的开源大模型工具

作者:白鲸开源
  • 2024-11-15
    天津
  • 本文字数:2609 字

    阅读完需:约 9 分钟

最近我写开源商业文章明显更新少了,不是我不写文章了,而是开源商业化进展很顺利,我写文章的时间都被各种写标书占满了。作为一个开源原生的商业公司,白鲸开源公司的员工几乎都是程序员,而让这些开源贡献者写标书浪费他们的开发时间不说,写出的标书质量简直没法看。而做创业公司的 CEO 和在大公司做管理者不一样,公司需要啥你就是啥,公司开完战略会,你就是第一个撸起袖子杀出去的人。结果就是我根本没时间写总结文章。有限的时间都在写一些八股文的标书。特别是到最近,连续投标写标书,写到我自己都怀疑人生了。。。


大模型来解决痛点

搞技术么,永远要想用工具解决问题,想用大模型,但是大模型胡说八道无法控制,也无法完全理解你的产品,写出来你也不敢用,关键是你交付,不是它交付。于是我自己开发了个大模型写标书的工具,用 python+大模型(兼容 ChatGPT),手搓了一个自动根据你的产品文档生成标书的大模型工具,主要思路就是分解你的产品手册到功能点,然后通过人写出来功能点和需求的映射关系直接生成 word 版本标书和 Excel 偏离表,所有的内容大模型可以缩写或者扩写,也可以直接 copy 原有相关功能。

开源标书工具的功能

这个程序功能很简单,比较恶心的是 word 版本格式的部分(调格式永远是最痛的),我调试了好几种方法才让它老老实实根据 word 模板的标题 1,标题 2,标题 3,还有正文格式,表格格式,图片格式正确生成。本着开源精神,我把工具放到了我个人的 github 下面:

大家感兴趣的可以过去自取,是 Apache License 的,所以大家如果需要可以随便用。这个软件功能如下:

  1. 拆解你的产品功能手册为可复用的若干可复用的细节文档,用于书写标书不用反复扫描原文档,提高生成标书性能,也可以针对不同功能进行魔改(默认文件名是“Template.docx”)

  2. 根据人填写的需求对应当中的对应部分,自动根据产品文档自动生成点对点应答格式的标书,包括所有小标题及内容,自动生成标题 1,2,3 格式,自动整理正文、图片、项目符号格式(默认需求对应表是“需求对应表.xlsx”,标书生成内容在“标书内容.docx”)

  3. 标书内容如果有产品需求对应表中对应功能,自动拷贝产品说明书内容到点对点应答之后(保留图片、表格,项目符号等),也可以自动重写产品文字内容以面对不同标书需求;如果无对应功能,会调用大模型自动生成相关功能说明(你自己要检查修改,大模型写完了,你实现不了别找我)

  4. 完成技术需求偏离对应表,在“需求对应表.xlsx”当中自动填写需求对应表当中点对点应答,格式为“答:全面支持,{大模型根据项目需求自动生成文本}”,同时填写标书对应的章节号码

基本上,用了这个小程序,随心所欲的修改快速生成标书。

自动生成标书效果

先执行 Extract_Word.py 生成你产品的功能点 word 文档,然后再运行 Generate.py,如果找不到功能点对应的,你可以在 Excel 里填"X",这样大模型就会自动给你生成符合需求的标书内容,不过强烈建议人工复核,根据生产完的标书就是这个样子,目录格式、正文格式、图片、图表、项目格式都根据“标书内容.docx”里面的样式就行修改了。

所有的内容会从产品手册里抽出来,自动组成客户标书需求的顺序格式,小标题、内容、图片,点对点问答全部生成出来了,省却你各种机械的工作了。

而自动生成的需求偏离表不分是是大模型自己生成的,包括对应的章节号,你根据最终需求自己用上 &符号就可以拼出来最后的需求偏离表了,不需要一个一个写了,大模型帮你都写好了。

对于我而言,把过去需要 8 个小时干的活,基本上在 30 分钟内全部搞定了,加上商务小伙伴也可以利用模板来生成商务部分对应关系(而且格式是定义好的),最终加上检查。过去搞一周时间的标书,大概 1-2 天就全部搞定了,投入人力节约了 80%。

使用方法

首先从 Github 上下载所有的代码在一个目录下,下载地址https://github.com/William-GuoWei/ProposalLLM: 标书大模型(Proposal-LLM Chinese version )

  1. 安装 python 环境,安装相关包:pip install openpyxl, docx, openai, requests, docx, python-docx

  2. 申请 ChatGPT 或者 百度千帆大模型(我使用的是 ERNIE-Speed-8K,免费模型),申请后把 Token 记录下来,填写到代码当中相应 key 的位置

  3. 拷贝产品说明手册到 Template.docx,注意,样式需要用文档中的正文,标题 1,标题 2,标题 3,其它格式可能会出现问题

  4. 运行 Extract_Word.py 生成产品手册对应的文档文件(目前支持最多 3 级标题),检查生成文件内容是不是正确,此时项目列表格式如果不对不要紧,最后生成格式为准。

  5. 填写需求对应表.xlsx,当中的 B 列,C 列(程序自动根据这个内容会生成二级、三级标题),G 列(对应产品说明书当中的功能章节,如果没有可以填 X,注意目前支持到 3 级标题,填 X 或者找不到章节的部分,大模型会自动生成内容)

  6. 检查“标书内容 .docx",保留准备要生成标书开始的章节,所有正文、标题 1,2,3 的样式,可以自行修改样式格式,不要改样式名称,否则生成样式会找不而报错

  7. 设置 Generate.py 里面的参数

  • API_KEY,SECRET_KEY 百度智能云大模型的 Key

  • MAX_WIDTH_CM,图片最大宽度,大于此宽度会自动缩小

  • 各种自动生成点对点应答和内容的的 Prompt,已经根据大数据场景进行修改了,可以根据产品类型,自行修改,点对点应答格式也可以自己定义。

  • MoreSection=1 会读取 C 列,生成明细三级标题,默认 1 开启

  • ReGenerateText=0,如果为 1,会把所有产品文档文字部分自动重新生成,用于面对不同标书需求,默认为 0

  • DDDAnswer=1,如果为 1,自动生成点对点应答内容放到每个功能点的头部位置,默认为 1

  • key_flag=1,会带需求重要程度到标书小标题当中,默认开启

  • last_heading_1=2 ,在标书内容.docx 当中 生成技术方案的 开始章节,例如模板当中的,开始章节就是 2,这样可以在需求对应表当中自动填写对应章节号。

  • 运行 Generate.py

小结

基本上用了这个小软件之后,你只需要对照下产品功能和标书需求,标书部分基本可以自动生成了,商务标部分也可以用类似的方法直接生成,这样生成一份千页的标书不过几分钟而已,

最后,如果有过去做 Informatica 或者 Talend、DataStage 的代理商或者用户可以直接扫描二维码找到我们:白鲸开源是 ApacheDolphinScheduler 和 ApacheSeaTunnel 原班人马成立的开源商业公司,提供功能更多、稳定性更强的商业版本解决用户调度,数据开发、数据同步和 ETL 的问题,目前支持 192 种数据库(信创、云、开源、ERP 等)的 ETL 与数据开发,全面替换 Informatica 与 Talend 等工具相应功能,感兴趣直接发邮件给service@whaleops.com

用户头像

白鲸开源

关注

一家开源原生的DataOps商业公司。 2022-03-18 加入

致力于打造下一代开源原生的DataOps 平台,助力企业在大数据和云时代,智能化地完成多数据源、多云及信创环境的数据集成、调度开发和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

评论

发布
暂无评论
我手搓了个“自动生成标书”的开源大模型工具_人工智能_白鲸开源_InfoQ写作社区