excel调用openai生成内容的具体方法
我有一个excel表格,第一列是很多模型的名称,需要在第二列生成关于这些模型的简单描述,第三列生成关于这些模型的原理详细描述。
要调用OpenAI来生成内容,你需要使用OpenAI API并在Excel中使用VBA宏。下面是一个大致的步骤:
1. 在OpenAI网站上注册帐号并创建API密钥(可免费试用)。
2. 将API密钥嵌入到VBA宏中,以便Excel可以访问OpenAI API。
3. 编写VBA宏代码,以从第一列获取输入文本,将其传递给OpenAI API生成器,并将生成的内容插入到第二列或第三列中。你可以使用以下代码示例:
“`VBA
Sub GenerateContent()Dim modelName As String
Dim inputText As String
Dim apiKey As String
Dim apiUrl As String
Dim outputText As StringapiKey = “YOUR_API_KEY_HERE”
apiUrl = “https://api.openai.com/v1/engines/davinci-codex/completions”Dim lastRow As Long
lastRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).RowFor i = 2 To lastRow
modelName = ActiveSheet.Cells(i, 1).Value
inputText = “Tell me about ” & modelName
outputText = GenerateText(apiKey, apiUrl, inputText)
ActiveSheet.Cells(i, 2).Value = outputText
‘Optional: generate detailed description in column 3 using the same input and API call but with different settings
Next iEnd Sub
Function GenerateText(apiKey As String, apiUrl As String, inputText As String) As String
Dim httpReq As Object
Set httpReq = CreateObject(“MSXML2.ServerXMLHTTP”)httpReq.Open “POST”, apiUrl, False
httpReq.setRequestHeader “Content-Type”, “application/json”
httpReq.setRequestHeader “Authorization”, “Bearer ” & apiKeyDim requestData As String
requestData = “{“”prompt””: “”” & inputText & “””,””max_tokens””: 200,””temperature””: 0.6,””n””: 1,””stop””: “”.””}”httpReq.send requestData
Dim jsonResponse As Object
Set jsonResponse = JsonConverter.ParseJson(httpReq.responseText)GenerateText = jsonResponse(“choices”)(1)(“text”)
End Function
“`注意,这里使用了一个名为“JsonConverter”的JSON解析器,可以通过在VBA中添加引用来使用它。你可以在这里下载它:https://github.com/VBA-tools/VBA-JSON
4. 运行宏并检查第二列或第三列是否包含OpenAI生成的内容。
请注意,上述代码仅包含一个简单的OpenAI API调用,可能需要进行更多的测试和调整,以确保生成的内容符合预期。
2023年04月07日 14:25