본문 바로가기
[AWS]/STUDY

[AWS][Lex][Lambda] 1. Lex와 날씨 API

by METAVERSE STORY 2022. 8. 1.
반응형
728x170

 

이 포스팅의 목적은 AWS에서 제공하는 Lex와 Lex로 특정 값이 입력되면 Lambda가 실행되어 날씨 API를 통해 특정 도시의 날씨를 답변해주는 채팅 봇을 구성하는것이 목적이다.

우선 Lex가 무엇일까?

"Amazon Lex는 음성 및 텍스트를 사용하는 애플리케이션에 대화형 인터페이스를 구축하기 위한 AWS 서비스입니다."

AWS에서 Lex는 위와 같이 설명을 하고 있다.

Amazon Lex를 사용하면 모든 개발자가 Amazon Alexa를 구동하는 것과 동일한 대화형 엔진을 사용할 수 있으므로 신규 및 기존 애플리케이션에 정교한 자연 언어 챗봇을 구축할수 있다.
Amazon Lex는 자연 언어 이해(NLU)와 자동 음성 인식(ASR)의 심층적인 기능과 유연성을 제공하므로 생생한 대화형 상호 작용을 갖춘 몰입도 높은 사용자 경험을 구축하고 새로운 범주의 제품을 생성할 수 있다.

Amazon Lex를 사용하면 다음과 같은 이점이 있다.

단순성 - Amazon Lex는 사용자가 콘솔을 사용하여 몇 분 안에 고유의 챗봇을 생성할 수 있다.

대중화된 딥 러닝 기술 - Alexa와 동일한 기술로 구동되는 Amazon Lex는 음성 언어 이해(SLU) 시스템을 생성하는 ASR 및 NLU 기술을 제공한다.

원활한 배포 및 조정 - Amazon Lex가 있으면 Amazon Lex 콘솔에서 직접 챗봇을 구축, 테스트 및 배포할수 있다.

기본 제공되는 AWS 플랫폼 통합 - Amazon Lex는 Amazon Cognito, AWS Lambda, Amazon CloudWatch 및 AWS Mobile Hub와 같은 기타 AWS 서비스에 대한 기본적인 상호 운용성을 갖추고 있다.

비용 효율성 - Amazon Lex를 사용하면 선결제 비용이나 최소 요금이 없다.

 

 

 

1) 우선 Lex로 이동하도록 하자.

이곳에서 

Create Bot을 클릭하여 Lex를 생성해보자.

해당 Bot의 이름을 입력한다.

해당 Bot에 접근할수 있는 권한을 설정하고, 어린이 보호 관련 설정이 있는데,

필자는 Amazon Lex용 권한을 생성했고, 어린이 보호 관련 설정은 No를 선택하고 넘어갔다.

 

 

다음은 Lex의 언어를 선택한다.

언어는 영어를 사용하면 되지만, 음성 인식의 경우는 사용하지 않을 것이기 때문에,

위와 같이 클릭하여 text만 사용하는 애플리케이션이라고 선택을 하고 넘어간다.

 

 

다음은 대화에 대한 설정인데, Intent는.. 기능에 대한 이름과 비슷한 개념으로 사용된다.

 

 

하단에 utterances는 사용자가 어떤 문자를 입력했을때 해당 Intent를 실행시킬지에 대한 내용이다.

 

 

 

다음으로 Slot에 봇의 답변에 대해서 추가한다.

우리는 도시 이름에 대한 반응을 봇에 설정할 것이기 때문에, 도시와 관련된 Slot을 설정한다

 

 

Confirmation prompt는 사용하지 않을것이기 때문에 Activate를 DeActivate로 변경한다.

 

 

 

해당 설정에서 우리는 Lambda를 사용할것이기에 Advanced options를 클릭하여 

Lambda 사용으로 업데이트를 하도록 한다.

모든 설정을 마무리 하며 저장을 하면 해당 설정으로 Lex가 준비 된것이다.

 

 

 

 

2) 다음으로는 날씨 정보를 API로 제공하는 사이트를 이용해보자.

https://openweathermap.org/

 

Сurrent weather and forecast - OpenWeatherMap

Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w

openweathermap.org

위 사이트에서는 날씨 정보를 API로 제공하는 사이트이다.

해당 사이트에 접속하여 회원가입을 하도록 하자.

 

 

 

 

 

간단한 정보만 입력하고 회원가입을 하여 로그인을 해보자.

로그인후 우측 상단에 내 아이디 혹은 이름이 확인되는데, 이곳을 클릭해보면

내 API Key가 확인된다.

My API Keys를 클릭해서 

적당한곳에 기록을 해둔다.

 

 

 

다음으로 상단에 API를 클릭하고,

City Name으로 검색하면 Built-in API request by city name을 확인할수 있는데,

이를 클릭해서

도시 이름으로 API Call하는 방법을 확인하여 브라우저 주소 입력창에 

https://api.openweathermap.org/data/2.5/weather?q={city name}&appid={API key} 

위 Url에서 city name에 도시 이름, appid에 앞서 확인한 내 API Key를 입력하여 호출한다.

이제 위 API와 Lex를 연결해주는 Lambda를 구성하여 기능을 구축해 보도록 하자.

 

 

 

3)  

 

 

 

 

 

 

 

 

 

 

\

 

 

 

반응형
그리드형

'[AWS] > STUDY' 카테고리의 다른 글

[AWS] Route53 도메인 연결  (0) 2022.08.15
[AWS] Route53이란  (0) 2022.08.12
[AWS] Cloud Front의 정의  (0) 2022.08.12
[AWS] 리눅스 파일 시스템  (0) 2022.08.12
[AWS] AWS CLI 구성하기  (0) 2022.08.01
[AWS][초급] Lambda 더하기 테스트  (0) 2022.07.26
[AWS] Data Link and Migration  (0) 2022.07.20
[AWS] Serverless 환경  (0) 2022.07.08

댓글