我手搓了个“自动生成标书”的开源大模型工具
最近我写开源商业文章明显更新少了,不是我不写文章了,而是开源商业化进展很顺利,我写文章的时间都被各种写标书占满了。作为一个开源原生的商业公司,白鲸开源公司的员工几乎都是程序员,而让这些开源贡献者写标书浪费他们的开发时间不说,写出的标书质量简直没法看。而做创业公司的CEO和在大公司做管理者不一样,公司需要啥你就是啥,公司开完战略会,你就是第一个撸起袖子杀出去的人。结果就是我根本没时间写总结文章。有限的时间都在写一些八股文的标书。特别是到最近,连续投标写标书,写到我自己都怀疑人生了。。。搞技术么,永远要想用工具解决问题,自己就手搓了个大模型写标书的工具,开源分享给大家:
技术人写标书之痛
如果你在做中国的软件、硬件和服务业,是不是也一样和我有一样的痛点:
一个标书需要花大量时间整理章节格式,字体,章节号,图片嵌入模式,图片大小,产品手册一更新,下一份标书又重新来过
产品功能手册很完备,但是每个标书需求都不同,要按照需求顺序重新组织标书
“点对点应答”,每个需求功能前面都要八股文一样,说,答:全部满足,本产品XXXXXX,然后把功能重新写一篇
每次都要写技术偏离表,里面要对着标书章节,还要有技术应答,功能换个说法来满足需求,顺序也完全不一样
想用大模型,但是大模型胡说八道无法控制,也无法完全理解你的产品,写出来你也不敢用,关键是你交付,不是它交付
于是,我就用python+国内大模型(兼容ChatGPT),手搓了一个自动根据你的产品文档生成标书的大模型工具,主要思路就是分解你的产品手册到功能点,然后通过人写出来功能点和需求的映射关系直接生成word版本标书和Excel偏离表,所有的内容大模型可以缩写或者扩写,也可以直接copy原有相关功能。
开源标书工具的功能
这个程序功能很简单,比较恶心的是word版本格式的部分(调格式永远是最痛的),我调试了好几种方法才让它老老实实根据word模板的标题1,标题2,标题3,还有正文格式,表格格式,图片格式正确生成。本着开源精神,我把工具放到了我个人的github下面:
https://github.com/William-GuoWei/ProposalLLM
大家感兴趣的可以过去自取,是Apache License的,所以大家如果需要可以随便用。这个软件功能如下:
拆解你的产品功能手册为可复用的若干可复用的细节文档,用于书写标书不用反复扫描原文档,提高生成标书性能,也可以针对不同功能进行魔改(默认文件名是“Template.docx”)
根据人填写的需求对应当中的对应部分,自动根据产品文档自动生成点对点应答格式的标书,包括所有小标题及内容,自动生成标题1,2,3格式,自动整理正文、图片、项目符号格式(默认需求对应表是“需求对应表.xlsx”,标书生成内容在“标书内容.docx”)
标书内容如果有产品需求对应表中对应功能,自动拷贝产品说明书内容到点对点应答之后(保留图片、表格,项目符号等),也可以自动重写产品文字内容以面对不同标书需求;如果无对应功能,会调用大模型自动生成相关功能说明(你自己要检查修改,大模型写完了,你实现不了别找我)
完成技术需求偏离对应表,在“需求对应表.xlsx”当中自动填写需求对应表当中点对点应答,格式为“答:全面支持,{大模型根据项目需求自动生成文本}”,同时填写标书对应的章节号码
基本上,用了这个小程序,随心所欲的修改快速生成标书。
自动生成标书效果
先执行Extract_Word.py 生成你产品的功能点word文档,然后再运行Generate.py,如果找不到功能点对应的,你可以在Excel里填"X",这样大模型就会自动给你生成符合需求的标书内容,不过强烈建议人工复核,根据生产完的标书就是这个样子,目录格式、正文格式、图片、图表、项目格式都根据“标书内容.docx”里面的样式就行修改了:
https://mmbiz.qpic.cn/sz_mmbiz_png/fmZe9V3HNAVtfUD1Yq2aVrdXa6JZhEYEQBc2w2oJPLzEowAW4uKvGxXRBjPKHiah9qtMibQ4SUVBZ8cfun1W5OdA/640?wx_fmt=png&from=appmsg
看,所有的内容会从产品手册里抽出来,自动组成客户标书需求的顺序格式,小标题、内容、图片,点对点问答全部生成出来了,省却你各种机械的工作了。
而自动生成的需求偏离表就是这样子,蓝色内容是从招标书copy进来的,白色部分都是大模型自己生成的,包括对应的章节号,你根据最终需求自己用上&符号就可以拼出来最后的需求偏离表了,根本跟不不需要一个一个写了,大模型帮你都写好了。
https://mmbiz.qpic.cn/sz_mmbiz_png/fmZe9V3HNAVtfUD1Yq2aVrdXa6JZhEYEnwr9VBEUZ8Xrmicr151h87ZL8viaibOo6cag4RkFI6U8HzlqicFTRHb6Xw/640?wx_fmt=png&from=appmsg
对于我而言,把过去需要8个小时干的活,基本上在30分钟内全部搞定了,加上商务小伙伴也可以利用模板来生成商务部分对应关系(而且格式是定义好的),最终加上检查。过去搞一周时间的标书,大概1-2天就全部搞定了,投入人力节约了80%。
使用方法
首先从Github上下载所有的代码在一个目录下,下载地址https://github.com/William-GuoWei/ProposalLLM : 标书大模型(Proposal-LLM Chinese version )
安装python环境,安装相关包:
pip install openpyxl, docx, openai, requests, docx, python-docx
申请ChatGPT或者 百度千帆大模型(我使用的是ERNIE-Speed-8K,免费模型),申请后把Token记录下来,填写到代码当中相应key的位置
拷贝产品说明手册到Template.docx,注意,样式需要用文档中的正文,标题1,标题2,标题3,其它格式可能会出现问题
运行Extract_Word.py 生成产品手册对应的文档文件(目前支持最多3级标题),检查生成文件内容是不是正确,此时项目列表格式如果不对不要紧,最后生成格式为准。
填写需求对应表.xlsx,当中的B列,C列(程序自动根据这个内容会生成二级、三级标题),G列(对应产品说明书当中的功能章节,如果没有可以填X,注意目前支持到3级标题,填X或者找不到章节的部分,大模型会自动生成内容)
检查“标书内容 .docx",保留准备要生成标书开始的章节,所有正文、标题1,2,3的样式,可以自行修改样式格式,不要改样式名称,否则生成样式会找不而报错
设置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,或者扫以下二维码:
https://mmbiz.qpic.cn/sz_mmbiz_png/fmZe9V3HNAVtfUD1Yq2aVrdXa6JZhEYEXsqxRo7jwUw5KChjLNY0lg9CDvolUxqARm7hxVuicKNH7bicC7EnawwA/640?wx_fmt=png&from=appmsg
页:
[1]