뱁새유니버스

AI Assistant 개인 비서 라사 Rasa Init telegram 연동하기

by 뱁새유니버스

1. 세줄요약

01. Rasa는 Github에서 가장 인기 많은 AI assistant 중 하나다.

02. Rasa AI로 다양한 기능을 구축해봐야겠다. 

03. Telegram과 연결했다. 

2. 내용

(1) Rasa란 무엇일까?

Rasa는 오픈소스 머신러닝 프레임워크입니다. Rasa를 설치하고 구동하면 다양한 text나 voice 기반 대화를 수행할 수 있습니다. 오늘은 텔레그램으로 rasa를 구동하는게 목표고, rasa를 컨트롤 하며 여러 기기(?)나 서비스들과 인터페이스 연결이 가능한지 테스트해보고자 합니다.

아래 내용을 보시면 contextual assistant 중에 Telegram이 있죠? Telegram과 구동해보려 합니다!

출처 : https://github.com/RasaHQ/rasa

rasa는 대부분 파이썬으로 구성되어 있습니다.

파이썬이 언어가 쉬워서 확실히 개발이 편합니다.

(2) Rasa Github에서 로컬(내컴퓨터)로 설치하기

Rasa는 github에서 AI assistant 중 가장 starred가 많은 오픈 소스 중하나입니다. 아래 사이트에 들어가서 다운로드를 받아보겠습니다. 

https://github.com/RasaHQ/rasa

 

GitHub - RasaHQ/rasa: 💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialog

💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants - G...

github.com

github 소스를 로컬(내컴퓨터)로 가져옵니다. 

저는 https에서 주소를 복사해서 vs code에 설치했습니다.

리포지토리를 선택해줍니다.

그럼 이렇게 github로부터 로컬(내컴퓨터)로 소스가 복사되는 것을 확인할 수 있습니다.

다 설치하고 나면 부모 소스를 신뢰한다고 체크하고 확인해주세요.

그럼 왼쪽에 rasa 소스를 확인할 수 있습니다.

여기서 새터미널을 클릭해주시구요.

rasa init을 입력하고 myRasa라고 폴더 디렉토리를 만들어줍니다. 

그리고 do you want to train an initial model? 이라고 하는데 Y를 입력해주세요.

그럼 command line에서 trained assistant와 이야기를 하고 싶은지 물어봅니다. Y를 입력해주시면 아래와 같이 표기됩니다.

bot이 실행되고 메세지를 입력하면 rasa assistant가 대답해줍니다.

(3) 텔레그램과 연결하기

로컬 서버에서 텔레그램과 연동해 Rasa에게 묻는 말들을 텔레그램을 통해 통신하고 싶습니다.

Ngrok라는 터널링 프로그램이 있습니다. 

터널링이라고 표현해서 어려울 수 있는데 단순히 말하면 텔레그램(외부서비스)과 Rasa(제 로컬에서 돌아가는 서버)가 서로 통신을 하기위해 연결하기 위한 프로그램입니다. 

Ngrok를 설치하구요!

https://ngrok.com/

 

ngrok - Online in One Line

Zero Trust Add SSO, Mutual TLS, IP Policy, and webhook signature verification.

ngrok.com

윈도우용 파일을 다운로드 받습니다.

그리고 ngrok을 포트를 정한뒤에 실행시켜주기만 하면 됩니다.

설치한 경로에서 ngrok.exe http 5005이라고 입력하면 아래와 같이 서비스가 구동되는 것을 확인할 수 있습니다.

여기서 forwarding에 있는 값이 텔레그램에서 사용할 값입니다.

텔레그램 정보 credential이 없는데 아래의 형식에 맞게 작성해주세요! 

token은 아래 페이지에서 만들어봤는데 확인해보시면 됩니다!

https://idealist.tistory.com/89

 

Open AI Chat GPT 텔레그램 Telegram에서 개인챗봇비서로 사용하기 Telegram API

1. 개요 요즘 저는 ChatGPT로 AI assistant를 만드려고 다양한 방법을 시도하고 있는데요! chatGPT가 텔레그램에서 실시간 채팅으로 질문과 답변을 해준다면 얼마나 좋을까? 깃허브에 메세징앱을 통해 ch

idealist.tistory.com

verify값은 아래와 같습니다.

webhook_url은 "forwarding주소/webhooks/telegram/webhook" 입니다.

이 세가지 값을 모두 넣고 다시 명령어를 아래와 같이 넣어볼게요.

rasa run

그러면 아래와 같이 Rasa server is up and running이 됐습니다.

텔레그램에서 인사를 해볼게요!

잘되네요! 텔레그램으로 메세징 앱을 보내면서 rasa를 다양하게 활용해보려 합니다!

3. 마치며

이번 시간은 rasa(ai assistant)를 텔레그램(메시징 앱)을 통해 대화를 주고받을 수 있는 서버를 만들어보았습니다. 

open source ai assistant rasa로 할 수 있는 일이 어떤 것들이 있을까요?

구글 캘린더와 연동하기(스케줄 관리), 개인 데이터(individual data) 학습하여 사용자에게 알려주기, nlp 이해 및 학습 정도를 생각해볼 수 있겠네요. 많은 공부가 필요한 여행인 것 같습니다.ㅎㅎㅎ

질문이 있으시면 언제든 댓글 남겨주세요! 답변드리겠습니다. 같이 공부합시다^^
이 글을 보는 모든 분들 오늘 하루가 행복하시길 바랍니다.
감사합니다.

반응형

'IT > DevLog' 카테고리의 다른 글

유니티 개발 디펜스 게임 만들기 1  (0) 2023.08.30
구글 캘린더 google calendar API 사용법  (0) 2023.03.01

블로그의 정보

가슴이 웅장해지는 모든것

뱁새유니버스

활동하기