12월 01일 (화)_입사 2일차 (Chatbot 챗봇, Semantic ui)
오늘의 한 일
1. Chatbot(챗봇) 관련 학습
2. 업무 관련 프로그램 설치
3. 입사 첫날 이야기
1. Chatbot(챗봇) 관련 학습 - 백엔드 구현
1. 구글에서 프로젝트 만들기
2. Dialogflow API 사용을 위한 Service Account 만들기
1. server/config/dev.js 에 code 입력
* 참고로 dev.js 파일은 비밀정보가 많기 때문에 .gitignore 를 통해 꼭 숨겨 놓을 것!
module.exports = {
googleProjectID: '',
dialogFlowSessionID: 'bot-session',
dialogFlowSessionLanguageCode: 'en-US',
googleClientEmail:'',
googlePrivateKey: '',
mongoURI:'',
}
2. Google Cloud Platform에서 Service Account 만들기
IAM 및 관리자 -> 서비스 계정 -> 차례대로 관련 정보 입력하여 생성
3. API Key 생성
생성 이후 API Key 파일은 안전한 곳에 보관(잃어버리면 복구 안됨)
3. Dialogflow npm 설치 및 기본 Library 복사 및 정리
Using the client library 코드 복사하여 routes 폴더 생성 후 dialogflow.js 파일 생성하여 내용 붙여넣기
이후 코드 리팩토링 필요함.
아래 코드는 참고하면 좋을 리팩토링 된 코드입니다.
const express = require('express');
const router = express.Router();
const structjson = require('./structjson.js');
const dialogflow = require('dialogflow');
const uuid = require('uuid');
const config = require('../config/keys');
const projectId = config.googleProjectID
const sessionId = config.dialogFlowSessionID
const languageCode = config.dialogFlowSessionLanguageCode
// Create a new session
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// We will make two routes
// Text Query Route
router.post('/textQuery', async (req, res) => {
//We need to send some information that comes from the client to Dialogflow API
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
// The query to send to the dialogflow agent
text: req.body.text,
// The language used by the client (en-US)
languageCode: languageCode,
},
},
};
// Send request and log result
const responses = await sessionClient.detectIntent(request);
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
res.send(result)
})
4. Postman을 활용하여 res,req 확인
이때 아마 오류가 발생할텐데 이는 구글 인증을 안해줬기 때문입니다.
아까 받은 API Key를 Env(환경변수)로 설정을 해야합니다.
Windows에서 환경변수를 설정하는 법은 여러가지가 있지만 그 중 하나를 통해 해결하는 방법을 알려드리면
$env:GOOGLE_APPLICATION_CREDENTIALS='d:\DEV\API key\test-chat-bot-app-297302-e867f2982298.json'
이처럼 환경변수를 설정할 수 있습니다. "" 안에 파일 경로를 입력하시면 됩니다.
이후 환경변수를 확인하는 명령어는
Get-ChildItem Env:
이를 통해 환경변수 설정이 제대로 되었는지 확인이 가능합니다.
* 참고 : 에디터를 껏다키면 환경변수가 없기 때문에 다시 만들어줘야합니다. 이를 해결하는 방법이 있는데 이는 나중에 해볼 예정입니다. 나중에 검색 키워드 zshrc, bashrc
마지막으로 Postman을 통해 응답이 제대로 오는지 확인 가능합니다.
이상으로 백엔드 부분의 구현의 초기 설정을 완료하였습니다.
2. 업무 관련 프로그램 설치
현재까지 설치한 프로그램 리스트입니다.
혹시나 컴퓨터 재설치나 신입사원이 왔을 시 도움이 될 것으로 판단되어 정리하였습니다.
3. 입사 첫날 이야기
오늘로 입사 2일차 입니다. 오랜만에 회사에 출근하니 감회가 새롭습니다. 입사 첫날에는 간단히 대표님 및 직원들과 인사를 하고 업무에 관련된 여러가지 기본사항을 익혀나가는 시간이였습니다. 그리고 남는 시간에는 앞으로 진행될 것이라 여겨지는 프로젝트인 챗봇에 관련된 학습을 진행하였습니다. 흠... 별로 할 말이 없네요.
앞으로도 꾸준히 열심히하여 성공한 개발자가 되도록 노력하겠습니다. 파이팅~!
마지막으로 챗봇관련 학습은 인프런의 챗봇 어플리케이션 만들기를 배우면서 정리한 내용입니다.
혹시 참고하시려면 여기로 들어가세요.
따라하며 배우는 노드, 리액트 시리즈 - 챗봇 사이트 만들기 - 인프런
이 강의를 통해서 Google에서 제공하는 API를 사용해서 챗봇을 만들어 볼 수 있습니다. 초급 웹 개발 프레임워크 및 라이브러리 React Node.js 웹 개발 서비스 개발 온라인 강의 구글 API를 활용한 챗봇
www.inflearn.com