728x90
SMALL
먼저, 사용자 인증 정보와 GPT-3.5 API 요청을 위한 필수 매개변수를 설정합니다.
' 사용자 인증 정보
Const API_KEY As String = "your_api_key"
' GPT-3.5 API 요청을 위한 필수 매개변수
Const API_URL As String = "https://api.openai.com/v1/engines/davinci-codex/completions"
Const API_MODEL As String = "davinci-codex"
Const API_MAX_TOKENS As Long = 150
Const API_STOP_SEQUENCE As String = vbNewLine
다음으로, 사용자가 입력한 텍스트를 GPT-3.5 API에 전송하여 응답을 받아오는 함수를 작성합니다.
' GPT-3.5 API에 요청을 보내고, 응답을 받아오는 함수
Private Function GetResponseFromAPI(ByVal prompt As String) As String
Dim xhr As Object
Set xhr = CreateObject("MSXML2.XMLHTTP")
xhr.Open "POST", API_URL, False
xhr.setRequestHeader "Content-Type", "application/json"
xhr.setRequestHeader "Authorization", "Bearer " & API_KEY
Dim json As Object
Set json = CreateObject("Scripting.Dictionary")
json("prompt") = prompt
json("model") = API_MODEL
json("max_tokens") = API_MAX_TOKENS
json("stop") = API_STOP_SEQUENCE
Dim body As String
body = JsonConverter.ConvertToJson(json)
xhr.Send body
Dim response As Object
Set response = JsonConverter.ParseJson(xhr.responseText)
Dim choices As Object
Set choices = response("choices")(0)
Dim text As String
text = choices("text")
GetResponseFromAPI = text
End Function
마지막으로, 사용자 입력을 받아 GPT-3.5 API에 전송하고, 응답을 받아 출력하는 매크로를 작성합니다.
Sub ChatWithGPT3()
' 사용자 입력 받기
Dim prompt As String
prompt = InputBox("Enter your message:", "GPT-3 Chatbot")
' GPT-3.5 API에 요청 보내기
Dim response As String
response = GetResponseFromAPI(prompt)
' 응답 출력하기
MsgBox response, vbInformation, "GPT-3 Chatbot"
End Sub
이제 위의 코드를 엑셀 VBA 프로젝트에 추가하고, API 키를 입력하고 실행하면 사용자가 입력한 메시지에 대한 GPT-3.5 API 응답을 받아 출력할 수 있습니다.
728x90
LIST
'OFFICE_오피스 > 엑셀_매크로' 카테고리의 다른 글
엑셀 년월일 빠르게 기재하기 (18) | 2023.08.07 |
---|---|
이미지 삽입 버튼을 추가하여 이미지 파일을 선택하고, 선택한 이미지 파일을 셀 크기에 맞게 조정하여 삽입하는 매크로 (0) | 2023.04.14 |
엑셀 파일에서 특정 셀에 있는 값에 따라서 조건부 서식을 적용하는 매크로 (0) | 2023.04.14 |
엑셀 파일에서 특정 텍스트를 포함하는 행을 찾아서 삭제하는 매크로 (0) | 2023.04.14 |
엑셀 파일에서 특정 범위의 데이터를 다른 범위로 복사하고, 복사한 데이터를 다시 정렬하는 매크로 (0) | 2023.04.14 |
댓글