나만의 맞춤형 챗봇 구현기: RAG와 오픈소스로 만드는 CS챗봇의 시작
소개
저는 개인화된 FAQ 챗봇을 만들어보고자 했습니다. 기존의 일반적인 챗봇과는 달리,
사용자의 문서와 데이터를 기반으로 정확한 답변을 제공하는 시스템을 구축하고자 했습니다.
주요 목표:
맞춤형 FAQ 시스템 구축
RAG(Retrieval Augmented Generation, 검색 증강 생성) 기술 활용
오픈소스 기반의 자체 호스팅 가능한 솔루션 개발
진행 방법
사용한 도구
1. 문서 처리/임베딩:
벡터 데이터베이스 - https://www.pinecone.io/
임베딩 모델 - openai의 text-embedding-3-small을 사용했어요. 차원이 1,536
업로드한 문서를 쪼개서 관련된 차원에 맞게 분류한 다음 저장을 하는 개념이라고 이해함.
이렇게 임베딩을 하면, LLM이 문서를 편하게 가져올 수 있다고 함.
2. 챗봇 구현:
n8n.io, self-hosting방법으로 설치하고, 개인도메인을 연결했습니다.
원래, 로컬서버를 만들어서 사용할 수 있는 데, 챗봇을 외부에서 사용하려면 도메인이 연결이 되어야 합니다.
지난 스터디는 쉬고, 홈서버만드는 거 살펴봤어요.
제 서버.
독립된 url로 챗봇의 레이아웃을 사용
브라우저에 url을 입력하면 바로 사용할 수 있음.
proxmox라는 VM을 관리하는 OS를 설치 했어요.
클라우드서버를 이용해도 되지만, 왠지 무서워서 홈서버로 접근해보려고 함.
리눅스서버를 설치하고, 도커로 배포해서 사용해보려고 했지만, 더 막강한 게 눈에 띔
그게 바로 proxmox,
컴퓨터 1대에 이 서비스를 설치하면, 가상으로 여러대의 PC를 사용할 수 있습니다.
우분투서버도 설치하고, 윈도우서버도 설치하고, 시놀로지나스도 설치하고
스냅샷기능이 있어서 언제라도 되돌릴 수 있고 -> 초보는 안전장치가 있어야 함.
저는 가상피씨를 20년정도 사용했는 데, 이 스냅샷기능은 엄청 편하답니다.
제꺼 아니고, 대략 이런 식으로 생겼어요. 왼쪽에 102,104 이런게 하나의 컴이라고 보시면 됩니다.