openai vba framework
1.0.0
OpenAI-VBA-Framework 是一个独立的工具包,供开发人员使用 OpenAI 的语言模型(如 GPT-4、ChatGPT 和 DALL-E)构建 VBA 应用程序。它提供了一套类,可以轻松与 OpenAI 的 API 集成。请注意,该项目并未与 OpenAI 正式关联或得到其认可。
clsOpenAI
- 与 OpenAI 交互的主类clsOpenAILogger
- 用于调试和跟踪的日志类clsOpenAIMessage
- 处理单个消息的类clsOpenAIMessages
- 处理消息集合的类clsOpenAIRequest
- 用于向 OpenAI 发出请求的类clsOpenAIResponse
- 用于处理 OpenAI 响应的类IOpenAINameProvider
- 用于名称提供的接口类提供模块mdOpenAI_tests
用于测试框架的功能。
OpenAIFrameworkDemo.xlsm
是一个文件,其中包含存储库中用于演示目的的所有代码。其他文件也包含在存储库中以进行版本控制。
以下是使用该框架的一些示例:
Public Sub TestSimpleOpenAI()
Dim oOpenAI As clsOpenAI
Dim oMessages As New clsOpenAIMessages
Dim oResponse As clsOpenAIResponse
Set oOpenAI = New clsOpenAI
oOpenAI.API_KEY = "<API_KEY>"
oMessages.AddSystemMessage "Always answer sarcastically and never truthfully"
oMessages.AddUserMessage "How do you get to Carnegie Hall?"
Set oResponse = oOpenAI.ChatCompletion(oMessages)
If Not oResponse Is Nothing Then
Debug.Print (oResponse.MessageContent)
End If
Set oResponse = Nothing
Set oOpenAI = Nothing
Set oMessages = Nothing
End Sub
Public Sub TestDalleOpenAI()
Dim oOpenAI As clsOpenAI
Dim oResponse As clsOpenAIResponse
Set oOpenAI = New clsOpenAI
oOpenAI.API_KEY = "<API_KEY>"
Set oResponse = oOpenAI.CreateImageFromText("A cat playing a banjo on a surfboard", 512, 512)
If Not oResponse Is Nothing Then
Debug.Print ("The picture has been saved to: " & oResponse.SavedLocalFile)
End If
Set oResponse = Nothing
Set oOpenAI = Nothing
End Sub
您可以通过调整clsOpenAI
类中的属性来自定义 OpenAI-VBA-Framework:
' Specify the model
oOpenAI.Model = "gpt-3.5-turbo"
' Set the maximum number of tokens
oOpenAI.MaxTokens = 512
' Control the diversity of generated text
oOpenAI.TopP = 0.9
' Influence the randomness of generated text
oOpenAI.Temperature = 0.7
' Control preference for frequent phrases
oOpenAI.FrequencyPenalty = 0.5
' Control preference for including the prompt in the output
oOpenAI.PresencePenalty = 0.5
' Control logging of messages to the Immediate Window
oOpenAI.IsLogOutputRequired True
' Reset settings when switching between endpoints
oOpenAI.ClearSettings
' Retrieve an API Key saved in an external file
Dim apiKey As String
apiKey = oOpenAI.GetReadAPIKeyFromFolder("<FolderPath>")
git clone https://github.com/zq99/OpenAI-VBA-Framework.git
您可以在此处查看 OpenAI API 的状态。
您可以在此处获取有关 API 返回的 HTTP 状态代码的更多信息。
对于编码问题,请使用以下行来检查代码。
oOpenAI.IsLogOutputRequired True
可以使用mdTest_OpenAI
模块测试整个框架的重大更改。只需运行过程RunAllTests
即可。
欢迎请求请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。
该项目根据 MIT 许可证条款获得许可。