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 許可證條款獲得許可。