MEMISTA เป็นบริการค้นหาเวกเตอร์ประสิทธิภาพสูงที่เขียนในสนิมที่ให้ HTTP API ง่าย ๆ สำหรับการจัดเก็บและดึงข้อความข้อความด้วยการฝังเวกเตอร์ที่เกี่ยวข้อง มันรวม SQLite สำหรับการจัดเก็บข้อมูลเมตากับ USEARCH สำหรับการค้นหาความคล้ายคลึงกันของเวกเตอร์ที่มีประสิทธิภาพ
แทรกชิ้นข้อความด้วยการฝังตัวลงในฐานข้อมูลที่ระบุ
ค้นหาชิ้นที่คล้ายกันโดยใช้เวกเตอร์ฝังตัว
วางฐานข้อมูลเฉพาะและดัชนีเวกเตอร์ที่เกี่ยวข้อง
บริการสามารถกำหนดค่าได้โดยใช้ตัวแปรสภาพแวดล้อม:
DATABASE_PATH : path ไปยังไฟล์ฐานข้อมูล sqlite (ค่าเริ่มต้น: "memista.db"))SERVER_HOST : ที่อยู่โฮสต์ที่จะผูกกับ (ค่าเริ่มต้น: "127.0.0.1")SERVER_PORT : พอร์ตเพื่อฟัง (ค่าเริ่มต้น: 8083)LOG_LEVEL : ระดับการบันทึก (ค่าเริ่มต้น: "ข้อมูล") .env ด้วยการกำหนดค่าของคุณ (ไม่บังคับ)cargo runเซิร์ฟเวอร์จะเริ่มและเอกสาร API จะพร้อมใช้งานที่:
curl -X POST http://localhost:8083/v1/insert
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"chunks": [{
"embedding": [0.1, 0.2],
"text": "Sample text",
"metadata": "{"source": "document1"}"
}]
} 'curl -X POST http://localhost:8083/v1/search
-H " Content-Type: application/json "
-d ' {
"database_id": "my_db",
"embeddings": [[0.1, 0.2]],
"num_results": 5
} ' โครงการใช้การพึ่งพาคีย์หลายประการ:
สำหรับรายการการพึ่งพาที่สมบูรณ์ให้ดูไฟล์ cargo.toml
โครงการนี้ได้รับใบอนุญาตภายใต้ใบอนุญาตสาธารณะ GNU ทั่วไป v3.0 (GPL -3.0) - ดูด้านล่างสำหรับสรุป:
GNU ทั่วไปใบอนุญาตสาธารณะ v3.0 (GPL-3.0)
การอนุญาต:
เงื่อนไข:
ข้อ จำกัด :
สำหรับข้อความใบอนุญาตฉบับเต็มให้ดูใบอนุญาตหรือเยี่ยมชม https://www.gnu.org/licenses/gpl-3.0.en.html