如何在Excel中使用ChatGPT
-
如今ChatGPT的使用已经越来越广泛了。作为一个精算师,怎么能不试一下呢?
所以珂珂在Excel VBA中搞了一个ChatGPT的接口,这样就可以用精算师最擅长用的工具:Excel来利用ChatGPT啦。先上图看看效果:
-
事先的准备工作
API Key
首先我们需要一个OpenAI的API Key,这里我们可以用Github的下列开源项目来拿到一个免费的Key
https://github.com/chatanywhere/GPT_API_freeVBA Json解析工具
这里我们可以用别人造好的轮子VBA-Json
https://github.com/VBA-tools/VBA-JSON/releases
首先下载最新的VBA-Json文件到本地
然后打开我们要用的Excel VBA界面,点击Import
选择JsonConverter.bas
VBA module里面出现JsonConverter就成功啦
Library
在VBA 代码编辑界面,点击Tools--> References
选中 Microsoft Scripting Runtime
-
代码部分
Option Explicit Const key = "your key" # 这里写入我们在准备工作中拿到的API Key Sub SendQuestionToGPT3() 'Declare variables Dim request As Object Dim response As String Dim API As String API = key #这里我们把问题放到了B3里面 Dim question As String question = """" & Range("B3").Value & """" #创建HTTP request Set request = CreateObject("MSXML2.XMLHTTP") #设置HTTP 请求 request.Open "POST", "https://api.chatanywhere.com.cn/v1/chat/completions", False request.setRequestHeader "Content-Type", "application/json" request.setRequestHeader "Authorization", "Bearer " & API request.send "{""model"": ""gpt-3.5-turbo"",""messages"": [{""role"": ""user"", ""content"": " & question & "}],""temperature"": 0.7 }" #解析返回值,这里用到了我们刚刚import进去的library response = request.responseText response = Replace(response, "[{", "{") response = Replace(response, "}]", "}") Dim ParsedResponse As Object Set ParsedResponse = JsonConverter.ParseJson(response) #把返回的答案输入到excel里面 Range("B6").Value = ParsedResponse("choices")("message")("content") 'Clean up the object Set request = Nothing End Sub