OpenAI-VBA-Framework est une boîte à outils indépendante permettant aux développeurs de créer des applications VBA avec les modèles de langage OpenAI tels que GPT-4, ChatGPT et DALL-E. Il propose une suite de classes pour une intégration facile avec l'API d'OpenAI. Veuillez noter que ce projet n'est pas officiellement associé ni approuvé par OpenAI.
clsOpenAI
- Classe principale pour interagir avec OpenAIclsOpenAILogger
- Classe de journalisation pour le débogage et le suiviclsOpenAIMessage
- Classe pour gérer les messages individuelsclsOpenAIMessages
- Classe pour gérer les collections de messagesclsOpenAIRequest
- Classe pour faire des requêtes à OpenAIclsOpenAIResponse
- Classe de gestion des réponses d'OpenAIIOpenAINameProvider
- Classe d'interface pour la fourniture de noms Le module mdOpenAI_tests
est fourni pour tester les fonctionnalités du framework.
OpenAIFrameworkDemo.xlsm
est un fichier qui contient tout le code du référentiel à des fins de démonstration. D'autres fichiers sont également inclus dans le référentiel pour la gestion des versions.
Voici quelques exemples d’utilisation du framework :
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
Vous pouvez personnaliser OpenAI-VBA-Framework en ajustant les propriétés dans la classe clsOpenAI
:
' 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
Vous pouvez vérifier l'état de l'API OpenAI ici.
Vous pouvez obtenir plus d'informations sur les codes d'état HTTP renvoyés par l'API ici.
Pour les problèmes de codage, utilisez la ligne suivante pour parcourir le code.
oOpenAI.IsLogOutputRequired True
L'ensemble du framework peut être testé pour détecter les modifications importantes à l'aide du module mdTest_OpenAI
. Exécutez simplement la procédure RunAllTests
.
Les demandes de tirage sont les bienvenues. Pour les changements majeurs, veuillez d'abord ouvrir un ticket pour discuter de ce que vous souhaitez changer.
Ce projet est sous licence selon les termes de la licence MIT.