OpenAI-VBA-Framework adalah toolkit independen bagi pengembang untuk membangun aplikasi VBA dengan model bahasa OpenAI seperti GPT-4, ChatGPT, dan DALL-E. Ia menawarkan serangkaian kelas untuk integrasi yang mudah dengan API OpenAI. Harap diperhatikan, proyek ini tidak secara resmi dikaitkan atau didukung oleh OpenAI.
clsOpenAI
- Kelas utama untuk berinteraksi dengan OpenAIclsOpenAILogger
- Kelas logging untuk debugging dan pelacakanclsOpenAIMessage
- Kelas untuk menangani pesan individualclsOpenAIMessages
- Kelas untuk menangani kumpulan pesanclsOpenAIRequest
- Kelas untuk membuat permintaan ke OpenAIclsOpenAIResponse
- Kelas untuk menangani respons dari OpenAIIOpenAINameProvider
- Kelas antarmuka untuk penyediaan nama Modul mdOpenAI_tests
disediakan untuk menguji fungsionalitas kerangka kerja.
OpenAIFrameworkDemo.xlsm
adalah file yang berisi semua kode dalam repositori untuk tujuan demo. File lain juga disertakan dalam repositori untuk pembuatan versi.
Berikut adalah beberapa contoh penggunaan kerangka kerja:
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
Anda dapat menyesuaikan OpenAI-VBA-Framework dengan menyesuaikan properti di kelas 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
Anda dapat memeriksa status OpenAI API di sini.
Anda dapat memperoleh informasi selengkapnya tentang kode status HTTP yang dikembalikan oleh API di sini.
Untuk masalah pengkodean, gunakan baris berikut, untuk menelusuri kode.
oOpenAI.IsLogOutputRequired True
Seluruh kerangka kerja dapat diuji untuk mengetahui perubahan yang dapat terjadi menggunakan modul mdTest_OpenAI
. Cukup jalankan prosedur RunAllTests
.
Permintaan tarik dipersilakan. Untuk perubahan besar, silakan buka terbitan terlebih dahulu untuk mendiskusikan apa yang ingin Anda ubah.
Proyek ini dilisensikan berdasarkan ketentuan lisensi MIT.