Fitur
- Tiny : Itu ada di namanya. Ini secara harfiah hanya server Axum. Sangat mudah disesuaikan, sekitar 600 baris kode.
- Cepat : Tinyvector harus memiliki kecepatan yang sebanding dengan database vektor canggih ketika datang pada dataset kecil hingga sedang, dan akurasi yang sedikit lebih baik.
- Skala Vertikal : Tinyvector menyimpan semua indeks dalam memori untuk permintaan cepat. Sangat mudah untuk skala hingga 100 juta+ dimensi vektor tanpa masalah.
- Open Source : MIT berlisensi, gratis selamanya.
Segera
- Kueri yang kuat : Izinkan pemfilteran oleh metadata vektor yang disediakan tanpa memperlambat pencarian.
- Model Terpadu : Segera Anda tidak perlu membawa vektor sendiri, cukup hasilkan di server secara otomatis. Bertujuan untuk mendukung dukungan Sbert, memeluk model wajah, openai, cohere, dll.
- Pustaka TypeScript/Python : Harus dapat secara otomatis menghasilkan klien yang cukup baik menggunakan skema openapi yang disertakan.
Memulai
? Buruh pelabuhan
Kami menyediakan wadah Docker ringan yang dapat Anda jalankan di mana saja. Hanya perlu satu perintah untuk bangun dan berjalan dengan perubahan terbaru:
docker run
-p 8000:8000
ghcr.io/m1guelpf/tinyvector:edge
CATATAN Saat berjalan melalui Docker Compose atau Kubernetes, pastikan untuk mengikat volume ke /tinyvector/storage for For Kistensi. Ini ditangani secara otomatis dalam perintah di atas.
Membangun dari awal
Anda dapat membangun vektor tiny dari rilis tag terbaru dengan menjalankan cargo install tinyvector (Anda mungkin perlu menginstal karat terlebih dahulu). Kemudian, jalankan tinyvector untuk memulai server.
Anda juga dapat membangunnya dari komit terbaru dengan mengkloning repo dan menjalankan cargo build --release , dan menjalankannya dengan ./target/release/tinyvector .
Mengapa Menggunakan Tinyvector?
Sebagian besar database vektor berlebihan untuk pengaturan sederhana. Misalnya:
- Menggunakan embeddings untuk mengobrol dengan dokumen Anda. Sebagian besar pencarian dokumen tidak dekat dengan apa yang Anda perlukan untuk membenarkan kecepatan pencarian dengan HNSW atau FAISS.
- Melakukan pencarian untuk situs web atau toko Anda. Kecuali jika Anda menjual 1.000.000 barang, Anda tidak perlu pinecone.
? Embeddings?
Embeddings adalah cara untuk membandingkan hal -hal serupa, dengan cara yang sama manusia membandingkan hal -hal serupa, dengan mengubah teks menjadi daftar kecil angka. Potongan teks yang serupa akan memiliki angka yang sama, yang berbeda memiliki angka yang sangat berbeda.
Baca penjelasan Openai.
Ucapan Terima Kasih
- Will Depue Tinyvector (Python+Sqlite+Numpy) menginspirasi saya untuk membangun database vektor dari awal (dan meminjam namanya). Juga akan menyumbangkan banyak ide untuk mengoptimalkan kinerja.
? Lisensi
Proyek ini bersumber terbuka di bawah lisensi MIT. Lihat file lisensi untuk informasi lebih lanjut.