ยินดีต้อนรับสู่โครงการ API Vector Store! โครงการนี้มีวัตถุประสงค์เพื่อให้ API ที่มีประสิทธิภาพและปรับขนาดได้สำหรับการฝังและจัดเก็บเวกเตอร์ใช้ประโยชน์จากพลังของ Fastapi, Langchain และฐานข้อมูลเวกเตอร์เช่น Chroma ไม่ว่าคุณจะจัดการกับข้อความรูปภาพหรือข้อมูลใด ๆ ที่ต้องแปลงเป็นเวกเตอร์และดึงข้อมูลผ่านการค้นหาที่คล้ายคลึงกัน API นี้ทำให้คุณได้รับความคุ้มครอง -
คำแนะนำเหล่านี้จะได้รับสำเนาโครงการของคุณและทำงานบนเครื่องในพื้นที่ของคุณเพื่อการพัฒนาและการทดสอบ
ภารกิจที่ 1: ตั้งค่าสภาพแวดล้อมเสมือนจริงสำหรับโครงการเพื่อจัดการการพึ่งพา
ภารกิจที่ 2: ติดตั้ง fastapi และ uvicorn (ASGI Server) โดยใช้ PIP
ภารกิจที่ 3: ติดตั้ง Chroma หรือโครงการไลบรารีไคลเอนต์ฐานข้อมูลเวกเตอร์อื่น ๆ จะใช้
ภารกิจที่ 1: กำหนดจุดสิ้นสุดที่เราต้องการ พิจารณาสิ่งต่อไปนี้:
จุดสิ้นสุดสำหรับการอัปโหลดไฟล์หรือข้อความที่จะถูกนำไปใช้เวกเตอร์
จุดสิ้นสุดในการค้นหาผ่านเวกเตอร์ที่เก็บไว้โดยใช้การค้นหาที่คล้ายคลึงกัน
จุดสิ้นสุดในการแสดงรายการหรือดึงเวกเตอร์เฉพาะหรือข้อมูลเมตาของพวกเขา
ภารกิจที่ 2: วางแผนโมเดลคำขอและการตอบกลับสำหรับจุดสิ้นสุดโดยใช้โมเดล Pydantic
ภารกิจที่ 1: ใช้จุดสิ้นสุดการอัปโหลดไฟล์/ข้อความ
แยกวิเคราะห์ข้อมูลอินพุต
ฝังอินพุตลงในรูปแบบเวกเตอร์ (คุณอาจต้องใช้ไลบรารีหรือบริการภายนอกสำหรับการฝังเช่น tensorflow สำหรับภาพหรือกอดหม้อแปลงของใบหน้าสำหรับข้อความ)
เก็บเวกเตอร์ใน chroma ด้วยข้อมูลเมตาที่เกี่ยวข้อง
ภารกิจที่ 2: ใช้จุดสิ้นสุดการค้นหา
ยอมรับแบบสอบถามเป็นอินพุตและแปลงเป็นเวกเตอร์
ทำการค้นหาความคล้ายคลึงกันใน Chroma
ส่งคืนการแข่งขันที่ใกล้เคียงที่สุด
ภารกิจที่ 3: ใช้จุดสิ้นสุดเสริมตามต้องการ (สำหรับรายการอัปเดตหรือลบเวกเตอร์)
ภารกิจที่ 1: เลือกฐานข้อมูลเวกเตอร์ที่เหมาะสม (Chroma ในกรณีนี้)
ภารกิจที่ 2: ใช้ตรรกะการจัดเก็บข้อมูลสำหรับเวกเตอร์
ภารกิจที่ 3: ใช้ตรรกะการดึงและการค้นหาโดยใช้ความสามารถในการค้นหาของ Chroma
ภารกิจที่ 1: เขียนการทดสอบหน่วยสำหรับจุดสิ้นสุด API ของคุณเพื่อให้แน่ใจว่าทำงานได้ตามที่คาดไว้
ภารกิจที่ 2: ทดสอบการจัดเก็บเวกเตอร์และฟังก์ชั่นการดึงข้อมูลใน Chroma
ภารกิจที่ 3: ดำเนินการสิ้นสุด [] ถึง [] การทดสอบสิ้นสุดของ API ทั้งหมด
ภารกิจที่ 1: เอกสาร API โดยใช้ Fastapi's Built [] ใน Swagger UI
ภารกิจที่ 2: เตรียมโครงการสำหรับการปรับใช้ (พิจารณาใช้ Docker สำหรับ Containerization)
ภารกิจที่ 3: ปรับใช้ API (ตัวเลือกรวมถึง Heroku, AWS หรือ GCP)
การมีส่วนร่วมคือสิ่งที่ทำให้ชุมชนโอเพนซอร์สเป็นสถานที่ที่น่าทึ่งในการเรียนรู้สร้างแรงบันดาลใจและสร้าง การมีส่วนร่วมใด ๆ ที่คุณทำ จะได้รับการชื่นชมอย่างมาก -
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT - ดูไฟล์ License.md สำหรับรายละเอียด