OpenAI-VBA-Framework ist ein unabhängiges Toolkit für Entwickler zum Erstellen von VBA-Anwendungen mit OpenAI-Sprachmodellen wie GPT-4, ChatGPT und DALL-E. Es bietet eine Reihe von Klassen für die einfache Integration mit der OpenAI-API. Bitte beachten Sie, dass dieses Projekt nicht offiziell mit OpenAI verbunden ist oder von OpenAI unterstützt wird.
clsOpenAI
– Hauptklasse zur Interaktion mit OpenAIclsOpenAILogger
– Protokollierungsklasse zum Debuggen und VerfolgenclsOpenAIMessage
– Klasse zur Verarbeitung einzelner NachrichtenclsOpenAIMessages
– Klasse zur Verarbeitung von NachrichtensammlungenclsOpenAIRequest
– Klasse zum Senden von Anfragen an OpenAIclsOpenAIResponse
– Klasse zur Verarbeitung von Antworten von OpenAIIOpenAINameProvider
– Schnittstellenklasse zur Namensbereitstellung Zum Testen der Funktionalität des Frameworks steht das Modul mdOpenAI_tests
zur Verfügung.
OpenAIFrameworkDemo.xlsm
ist eine Datei, die den gesamten Code im Repository für Demozwecke enthält. Zur Versionierung werden auch andere Dateien in das Repository aufgenommen.
Hier sind einige Beispiele für die Verwendung des Frameworks:
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
Sie können das OpenAI-VBA-Framework anpassen, indem Sie Eigenschaften in der clsOpenAI
Klasse anpassen:
' 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
Den Status der OpenAI API können Sie hier überprüfen.
Weitere Informationen zu den von der API zurückgegebenen HTTP-Statuscodes erhalten Sie hier.
Bei Codierungsproblemen verwenden Sie die folgende Zeile, um den Code durchzugehen.
oOpenAI.IsLogOutputRequired True
Das gesamte Framework kann mit dem Modul mdTest_OpenAI
auf Breaking Changes getestet werden. Führen Sie einfach die Prozedur RunAllTests
aus.
Pull-Anfragen sind willkommen. Bei größeren Änderungen öffnen Sie bitte zunächst ein Problem, um zu besprechen, was Sie ändern möchten.
Dieses Projekt ist unter den Bedingungen der MIT-Lizenz lizenziert.