所有文章 > API开发 > 如何在你的Excel中接入ChatGPT这个人工智能函数?

如何在你的Excel中接入ChatGPT这个人工智能函数?

一、前言

ChatGPT是目前非常火爆的人工智能应用之一。目前大家能够公开使用的是基于GPT-3.5架构的大型语言模型,具有极高的智能和语言处理能力,能够为用户提供各种文本相关的服务和应用。

而在3月16日,微软在“工作的AI未来”高级别发布会上宣布,将人工智能大语言模型技术引入Office应用程序,推出AI助手——Microsoft 365 Copilot,与微软365应用程序密切集成,如Word、Excel、PowerPoint、Outlook和Teams等,嵌入到用户每天都在使用的应用中,将用户的文字转化为高效的生产力工具。

在上一篇文章中我们已经成功的使用OpenAI的API将ChatGPT接入Word中,此次我们在上次的基础上,试着将ChatGPT接入Excel中来试试看。

二、实际应用

大家在下图中可以看到,此处的文字并不是所输入的文本,而是使用“=ChatGPT( )”这一个函数自动生成的内容。

在Excel中接入ChatGPT工具和Word的步骤大同小异,只不过在宏代码以及ChatGPT的使用方法上存在一些差异。

既然如此,我们尝试着在上一次将ChatGPT接入Word的基础上,试试ChatGPT与Excel碰撞出来的新玩法!

三、准备工作

在开始工作之前,简要说明一下此次实验所使用的软件以及网络环境:小编所使用的是Office2019版本的Word和Excel(此处有人咨询其他版本的Office,其实只需要能在开发工具中打开VB功能都可以使用),然后需要准备魔法上网(全局模式)和获取OpenAI API key。如何访问OpenAI以及注册ChatGPT就不再赘述,大家可以自行搜索。

1.在Excel中创建宏

在Excel选项工具或者Excel工具栏任意地方右键打开“自定义功能区”

在Excel选项➡自定义功能区中,选中“开发工具”

2.添加VBA的模块代码

在Excel中添加开发工具模块后,打开Visual Basic工具

在Visual Basi工具栏中选中This Document右键添加模块并命名。

在宏中插入以下代码,其中”your_api_key” 替换成你自己申请的API key。 

注意:该段宏代码和Word中的宏代码不一样

Function ChatGPT(prompt As String) As String

Dim url As String, apiKey As String
Dim response As Object, re As String
Dim midString As String

apiKey = "your_api_key"
url = "https://api.openai.com/v1/engines/text-davinci-003/completions"

Set response = CreateObject("MSXML2.XMLHTTP")
response.Open "POST", url, False
response.setRequestHeader "Content-Type", "application/json"
response.setRequestHeader "Authorization", "Bearer " + apiKey
response.Send "{""prompt"":""" & prompt & """,""max_tokens"":1024, ""temperature"":0.1}"

re = response.responseText
midString = Mid(re, InStr(re, """text"":""") + 8)
ChatGPT = Split(midString, """")(0)
ChatGPT = Replace(ChatGPT, "\n", "")

End Function

3.获取OpenAI的API key

那么,如何在OpenAI中获取自己的API key呢?可以通过搜索界面提供的路径直接进入,也可以在OpenAI的官网进入。登陆你的账号密码后,创建OpenAI API key。

登录OpenAI后,通过点击右上角账号下“View API keys”进入API界面。

点击Creat new secret key”生成API key后点击绿色按键粘贴复制。将宏代码中的“your_api_key” 替换成申请的API key。

4.不需要将宏工具添加到工具栏

在Word自定义功能区中,选择合适的模块位置“新建组”自定义命名即可,但是在Excel中没有这一步,在完成宏函数模块之后,就可以使用”=ChatGPT()”函数了

到此,我们已经通过函数的方式将ChatGPT接入到了Excel中,但是在关掉Word重新打开后发现该宏组件无法使用或者是报错。所以我们需要进行下来的操作。

5.存为启用宏的Excel模板

为了在启动Excel时能够自动添加这个,我们需要将刚创建的这个带有ChatGPT宏组件的Excel文档另存文件为“Excel启用宏的工作簿(*.xlsm)或Excel启用宏的模板(*.xltm)”

6.添加Excel加载项

在大家操作过程中,打开新建的带有宏的Excel模板中,有时候发现该组件仍旧报错无法使用,这可能就是由于Excel自身禁用了加载项所导致的。

这个问题可以通过Excel加载项设置来解决:在Excel的选项➡加载项➡转到➡浏览➡选择模板来解决。

四、应用实例

在Excel的使用中,ChatGPT函数有些特殊,是需要我们将问题凝练一句完整的句子输入到函数中,使其作出反应。

可以参考下面这个案例,在完成函数中的提问后,下拉框即可批量回答。

=chatGPT("请你准确的告诉我"&B2&"所在的城市,以国家+城市的组合形式回答")
=chatGPT("请你准确的告诉我"&B2&"在2020年全球高校QS排行榜中的位置,只需要回答'第几名'即可")

文章转自微信公众号@Geo地理数据研究所

#你可能也喜欢这些API文章!