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 라이선스 조건에 따라 라이선스가 부여됩니다.