# SELECT문 - id로 검색하여 조회 cur.execute("SELECT * FROM score WHERE id=%s;" % (id_data)) rows = cur.fetchall() print(rows) print(type(rows))
# rows 길이 = 0 # 해당 id가 남긴 기록이 없음 = 첫 평가 # 점수를 포함한 데이터를 INSERT iflen(rows) == 0: cur.execute("INSERT INTO score (date, id, score) VALUES (%s, %s, %s);" , (datetime.today().strftime('%Y-%m-%d'), idid_data, score_data) )
# rows 길이 != 0 # 해당 id가 남긴 기록이 있음 = 최소 두 번째 평가 # 기존에 남긴 점수를 새로 UPDATE else : cur.execute("UPDATE score SET date=%s, score=%s WHERE id=%s;" , (datetime.today().strftime('%Y-%m-%d'),score_data, idid_data) )
# cur.execute("SELECT * FROM score WHERE id=%s;" % (id_data)) # rows = cur.fetchall() # print(rows) # print(type(rows))
$ git add . $ git commit -am "your_message"# 이 부분만 자유롭게 쓸 수 있다. $ git push origin main ## Github Repository에 업데이트 $ git push heroku main ## Heroku 코드 배포
(2) 스킬 서버 등록
단순 텍스트형 응답
아래와 같이 스킬 서버 정보를 입력하고 저장한다.
코드에서 정의한 이름을 URL 뒤에 덧붙인다 : /api/sayHello
단순 이미지형 응답
텍스트형 응답과 같은 과정을 거친다.
/api/showHello
(3) 시나리오
여기가 가장 중요하다. 이제 시나리오를 등록한다. 이 때 중요한 것은 파라미터 설정 탭에서 스킬 선택을 개별적으로 호출 할 수 있다.
‘단순 텍스트형 응답’ 스킬 사용
봇 응답에서 스킬 데이터를 선택 후, 저장 버튼을 클릭한다.
‘단순 이미지형 응답’ 스킬 사용
사용할 스킬 데이터를 선택 후, 저장한다.
(4) 배포
배포 탭을 클릭한 후, 배포를 진행
(5) 테스트
봇 테스트를 열고 아래와 같이 테스트를 한다.
배포 완료 후 사용 가능
단순 텍스트형 응답
설정한 텍스트 출력
정상 작동
단순 이미지형 응답
설정한 이미지 출력
정상 작동
(6) 로그 확인
Heroku 에서는 로그를 쉽게 확인 가능
1
heroku logs
(7) 출력
outputs는 출력 그룹을 나타내며, 출력 그룹은 1~3개까지 출력 요소를 포함시킬 수 있다.
동의어에 해당하는 값이 나오면 추후에 확인할 로그 값에는 대표 엔트리만 별도로 데이터를 수집할 수 있다.
(2) 시나리오 구성
엔티티를 구성했다면, 이제 시나리오를 구성한다.
사용할 파라미터를 설정한다.
패턴 발화를 할 때 원하는 파라미터를 별도로 지정할 수 있다.
패턴 발화를 보면 빨간색 네모 박스를 확인할 수 있는 데, 이 부분에서 파라미터를 설정할 수 있다.
더하기, +에서의 파라미터는 엔티티 그룹을 설정하게 된다.
실제 파라미터 설정된 값은 다음과 같다.
(3) 파이썬 코드
이제 다음 코드를 작성하여 기존 main.py에 추가한다.
코드 작성시, 한가지 유의 사항은 json.loads() 함수를 반드시 써줘야 한다. Python Dictionary를 String으로 변경하는 것은 str() 함수를 사용하면 쉽게 변경이 가능하지만, 문자열 dictionary를 Dictionary로 바로 변경은 되지 않는다. 따라서, json.loads()를 사용한다.
기존 Existing App과 연동하려면 배포 전 아래 코드를 선 실행 후, 배포를 진행한다.
heroku git:remote -a chatbotnos
1
git init
heroku 배포 메뉴얼의 코드
1 2
$ heroku git:clone -a chatbotnos $ cd chatbotnos
Heroku 배포
Heroku에 배포하기 위해서는 크게 아래 코드만 기억한다.
1 2 3 4
$ git add . $ git commit -am "your_message"# 이 부분만 자유롭게 쓸 수 있다. $ git push origin main ## Github Repository에 업데이트 $ git push heroku main ## Heroku 코드 배포
헤로쿠(Heroku)는 간단히 git을 통해 무료로 웹 사이트를 호스팅할 수 있게 해주는 서비스다. 무료인 이유는 해당 도메인으로 몇 시간 동안 요청이 없으면 수면상태로 전환해 초기 접속이 늦기 때문이다.그래서 개인 블로그 서버나 포트폴리오 결과물 배포 용으로 가볍게 활용하기 좋은 호스팅 플랫폼이다. 현재 공식적으로 Node.js, Ruby, Java, PHP, Python, Go, Scala, Cjojure 언어를 지원한다.