怎么将ChatGPT整合到Word中


这篇文章主要介绍“怎么将ChatGPT整合到Word中”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么将ChatGPT整合到Word中”文章能帮助大家解决问题。自ChatGPT出现,各种基于它的软件扩展纷至沓来,目前Word支持ChatGPT的add-in有两款,可以通过:插入->获取加载项->搜索openai查看。其中Ghostwriter从介绍上看功能比较单一,而且软件需要购买,用自己的API-key,意味着调用API还要单独出钱。第二个,软件似乎是免费的,应该也是用自己的API-key。从介绍的视频上看符合使用的预期,可以发送选取的文字到ChatGPT,并结合预设的prompt信息返回所需功能,但是安全性未知。这类软件实际上是将内容发送到OpenAI的服务器,并将获取返回内容呈现,于是产生了使用VBA在Word中整合ChatGPT的想法。虽然使用其他语言(比如python)调用API更加方便快捷,但VBA对内容的操作更直接。使用ChatGPT修改语言时,需要将文本复制到网页版的chatGPT中。省掉复制粘贴的过程,能提升效率。设想有以下需求:基本需求(已实现)对选取的文字进行操作,包括修改语言,翻译,检查语法错误等可以选择不同的模型用自己的api-keytoken数目显示和计费进阶需求(已放弃)提供add-in安装或者可分享自定义Ribbon的图标增加Ribbon下拉菜单,实现用户选择模型类型增加Ribbon选项,实现用户提交api-key作为野生程序猿,花了一下午完成基本需求,进阶的内容只要花时间是可以实现的。不过相信微软的攻城狮正在全力将ChatGPT的功能整合到Office全家桶中。类似这样个人级别的应用,最终会被微软发布的新功能淘汰,因此无意投入过多。此项目作为VBA免费云主机域名练手,基本需求已满足,也可以作为微软发布新word前的过渡。一切的前提是有openAI的账号并且绑定了付款方式。新注册的账号有$18自动到账,因此无需绑定付款方式也可以调用。用完之后再决定需不需要单独为此付费。费用如下是按照1k token来算的,可以简单理解为字数,但不完全相同。最新的模型是Davinci,收费也是最高的。注意这里的token数量指的是发送和返回的token的总和。ChatGPT告诉我6000字的文章,按照常规算法,会有10W的token。。好像还是网页版香呀。。具体调用中,使用模型名称如下。他们都是GPT3的模型,就自身使用感受来看,表现最好的还是davinci,它的速度也是最慢的,ada基本不能用,curie和babbage偶尔能用,不过有的时候连语法错误都修改不了,翻译也是各种不通顺。采用添加宏的方式,首先要添加开发者选项卡。这也不是必须的,因为可以通过快捷键Alt+F11直接打开VBA的界面。如果只为当前的文本添加宏,就在当前的project下添加模块,如果是为所有的word文档添加宏的话,就在Normal中添加。之后插入模块,就可以添加VBA的代码了。其次,为了保证之后的代码正常运行,需要添加程序需要用的几个Reference,它们的意思有点类似于R的library。不同的模块可以有不同的Reference,可以选择项目后统一添加。再次,由于VB处理起API的信息就很麻烦,这里需要单独载入两个文件,主要是JsonConverter,它能将API返回的文本转化为Dictionary的形式方便提取。如果对正则表达熟悉的话,完全不需要使用JsonConverter就可获取到所需信息。这里通过导入文件的形式,将下载到的bas文件导入。另外要注意的是需要使用这个版本的VBA-JSON-2.3.0,否则会报错。另外Dictionary定义了几个对象的属性,也需要导入。CallOpenAI,该函数会将word中选取的文字,加上你自己写的指示,一并提交给OpenAI的模型,函数返回值response是一个Dictionary,包括了model, choices, usage, created等各种字段。model的选择和名称见上文。prompt可以是任何指示,比如帮我修改这段文字。(变量名用instruction更合理)。selectedText是Word文档中选取的文字。这里需要在header变量中添加自己的OpenAI的API-Key,具体而言是在12行将 替换为自己的API_key。此外,body变量可以添加而外的模型参数比如n, temperature等控制结果的输出,具体见API文档。一众函数分别从response的以下字段提取相应信息。”model”-模型名称’usage”-模型使用情况,用了多少个token”choices”-模型返回的文字信息,这就是ChatGPT的回答。Dictornay的变量中,字典的字典是无法直接获取的,大部分操作都可能会报错,用Debug.Print也无法显示。比如choices下包括了一个字典,就需要使用类似的方式获取:response(“choices”)(1)(“text”)有必要根据模型的名称和使用量,计算一下使用成本。该部分代码的输入为,提取到文本(也就是chatGPT给你的答案),费用以及模式。这里考虑了三种模式:第一种,track, 是将文本使用修订的方式放到word中,事实证明并不好用,会将所选文字删除并加上提取的文本。并不是哪里不同修订哪里。第二种, append, 是在所选文字后面加入提取的文本,并以蓝色标注。第三种, replace, 是直接替换所选文本。另外,使用量以及费用会以对话框的形式出现。由于不同的按钮目前只是用户的指示不同,剩下内容均一致,所以这里创建了一个函数,简化后面的流程。输入是model和prompt。这里统一使用了”append”的显示方式,即在选取文字之后添加chatGPT回答。建立相应的函数,用于不同的按钮。然后在Ribbon选项中将这些宏添加成按钮。修改名称和图标即可。找了一个改错题,选取整段文字,点击按钮,返回修改好的文字,以及使用信息。之后用修改过的文字,测试其他按键。至此,基本功能实现。其他的一些功能,比如使用下拉菜单选择想要的模型,添加输入框录入使用组的API-key,添加自定义的按钮图案等功能,需要通过XML定制Ribbon内容,就不浪费时间了。关于“怎么将ChatGPT整合到Word中”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: Windows Service 2019使用Docker的问题怎么解决

这篇文章主要介绍“WindowsService2019使用Docker的问题怎么解决”,在日常操作中,相信很多人在WindowsService2019使用Docker的问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”W…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/12 20:48
Next 05/12 20:48

相关推荐