앞선 글에서 Kochat이라는 오픈소스 챗봇 프레임워크를 소개했었습니다.
그래서 이번 글에서는 소개에 이어서 이 chatbot의 Demo를 실행해 본 내용을 적어보려고 합니다.
결론은 저번 글 말미에도 적었지만 "실패" 했습니다. ㅠㅠ
Kochat Github 살펴보기
우선 구글에서 kochat이라고 검색을 하면 github 주소가 나옵니다.
소스 다운로드
ZIP 파일로 다운로드를 했고요.
압축을 풀어보면 이렇게 파일들이 있습니다.
저는 폴더 이름을 kochat-test로 적었습니다.
IDE로 kochat 프로젝트 열기
이번 Demo를 실행시켜 볼 때 IDE는 파이참을 사용했습니다. 파이참은 처음 사용해 봤는데 확실히 IntelliJ를 만든 회사의 제품답게 훌륭한 것 같습니다.
파이썬 버전 = 3.7
파이썬은 3.7 버전을 사용했고 아나콘다라는 게 있어서 그걸 써볼까 했는데 그냥 IDE의 기본 기능을 통해서 실행해 보기로 했습니다.
가상환경이라는 개념도 이번에 처음 알았는데 파이썬 개발환경에서 만들어지는 이 가상환경이라는 게 조금 이해하고 나니까 확실히 편리한 기능인 것 같습니다.
우선 위 이미지에 있듯이 화면의 우측 하단에서 interpreter 설정을 할 수 있는 메뉴를 누른 후에 Interpreter Settings... 을 클릭해서 아래와 같이 세팅을 했습니다.
이 화면에서 이제 Conda, 즉 아나콘다를 이용한 환경을 선택하거나 새로 가상환경을 만들어주거나 할 수 있는데요.
저는 파이참에서 제공해 주는 가상환경 만들기를 선택했고 venv라는 이름의 가상환경을 설정하기로 했습니다. (가상환경이 만들어지는 폴더명이라고 보면 될 것 같습니다.)
위의 화면에서 OK를 누르고 나면 이렇게 Creating Virtual Environment라는 진행 창이 뜨고요. 좌측 폴더 목록에 보면 원래 없던 폴더가 이제 생성됩니다.
좌측에 보면 주황색 배경으로 티 나게 venv라는 폴더가 생성되었습니다. 그리고 우측하단을 보면 상태바가 있는데 가상환경을 만들면서 이제 필요한 나머지 소스나 라이브러리 등을 다운로드하는 중이기 때문에 저 상태바의 작업이 모두 완료된 후에 다음 작업을 해야 에러 없이 잘 작동하는 것 같습니다.
터미널을 열어보면 좌측 끝에 (venv)라는 글자가 있는 게 보일 텐데 지금 터미널이 저 (venv)라는 환경에 실행된다는 뜻입니다.
저 venv 폴더에 파이썬과 각종 라이브러리들이 다운로드되어서 폴더 전체를 그냥 옮기면 실행시킬 수 있게 되는 그런 느낌입니다.
그리고 가만히 이제 놔두면 이렇게 경고 메시지가 와장창 뜨는데요. kochat에서 필요하다고 설정해 둔 라이브러리들이 없다는 경고 메시지입니다.
그리고 사실 이 문제 때문에 실행이 안됩니다.
저 필요한 라이브러리들은 터미널을 이용해서 다운로드해도 되고, 아니면 파이참의 기능을 이용해서 다운로드해도 되는데요. 일단 kochat의 깃헙 페이지를 다시 한번 확인해 보도록 하겠습니다.
Requirements에 대해서 설명이 나와있는데요. 일단은 Pytorch라는 게 필요하다고 합니다. 그리고 저 화면의 여기를 클릭하면 해당 프로그램을 받을 수 있는 사이트로 연결됩니다.
전 windows에서 pip, 즉 터미널로 설치를 할 거고, 파이썬에서 CPU로 (그래픽카드가 따로 없을 때라고 보면 되는데 보통 이걸로 설치하는 것 같습니다) 설정을 하니까 저 마지막 Run this Command라는 부분이 나오고요. 이제 저 명령어를 복사해서 아까 파이참의 터미널에서 실행을 하면 됩니다.
근데 이제 여기부터 문제가 발생합니다. 저 명령어로 다운로드를 하면 Pytorch는 2.3.1 버전을 다운로드하게 되는데 kochat에 달려있는 라이브러리들과 호환이 안됩니다.
그래서 kochat에 있는 라이브러리들의 이름과 버전을 다 적은 후에 그것과 호환되는 pytorch 버전을 물어보니까 1.5.0을 설치하라고 하네요. (챗지피티 말고도 검색도 해봤는데 저 버전이 얼추 맞는 것 같습니다)
그래서 이제 1.5.0 버전을 설치하려고 하니까요. 이제 저 pytorch가 1.5.0 버전을 지원하지 않습니다. ㅋㅋㅋㅋ
그래서 어쩔 수 없이 pytorch 최소 지원 버전인 1.7.0 버전을 설치했습니다.
그리고 다시 깃허브 페이지를 확인해 보니까 pip로 kochat을 다운로드하라고 합니다. 그에 딸린 디펜던시들도 설명이 있고요.
위에 나와있는 pip install kochat을 실행시키니까 에러가 납니다.
뭔가 pip install kochat 명령어로 그에 딸려서 다운로드되는 디펜던시들이 제대로 다운이 안되니까 파이참의 기능으로 다시 시도해 봤습니다.
파이참으로 디펜던시들을 받으니까 무사히 다운로드되는 것 같습니다.
그리고 오! 모두 다 설치가 됐다고 나오네요. 는 아래쪽에 보면 Updating 진행바가 있는데 저게 다 되고 적용되는데 까지 좀 기다려야 됩니다.
빨간 줄이 있긴 하지만 디펜던시는 다 받은 것 같은데? 해서 실행을 해봤습니다.
application.py 파일을 실행시키면 됩니다.
그리고 발생하는 에러. 아까 위에 빨간 줄이 있던 flask를 찾을 수 없답니다..
터미널로 이제 다시 돌아가서 flask를 설치했습니다. 버전은 kochat설명서에 있던 1.1.2 버전을 설치했는데요. 여기부터 무한 굴레가 시작됩니다.
다행히 터미널로 flask 1.1.2 버전을 설치하니까 IDE의 빨간 줄 및 경고 메시지가 다 사라졌습니다. 진짜 문제가 다 해결된 것 같습니다.
다시 실행하니까 바로 또 에러 메시지.
jinja2 가 제대로 불러와지지 않는답니다.
설치된 jinja2 버전을 확인해 보니 3.1.4라고 합니다.
chatGPT에게 한번 물어봤습니다.
예. 버전이 안 맞답니다. 그래서 또 버전을 맞춰줍니다.
버전 맞추고 다시 실행. 이제 이게 무한 반복인데요. jinja2 버전을 맞추고 실행하니 markupsafe가 문제랍니다.
다시 또 버전을 확인하니까 얘는 2.0.1을 써야 된답니다.
예. 버전을 확인해 보니까 역시나 더 높은 버전인 2.1.5가 설치되어 있네요. 계속 반복해서 알려준 버전을 찾아서 설치합니다.
다음 문제 발생 라이브러리는 itsdangerous
계~속 버전을 맞춰줍니다.
이건 이제 버전을 맞추고 나서 확인한 터미널입니다. 1.1.0으로 잘 맞췄습니다.
다음 에러 발생은 werkzeug 라이브러리
무한으로 그냥 계속 버전을 맞춰줍니다...
버전을 다시 잘 맞게 다운로드했습니다.
실행하면 또 에러 납니다. 이번엔 또 뜬금없이 torch에서 나는데.. 아까 제일 처음에 버전을 맞췄거든요. 근데 다시 다른 라이브러리르 맞추니까 얘가 버전이 안 맞다고 나옵니다.
그래서 사실 여기를 다시 버전을 또 맞추면?? -> 다시 또 제일 처음 맞췄던 flask나 다른 디펜던시들의 버전이 안 맞다고 에러가 나옵니다.
그리고 그걸 또 버전을 맞추면? -> 아까 맞춘 게 버전이 안 맞음 -> 또 맞춤 -> 되던 게 또 안됨 의 무한 굴레였습니다.
그래서 윈도에서는 실행 포기!
근데 또 리눅스에서는 됩니다?!
웃긴 건 제가 구름 IDE에서도 이걸 한번 해봤었는데 거기서는 리눅스로 실행을 했거든요. 그런데 리눅스에서는 또 그렇게 그다지 큰 문제없이 몇 개의 디펜던시만 버전을 바꾸니까 실행이 되는 걸 확인했습니다.
하지만 지원이 종료된 것으로 보임
근데 kochat 깃허브를 보니까 마지막 수정이 거의 3년 전이고요. 그래서 저 라이브러리들과 디펜던시들이 지금 버전이 다 안 맞는 문제가 발생하는 것 같습니다. 저는 이 블로그에 적은 내용 말고도 다른 방식으로 이것저것 많이 시도해 봤는데 의존성과 버전 문제 때문에 어떻게 실행은 하더라도 앞으로 꾸준히 사용하기에는 어려울 것 같다고 판단했고요. 다른 오픈 소스 프레임워크들도 많기 때문에 kochat은 그냥 여기까지 시도만 해보고 접기로 했습니다.
결론
결론 : kochat은 최신 업데이트가 되고 있지 않기 때문에 라이브러리들의 버전이 제대로 호환되지 않아서
실제로 사용하기에는 문제가 많아 보인다. 다른 오픈 소스를 찾아봐야 할 것 같다.
'개발 일상(Dev)' 카테고리의 다른 글
[JAVA] if/else 문과 switch/case 문의 속도 비교 (feat.백준 9498번) (0) | 2024.11.21 |
---|---|
챗봇_한국어 챗봇 프레임워크 Kochat 소개 (2) | 2024.07.19 |
[컴퓨터 공학 기초 강의] 혼자 공부하는 컴퓨터 구조+운영체제 (0) | 2024.07.10 |
윈도우 데스크탑, MacBook 2대 컴퓨터 사용 방법 연구기 (0) | 2024.03.15 |
맥, 맥북, 아이패드에서 한글 사용하기 - 편집까지 가능 (0) | 2024.03.15 |