일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Mac
- nohub
- flask
- ssh
- Python
- braces
- chatbot
- 플라스크
- AWS
- 챗봇
- gcp
- 파일권한
- 운영체제
- cloud
- Windows
- OS
- Lambda
- 클라우드
- venv
- 노션
- 시작
- jinja2
- GQL
- graphQL
- docker
- vscode
- 카카오톡 챗봇
- 구글클라우드
- 도커
- 카카오 오픈빌더
- Today
- Total
목록Python (7)
ForFour
가상환경 virtualenvpython의 가상환경을 만들어주는 라이브러리들이 몇 가지 있지만 그 중 가장 유명하고 쓰기 편한 virtualenv와 virtualenvwrapper를 사용하기로 합니다. 추가적인 라이브러리에 대한 정보는 다음 스택오버플로우에 잘 설명되어 있습니다.python - What is the difference between venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, etc? - Stack Overflow virtualenv & virtualenvwrapper처음에 venv를 사용할 때는 오히려 귀찮았습니다. 내가 왜 사용해야 하는지도 잘 모르겠고 간간히 사용은 하고 있지만 전혀 익숙해지지 않고 효율성에 대한 의문만 있..
이렇게 챗봇을 위해 서버를 운영하게 되면 정적인 파일(이미지 등)을 챗봇으로 넘겨주어야 하는 경우가 생깁니다. 이때 Flask Template을 이용하여 파일을 전송하고 간단하게 웹 어플리케이션을 만들 수 있습니다. HTML 파일 렌더링 하기 먼저 기본 html 파일을 렌터링하여 URL에 연결해 보겠습니다. 이때 flask의 render_template() 함수를 이용하여 html 파일을 렌더링할 수 있습니다. 이전 글의 server.py를 간략화한 코드로 진행해보겠습니다. # server.py from flask import Flask, request, jsonify, render_template import sys app = Flask(__name__) #데코레이터 url과 함수를 이어주는 역할 @a..
처음에는 ssh로 AWS 쉘을 얻어 터미널에서 서버를 실행하는 방식으로 했습니다. python3 server.py 서버는 항상 돌아가야 하는데 이렇게 실행을 하면 AWS 접속을 끊거나 세션 시간이 만료되어 접속이 끊기면 서버도 중단이 되어버려 항상 서버를 켜놓을 수 있는 방법이 필요했습니다.. 그래서 *nohup 명령어를 사용해서 서버를 백그라운드에서 돌아가도록 했습니다. 더보기 nohup은 리눅스, 유닉스에서 쉘스크립트파일(*.sh)을 데몬 형태(백그라운드)로 실행시키는 프로그램이다. - nohup으로 실행을 시키려면 실행파일 권한이 755이상으로 되어있어야 한다. - 명령어 뒤에 '&'를 추가하면 백그라운드로 실행된다. FLASK 백그라운드 실행 nohup python3 -u server.py & &..
서버를 구성했으니 이제 카카오 오픈빌더에서 서버를 호출해 다양한 작업을 할 수 있습니다. 이전의 코드처럼 '안녕'이라는 메세지가 오면 서버를 통해 간단하게 메세지를 출력할 수 있도록 해봅시다. 해당 블록이 안녕이라는 발화를 입력받았을 때 실행될 수 있도록 패턴 발화를 입력해줍니다. 여기서 패턴 발화는 여러 엔티티로 패턴을 설정했을때 호출되는 서버로 발화에 대한 파라미터가 넘어가기 때문에 발화를 통해 내부 처리를 하고 싶다면 엔티티에 대한 설계를 꼼꼼하게 해야 합니다. 패턴 발화를 입력했다면 호출할 api url을 입력하여 스킬에 등록해줍니다. 스킬 등록을 마쳤다면 해당 블록에 대해 연결할 스킬을 설정하고 스킬데이터 사용을 선택하면, '안녕'이라는 응답에 대해 내가 서버에 구현해 놓았던 코드가 실행되며 응..
일단 서버를 만들려면 자원이 있어야 합니다. 클라우드 컴퓨팅 서비스를 이용할 건데 MS의 Azure, AWS, Google Cloud Platform, 네이버 등.. 되게 여러 서비스가 있습니다. 저는 AWS를 사용하겠습니다. AWS에서 EC2를 생성하는 건 구글에 검색하면 많이 나오니 생략. 학생은 학생 계정으로 신청하면 일주일 정도 걸려 승인받을 수 있습니다. 공식문서 : Amazon Linux EC2 인스턴스를 생성 참고 블로그 : jaehyeongan님 블로그 EC2를 생성했으면 간단하게 Flask를 이용해 간단하게 서버를 열어봅니다. 코드는 다음과 같이 생성해줍니다. dataSend의 json형식은 카카오 오픈 빌더 리턴 형식입니다. 공식문서에서 확인할 수 있습니다. # server.py fro..
본격적으로 오픈 빌더를 사용하기 전에 카카오 오픈 빌더의 기본 개념들에 대해 익힐 필요가 있습니다. 이 부분에 대한 개념이 제대로 잡히지 않은 상태에서 시작하게 되면 나중에 챗봇 보드가 더러워질 수 있습니다. 기본 개념 ( 인텐트 , 엔티티, 어터런스 ) > 인텐트(#intent) : 사용자의 발화에 나타나는 의도 > 엔티티(@entity) : 사용자의 발화에 존재하는 객체(이해할 수 있는 단어)의 종류 > 어터런스(Utterence) : 사용자의 의도(인텐트)를 나타내는 예시 문장들 더보기 예> “코로나 국내현황 알려줘!” #intent - 알려줘! @entity - 코로나, 국내현황 즉, intent(의도) : 동사 , entity : 객제(주어, 목적어 등의 명사) entity는 엔티티 버튼을 이용..
한 달간 작은 프로젝트로 공공데이터를 활용해서 코로나 챗봇을 만들기로 합니다. 먼저, 카카오 for 비즈니스에서 채널을 개설해 줍니다. 홈 공개와 검색 허용을 켜야 돼요. 그래야 오픈빌더 신청을 할 수 있습니다. (안하면 리젝당합니다...ㅠ) 채널을 만들었다면 카카오 I 오픈빌더(Kakao I Open Builder)로 가서 개발 계정 신청을 합니다. 홈 url 부분에는 카카오 채널 - 관리 - 상세설정에 pf로 시작하는 주소를 넣습니다. 평균 2~3일 뒤에 승인메일이 날라옵니다. 이제 오픈빌더에 승인 계정으로 접속하면 개발할 수 있는 챗봇이 생성됐습니다.