-
GPT API를 활용한 카카오 챗봇 만들기개발/카카오 챗봇 2023. 3. 24. 15:02
준비물
과정
- Open-ai 홈페이지에서 회원 가입 후 API KEY를 발급받는다.
- 안드로이드폰에서 메신저봇R을 설치하고, 사용 방법을 참고하여 스크립트를 생성한다.
- 스크립트 생성 후 소스 수정하기에서 아래에 코드를 복사하고 넣어준다.
- 1번 항목에서 발급받은 KEY 값을 코드안에 있는 your token에 넣어주고 재실행한다.
- 부계정 카카오톡을 친구 추가 후 사용한다.
코드
const scriptName = "GPT"; /** * (string) room * (string) sender * (boolean) isGroupChat * (void) replier.reply(message) * (boolean) replier.reply(room, message, hideErrorToast = false) // 전송 성공시 true, 실패시 false 반환 * (string) imageDB.getProfileBase64() * (string) packageName */ function response(room, msg, sender, isGroupChat, replier, imageDB, packageName) { if (msg.startsWith("!챗 ")) { cmd = msg.substr(3); replier.reply("[답변] \n" + getResponse(cmd)); } } function getResponse(msg) { let json; let result; try { json = JSON.parse(org.jsoup.Jsoup.connect("https://api.openai.com/v1/completions") .header("Authorization", "Bearer " + "your token") // Open ai 토큰값 .header("Content-Type", "application/json") .requestBody(JSON.stringify({"model": "text-davinci-003", "prompt": msg, "temperature": 0, "max_tokens": 1024, "top_p": 1, "frequency_penalty": 0.0, "presence_penalty": 0.0})) .method(org.jsoup.Connection.Method.POST) .ignoreContentType(true) .execute().body()); result = json.choices[0].text.replace(/\n/g, ""); } catch(e){ result = e; } return result; } //아래 4개의 메소드는 액티비티 화면을 수정할때 사용됩니다. function onCreate(savedInstanceState, activity) { var textView = new android.widget.TextView(activity); textView.setText("Hello, World!"); textView.setTextColor(android.graphics.Color.DKGRAY); activity.setContentView(textView); } function onStart(activity) {} function onResume(activity) {} function onPause(activity) {} function onStop(activity) {}
결과
- "!챗 " 뒤에 질문을 보내면 GPT가 답변해준다.
- 이러한 애플리케이션으로 활용하는 것은 Chat GPT가 아닌 GPT-3.5 기반의 API입니다.