준비물
- 부계정 안드로이드폰(알뜰 유심칩 추가로 사서 공기계에 넣어서 사용중)
- 메신저봇R 앱 설치(링크) 사용 방법(링크)
과정
- 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입니다.