Memista adalah layanan pencarian vektor berkinerja tinggi yang ditulis dalam karat yang menyediakan HTTP API sederhana untuk menyimpan dan mengambil potongan teks dengan embeddings vektor terkait. Ini menggabungkan SQLite untuk penyimpanan metadata dengan USEARCH untuk pencarian kesamaan vektor yang efisien.
Masukkan potongan teks dengan embeddings mereka ke dalam database yang ditentukan.
Cari potongan serupa menggunakan embeddings vektor.
Jatuhkan basis data tertentu dan indeks vektor terkait.
Layanan dapat dikonfigurasi menggunakan variabel lingkungan:
DATABASE_PATH : path ke file database sqlite (default: "memista.db")SERVER_HOST : Alamat host untuk mengikat ke (default: "127.0.0.1")SERVER_PORT : port untuk mendengarkan (default: 8083)LOG_LEVEL : Level logging (default: "info") .env dengan konfigurasi Anda (opsional)cargo runServer akan dimulai dan dokumentasi API akan tersedia di:
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
} ' Proyek ini menggunakan beberapa dependensi utama:
Untuk daftar dependensi lengkap, lihat file Cargo.toml.
Proyek ini dilisensikan di bawah Lisensi Publik Umum GNU v3.0 (GPL -3.0) - Lihat di bawah untuk ringkasan:
Lisensi Publik Umum GNU v3.0 (GPL-3.0)
Izin:
Kondisi:
Keterbatasan:
Untuk teks lisensi lengkap, lihat lisensi atau kunjungi https://www.gnu.org/licenses/gpl-3.0.en.html