บอท Discord อย่างง่ายที่ช่วยให้คุณค้นหาข้อความเชิงความหมาย
ฉันเพิ่งเริ่มโครงการนี้เพราะฉันต้องการเรียนรู้เกี่ยวกับการฝังคำและฐานข้อมูลเวกเตอร์ดังนั้นฉันไม่แน่ใจว่าฉันจะทำมันให้เสร็จหรือไม่ หากคุณต้องการใช้มันคุณจะต้องหาวิธีโฮสต์ด้วยตัวเอง
นี่ยังคงเป็นงานที่กำลังดำเนินอยู่อย่างชัดเจน ยังต้องการงานมากโดยเฉพาะในด้านฐานข้อมูล ฐานข้อมูลเวกเตอร์ค่อนข้างใช้งานง่าย แต่ยากที่จะรักษา
นอกจากนี้เหตุผลที่ฉันวางกรอบในฐานะบอทที่ไม่ลงรอยกันก็เป็นเพราะฉันชอบแพลตฟอร์มมากพอ ๆ กับแพลตฟอร์มฟังก์ชั่นการค้นหาของมันไม่ดี ฉันไม่แน่ใจว่าฉันจะไปถึงจุดที่ฉันสามารถโฮสต์บอทนี้เพื่อให้ผู้อื่นใช้ แต่ถ้าฉันทำฉันจะอัปเดตส่วนนี้
สิ่งหนึ่งสุดท้ายฉันไม่แน่ใจว่าฉันใช้ abstractions/โครงสร้างที่ถูกต้องเพราะฉันไม่ค่อยมีประสบการณ์กับ TypeScript มากนัก แม้ว่าฉันพยายามใช้ประโยชน์จากสิ่งที่เป็นนามธรรมเพื่อให้ง่ายต่อการสลับฐานข้อมูลและบริการฝัง หากคุณมีคำแนะนำใด ๆ โปรดแจ้งให้เราทราบ
จุดประสงค์หลักคือการช่วยให้คุณค้นหาข้อความที่คุณรู้ว่าอยู่ในเซิร์ฟเวอร์ (หรือไม่) แต่คุณไม่สามารถจำได้ว่าพวกเขาถูกใช้ถ้อยคำอย่างไร มันใช้โมเดล ADA ของ OpenAI เพื่อสร้าง EMBEDDINGS สำหรับแต่ละข้อความและจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ (QDRANT)
จากนั้นคุณสามารถค้นหาข้อความที่มีความหมายคล้ายกับแบบสอบถามที่กำหนด
คุณต้องสร้างบอท Discord และเพิ่มลงในเซิร์ฟเวอร์ของคุณ
คุณต้องสร้างบัญชี 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