openai vba framework
1.0.0
OpenAI-VBA-Framework は、開発者が GPT-4、ChatGPT、DALL-E などの OpenAI の言語モデルを使用して 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 ライセンスの条件に基づいてライセンスされています。