799
https://7.799.kr/

채팅 API 적용해서 실시간으로 대화하기

계절이 변화하는 만큼 풍경도 눈의 띄게 바뀌는 요즘입니다. 지나는 길에 풍경을 만끽하는 여유가 깃드시길 바라겠습니다.

Chat GPT API란 구글 클라우드 플랫폼(GCP) 기반 오픈소스 대화형 AI 엔진입니다. 이 Chat GPT API를 이용하면 챗봇을 쉽게 구현할 수 있고, 다양한 서비스와의 연동 또한 가능한데요. 이번 시간에는 카카오톡과 네이버톡톡 등 채팅서비스와 연동해서 쓸 수 있는 방법을 알아보겠습니다.

카카오톡/네이버톡톡과의 연동방법은 어떻게 되나요?
우선 아래 링크 사이트에 접속하셔서 자신의 운영체제에 맞는 버전을 다운로드 해주세요. https://chatgpt.org/downloads-and-deployment/
다운로드 받은 파일을 실행시키면 설치파일이 나오는데 이를 더블클릭 해주시면 됩니다.
설치과정 중에 나오는 안내문구들을 꼼꼼히 읽어보시고 진행해주세요.
모든 설치가 완료되면 위와 같은 화면이 나옵니다. 이제 본격적으로 개발환경을 세팅해보겠습니다.
개발환경 구축 1단계 - Google Cloud Platform 콘솔 로그인
콘솔화면 우측 상단에 위치한 '로그인' 버튼을 클릭 후 계정정보를 입력해주세요.
개발환경 구축 2단계 - Python SDK 설치
Python SDK 를 설치해야 하는데요. 저는 이미 설치되어 있어서 해당 창이 나오지 않지만, 처음 하시는 분들은 아마 다음과 같은 팝업창이 뜰겁니다.
위 사진처럼 Install Now 버튼을 눌러주면 알아서 설치가 되니 걱정 안하셔도 됩니다.
개발환경 구축 3단계 - 프로젝트 생성
프로젝트 이름을 설정하시고 Next 버튼을 눌러주세요.
다음으로는 어떤 언어로 개발할지 선택하게 되는데요. 저희는 python 을 활용할 예정이니 그대로 두고 Finish 버튼을 눌러줍니다.
이제 환경설정은 모두 끝났습니다. 코드를 작성하러 가볼까요?
코드작성 및 테스트
해당 코드는 제가 실제로 만든 샘플코드로, 여러분들이 직접 수정하시면서 공부하시는걸 추천드립니다.
import os import sys from chatgpt.client import SessionClient client = SessionClient() # 세션클라이언트 객체생성
from chatgpt.models import QAccount model = QAccount(name="test_account", age=20, password="1234") # 모델객체 생성
def create_user(id): user = client.create_user(id) # 유저생성
if __name__ == "__main__": app = QApplication(sys.argv) exec_app()
실행결과
잘 동작하네요! 하지만 아직 끝난게 아닙니다. 우리는 여러가지 모듈을 연결시켜줘야 합니다.
모듈연결
먼저 models 폴더 밑에있는 qa_data 라는 데이터프레임을 만들어봅시다.
qa_data = data.frame({"username": name, "age": age, "password": password})
그리고 다시한번 console 창을 열어보세요.
console.log(qa_data)
데이터프레임 형태로 잘 출력되는것을 확인할 수 있습니다.
이번엔 다른 함수를 호출해볼게요.
function get_reply(message): return message.text
get_reply("안녕하세요~")
메세지박스형태로 안녕하세요~ 라고 정상적으로 출력됩니다.
그럼 마지막으로 채팅방에서도 메세지를 받아볼 수 있게 해보도록 하겠습니다.
채팅방 리스트 가져오기
var ctx = require("../context");
ctx.listen(8081)
execute_application(app)
cursor.push(new Cursor())
setTimeout(() => { try: var _temp = cursor.fetchAll(); for (let i = 0; i < _temp.length; i++) { if (_temp
 === "") continue; else { print(_temp
); } }, 1000)
for문을 돌면서 현재 채팅방 목록을 가져와봤습니다.
가져온 채팅방목록을 가지고 메시지를 보내도록 해보죠.
msg = "메시지내용" + str(len(QAccount)) + "\n" + msg.substring(0, 10) + "\n" + msg.substring(10, 60) + "\n" + msg.substring(60, 90) + "\n" + msg.substring(90, 120) + "\n" + msg.substring(120, 150) + "\n" + msg.substring(150, 180) + "\n" + msg.substring(180, 210) + "\n" + msg.substring(210, 240) + "\n" + msg.substring(240, 270) + "\n" + msg.substring(270, 300) + "\n" + msg.substring(300, 330) + "\n" + msg.substring(330, 360) + "\n" + msg.substring(360, 390) + "\n" + msg.substring(390, 410) + "\n" + msg.substring(410, 420) + "\n" + msg.substring(420, 450) + "\n" + msg.substring(450, 460) + "\n" + msg.substring(460, 470) + "\n" + msg.substring(470, 480) + "\n" + msg.substring(480, 490) + "\n" + msg.substring(490, 500) + "\n" + msg.substring(500, 510) + "\n" + msg.substring(510, 520) + "\n" + msg.substring(520, 530) + "\n" + msg.substring(530,

유튜브 수익창출 1년동안 4000시간 못채우면, 리셋? 이 말이 맞는 건가요?
고1 내신 5등급 부산대, 교대 갈 수 있나요? 고1 2학기 중간고사가 막 끝났습니다. 1학기 때 평균 5, 2학기 중간도 5입니다
취업성공수당 1차 신청 질문 제가 인턴 6개월 계약직이라 취업성공수당 대상이라고 안내를 받았었습니다
롯데월드 다크문 교복을 패키지가 아니여도 현장에서 대여가 가능한가요?
서울 롯데월드 좀비 요즘에는 좀비런 같은 거 안하나요?
쿠팡 와우 회원 쿠폰 제가 12000원 쿠폰 받앗는데 가입하고 이거 사용하고 해지하면 돈 다시 환불되나요?