의미 적으로 메시지를 검색 할 수있는 간단한 불화 봇.
단어 임베딩과 벡터 데이터베이스에 대해 배우고 싶었 기 때문에이 프로젝트를 시작 했으므로 끝내지 않을지 잘 모르겠습니다. 사용하려면 직접 호스팅하는 방법을 알아 내야합니다.
이것은 여전히 여전히 진행중인 작업입니다. 여전히 데이터베이스 측면에서 많은 작업이 필요합니다. 벡터 데이터베이스는 비교적 사용하기 쉽지만 유지하기가 어렵습니다.
또한, 내가 그것을 불화 봇으로 프레임 한 이유는 플랫폼을 좋아하는만큼 검색 기능이 좋지 않기 때문입니다. 다른 사람들이 사용할 수 있도록이 봇을 호스팅 할 수있는 시점에 도달할지 확실하지 않지만, 그렇다면이 섹션을 업데이트하겠습니다.
마지막으로, 나는 TypeScript를 경험하지 않았기 때문에 올바른 추상화/구조를 사용하는지 확실하지 않습니다. 하지만 데이터베이스와 임베딩 서비스를 쉽게 교체 할 수 있도록 약간의 추상화를 활용하려고했습니다. 제안이 있으시면 알려주십시오.
주요 목적은 서버에서 알고있는 메시지를 찾는 데 도움이되지만, 그 메시지가 어떻게 표현되었는지 정확히 기억할 수 없습니다. OpenAI의 ADA 모델을 사용하여 각 메시지에 대한 임베딩을 생성하고 벡터 데이터베이스 (QDRANT)에 저장합니다.
그런 다음 주어진 쿼리와 의미 적으로 유사한 메시지를 검색 할 수 있습니다.
불화 봇을 만들어 서버에 추가해야합니다.
또한 OpenAI 계정을 만들고 API 키를 가져와야합니다.
cp .env.template .env # And fill in the missing values노드와 Docker가 설치되어 있다고 가정하면 다음 명령을 실행하여 개발 모드에서 봇을 시작할 수 있습니다.
npm install
npm run commands:deploy # Deploys bot commands to your dev server (you need to do this every time you add a new command)
bash start-db.sh # Starts a docker container with a vector database
npm run start:dev