-
매크로 만드는 법] 4-1. 인터넷 데이터 가져오기 API 의 활용오토핫키/속성 강의 2022. 12. 15. 02:53
https://apsalman.tistory.com/75
https://www.youtube.com/channel/UC6hW-NrL9CxDQd2IzWbekYA
시작
api 를 활용하여 인터넷에서 데이터를 가져오는 것은 어렵지 않다.
문제는 api 가 없을 경우고 api 를 제공한다면 손쉽게 데이터를 가져올 수 있다.
API 를 제공하는 사이트 중에 현재 가장 핫한 OpenAI 를 시도해볼 것이다.
https://beta.openai.com/playgroundOpenAI API 활용하는 방법을 OpenAI 에게 직접 물어봤다.
#NoEnv #SingleInstance force #Include WinHttp.ahk WinHTTP := ComObjCreate("WinHttp.WinHttpRequest.5.1") OpenAI := WinHTTP.Open("POST", "https://api.openai.com/v1/engines/davinci/completions") OpenAI.SetRequestHeader("Content-Type", "application/json") OpenAI.SetRequestHeader("Authorization", "Bearer <your_token>") OpenAI.Send("{\"prompt\": \"This is a test\", \"max_tokens\": 10}") MsgBox % OpenAI.ResponseText
생각보다 훌륭한 결과를 보여줬다.
물론 여기서 발생되는 문제는 수정을 해줘야 할 것이다.
1.
먼저 #Include 할 Winhttp.ahk 가 우리는 없다.
▶ 지워준다
2.
OpenAI := WinHTTP.Open 를 하는 것은 문제가 없는데 OpenAI 로 헤더 지정과 데이터를 전송하는 것은 안될 것이다.
▶ OpenAI 첫번째는 지우고 나머지는 WinHTTP 로 바꿔준다.
3.
<your_token> 값이 없다.
▶ 값을 나의 api key 값으로 바꿔준다.자 이제 테스트를 해보자.
This is a test 라는 문구를 보냈더니 ai 가 Said Blake. A Good Morning 이라고 보내줬다.
#NoEnv #SingleInstance force WinHTTP := ComObjCreate("WinHttp.WinHttpRequest.5.1") WinHTTP.Open("POST", "https://api.openai.com/v1/engines/davinci/completions") WinHTTP.SetRequestHeader("Content-Type", "application/json") WinHTTP.SetRequestHeader("Authorization", "Bearer ~나의 api key 값~") WinHTTP.Send("{""prompt"": ""This is a test"", ""max_tokens"": 10}") MsgBox % WinHTTP.ResponseText
물론 Send 값이 정보가 너무 적기 때문에
보내는 정보값은 제공하는 api 설명에서 찾아봐야 한다.
https://beta.openai.com/docs/api-reference/completions/create이 곳을 보면 어떤 정보를 Json 형식으로 보내는지 확인할 수 있다.
우리는 OpenAI 가 보내준 예시에서 보면 알 수 있듯이 괄호 { } 까지 문자열로 보내는 것을 확인했으므로
이 값을 온전히 보내줘야 하기 때문에
json = ( { "model": "text-davinci-003", "prompt": "Say This is a test.", "temperature": 0.5, "max_tokens": 3000, "top_p": 1, "frequency_penalty": 0.5, "presence_penalty": 0, "stop": ["You:"] } )
이렇게 해줘야 한다.
질문 내용도 바꾸고 설정값도 적당히 바꿔서
이렇게 활용할 수 있을 것이다.
뭐 어쩌라고?
API 는 해당 사이트에서 제공하는 문서를 확인하면 쉽게 접근할 수 있다.
다만 API 활용에서 가장 많이 사용하는 언어인 파이썬과 자바스크립트 그 외에 C, C++, C# 등은 대부분 예시를 보여주지만
오토핫키는 그렇지 않을 가능성이 정말 크기 때문에 문서를 읽고 오토핫키로 변환할 수 있는 어느정도의 짬은 있어야 한다.
아니면 OpenAI 에게 직접 물어봐도 될 것 같다.
'오토핫키 > 속성 강의' 카테고리의 다른 글
매크로 만드는 법] 3-3. wParam, lParam 을 몰라도 PostMessage 입력하는 함수 (0) 2023.05.09 매크로 만드는 법] 3-1. 게임 내 픽셀을 찾은 후 조건 만족 시 발동 feat. 메이플스토리 (0) 2022.12.19 매크로 만드는 법] 4. 인터넷에서 데이터 가져오기 WinHttpRequest (0) 2022.12.13 매크로 만드는 법] 3. 게임 매크로를 만들기 (0) 2022.12.09 매크로 만드는 법] 2. 매크로를 만들기 위한 준비물 (0) 2022.12.07