Word如何利用宏插入chatgpt自动化生成文章内容?
对需要频繁生成大量文章的写手和营销人员来讲,自动化工具已成为不可或缺的一部份。将机器自动化生成文章内容不但大大减轻了写手的工作量,而且提高了文章质量和生产效力。今天,我们将介绍怎样在Word中利用宏插入chatgpt来自动化生成文章内容。
了解一下chatgpt是甚么。它是一个基于GPT技术的深度学习模型,可以通过测试数据生成自然语言文本。换句话说,它是一种人工智能技术,可以摹拟人类的思惟进程,生成和人类写作相近的文章内容。
为了在Word中使用chatgpt生成文本,我们需要编写一个宏。宏是一组命令,可以自动履行一系列操作。宏可以自动化履行常规性的任务,并且可以定制化以实现区别的效果。在Word中,编写宏需要使用VBA(Visual Basic for Application)。
下面我们介绍如何编写一个简单的宏,使用chatgpt来生成两个段落的文章内容。
首先打开Word,按下快捷键Alt + F11,进入VBA编辑器。在工具栏当选择“插入”,点击“模块”创建一个新模块。
接下来,将以下代码粘贴到模块中:
Sub GenerateText()
Dim myText As String
Dim myRange As Range
Dim Prompt As String, Title As String
Dim MinValue As Long, MaxValue As Long, Response As Long
'提示输入生成文本的段落数
Prompt = "请输入要生成的段落数"
Title = "段落数"
MinValue = 1
MaxValue = 10 '段落最大值为10
Response = InputBox(Prompt, Title, 2, , , , , 1) '默许生成两段文本
'通过chatgpt生成文本
For i = 1 To Response
myText = GenerateChatGPTText(1) '生成一段文本
'将生成的文本插入到当前文档的末尾
Set myRange = ActiveDocument.Content
myRange.Collapse wdCollapseEnd
myRange.InsertAfter vbCr & myText & vbCr & vbCr
Next i
End Sub
Function GenerateChatGPTText(NumPara As Integer) As String
'通过API获得chatgpt生成的文本
Dim url As String
url = "https://api.openai.com/v1/engines/davinci-codex/completions"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "POST", url, False
'获得用户在Word输入的关键字
Dim keywordPara As String
keywordPara = Trim(InputBox("请输入关键字", "关键字"))
'授权获得chatgpt API,需要替换为你自己的API Key
objHTTP.setRequestHeader "Content-Type", "application/json"
objHTTP.setRequestHeader "Authorization", "Bearer "
'生成需要提交的参数
Dim objJSON As Object
Set objJSON = CreateObject("Scripting.Dictionary")
objJSON("prompt") = keywordPara & vbNewLine & "Word如何利用宏插入chatgpt自动化生成文章内容?"
'生成段落数
objJSON("max_tokens") = CStr((500 / NumPara))
objJSON("n") = CStr(NumPara)
'生成要求体
Dim objRequestBody As Object
Set objRequestBody = CreateObject("Scripting.Dictionary")
objRequestBody("prompt") = objJSON("prompt")
objRequestBody("max_tokens") = objJSON("max_tokens")
objRequestBody("n") = objJSON("n")
objRequestBody("temperature") = "0.5"
'提交要求并解析返回结果
objHTTP.send (JsonConverter.ConvertToJson(objRequestBody))
Dim dict As Object
Set dict = JsonConverter.ParseJson(objHTTP.responseText)
'返复生成的文本
GenerateChatGPTText = dict("choices")(0)("text")
End Function
上述代码中,我们定义了一个名为GenerateText的宏和一个名为GenerateChatGPTText的函数。
GenerateText宏通过弹出“请输入要生成的段落数”对话框获得用户想要生成的段落数,然后通过循环生成相应数量的聊天文本。调用GenerateChatGPTText函数来生成聊天文本。
GenerateChatGPTText函数定义了需要使用chatgpt API生成自然语言文本的参数,包括要求生成的段落数量、chatgpt API的授权头文件和chatgpt生成文本的API地址等信息。在主要的计算代码中,该函数根据输入生成段落数和用户在Word中提供的关键字,“Word如何利用宏插入chatgpt自动化生成文章内容?”将相应的生成要求发送到chatgpt API。生成完成后,该函数返回chatgpt API生成的自然语言文本。
现在,我们已成功地在VBA中编写了一个宏来将自然语言文本自动插入Word文档中。
在VBA编辑器中保存代码后,我们回到Word,并从菜单中打开“开发工具”选项卡。在“开发工具”选项卡中单击“宏”按钮,就能够找到我们刚才创建的GenerateText宏了。
选择GenerateText宏并点击运行按钮,稍等几秒,我们就能够看到chatgpt在我们的Word文档中生成了指定数量的段落。
总结:通过编写一个简单的VBA宏,我们成功地将chatgpt集成到Word中,实现了自动化生成聊天文本的功能。这类方法可以帮助写手和营销人员更高效地生产文章,同时减轻他们的工作负担。
本文来源于chatgptplus账号购买平台,转载请注明出处:https://chatgpt.guigege.cn/chatgpt/13099.html 咨询请加VX:muhuanidc