Streamlit - AI Hub의 데이터셋을 이용하여 챗봇 만들기 - 1. 데이터 준비 및 라이브러리 설치
해당 포스팅은 AI허브 사이트에서 제공된 사용자 대화 데이터를 이용합니다.
데이터셋
- 웰니스 대화 스크립트 데이터셋 - 정신건강 상담 주제의 대화가 구축된 데이터셋
https://aihub.or.kr/opendata/keti-data/recognition-laguage/KETI-02-006
AI 허브
다운로드 폴더 구성정보 데이터 다운로드는 PC에서만 가능합니다.
aihub.or.kr
- 트위터 데이터셋 - 트위터에서 수집 및 정제한 대화 시나리오를 구축한 데이터셋
https://aihub.or.kr/opendata/keti-data/recognition-laguage/KETI-02-008
AI 허브
다운로드 폴더 구성정보 데이터 다운로드는 PC에서만 가능합니다.
aihub.or.kr
- 한국어 대화 - 한국어로 주제에 맞는 대화 및 상황에 적절하도록 각색하여 구축된 데이터셋
https://aihub.or.kr/opendata/keti-data/recognition-laguage/KETI-02-011
AI 허브
다운로드 폴더 구성정보 데이터 다운로드는 PC에서만 가능합니다.
aihub.or.kr
필요한 라이브러리 설치
# 아나콘다 프롬프트에서 설치
conda install streamlit
conda install streamlit-chat
conda install sentence-transformers
conda install typing_extensions
# cmd에서 설치
pip install streamlit
pip install streamlit-chat
pip install sentence-transformers
pip install typing_extensions
라이브러리 설치 - AWS EC2 프리티어를 사용한다면?
sentence-transformers 라이브러리가 750MB라서 그런지 다운로드가 진행되지 않아서 FTP로 넣어주었습니다.
아래의 링크는 제가 다운받았던 링크입니다.
https://www.wheelodex.org/projects/torch/wheels/torch-1.11.0-cp39-cp39-manylinux1_x86_64.whl/
해당 라이브러리를 직접 설치 이후에 다시 'pip install sentence-transformers' 진행
다운받은 whl파일 설치하는 방법 : https://luvris2.tistory.com/126
리눅스 - 로컬에서 Wheel 패키지 설치하기
파이썬이 설치되어 있는 상태에서 진행하였습니다. Wheel 패키지? 보통은 'pip install 라이브러리명' 을 써주면 인터넷을 이용하여 자동적으로 설치가 되지만, 그러지 않을 때 해당 라이브러리를 직
luvris2.tistory.com
라이브러리 호출
import streamlit as st
from streamlit_chat import message
import pandas as pd
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
import json
주의
- ImportError: cannot import name 'Literal' from 'typing'
- streamlit_chat 라이브러리는 Literal을 사용합니다.
- Literal 라이브러리는 파이썬 3.8 이상에서만 사용 가능합니다.
- 파이썬 3.7 이하 버전에서는 사용이 불가합니다.
- 파이썬 3.7에서 불러온 경우 에러 출력
해결 방법
- 파이썬 버전이 3.7이였기 때문에 버전을 3.9로 바꿔서 사용
간단한 예시
- 소스 코드
import streamlit as st
from streamlit_chat import message
message("My message")
message("Hello bot!", is_user=True) # align's the message to the right
- 실행 화면