Selamat datang di Proyek API Toko Vektor! Proyek ini bertujuan untuk memberikan API yang efisien dan dapat diskalakan untuk menanamkan dan menyimpan vektor, memanfaatkan kekuatan Fastapi, Langchain dan database vektor seperti Chroma. Apakah Anda berurusan dengan teks, gambar, atau data apa pun yang perlu dikonversi menjadi vektor dan diambil melalui pencarian kesamaan, API ini membuat Anda dilindungi. ?
Instruksi ini akan membuat salinan proyek Anda dan berjalan di mesin lokal Anda untuk tujuan pengembangan dan pengujian.
Tugas 1: Mengatur lingkungan virtual untuk proyek untuk mengelola dependensi.
Tugas 2: Instal Fastapi dan Uvicorn (Asgi Server) menggunakan PIP.
Tugas 3: Instal Chroma atau Proyek Perpustakaan Klien Vektor Database lainnya akan digunakan.
Tugas 1: Tentukan titik akhir yang akan kita butuhkan. Pertimbangkan yang berikut:
Titik akhir untuk mengunggah file atau teks yang akan di vektor.
Titik akhir untuk mencari melalui vektor yang disimpan menggunakan pencarian kesamaan.
Titik akhir untuk mendaftar atau mengambil vektor spesifik atau metadata mereka.
Tugas 2: Rencanakan model permintaan dan respons untuk titik akhir menggunakan model Pydantic.
Tugas 1: Menerapkan file akhir unggahan file/teks.
Parse data input.
Semburkan input ke dalam bentuk vektor (Anda mungkin memerlukan pustaka atau layanan eksternal untuk penyematan, seperti TensorFlow untuk gambar atau memeluk transformator wajah untuk teks).
Simpan vektor di Chroma dengan metadata yang relevan.
Tugas 2: Menerapkan titik akhir pencarian.
Terima kueri sebagai input dan ubah menjadi vektor.
Lakukan pencarian kesamaan di Chroma.
Kembalikan pertandingan terdekat.
Tugas 3: Menerapkan titik akhir tambahan sesuai kebutuhan (untuk daftar, memperbarui, atau menghapus vektor).
Tugas 1: Pilih database vektor yang sesuai (Chroma, dalam hal ini).
Tugas 2: Menerapkan logika penyimpanan data untuk vektor.
Tugas 3: Menerapkan logika pencarian dan pencarian menggunakan kemampuan pencarian Chroma.
Tugas 1: Tulis tes unit untuk titik akhir API Anda untuk memastikan mereka berfungsi seperti yang diharapkan.
Tugas 2: Penyimpanan vektor uji dan fungsionalitas pengambilan di Chroma.
Tugas 3: Lakukan end [] ke [] tes akhir dari seluruh API.
Tugas 1: Dokumen API Menggunakan Fastapi's Built [] di Swagger UI.
Tugas 2: Siapkan proyek untuk penyebaran (pertimbangkan untuk menggunakan Docker untuk kontainerisasi).
Tugas 3: Menyebarkan API (Opsi termasuk Heroku, AWS, atau GCP).
Kontribusi inilah yang membuat komunitas open-source tempat yang luar biasa untuk belajar, menginspirasi, dan menciptakan. Kontribusi apa pun yang Anda buat sangat dihargai . ??
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi.md untuk detailnya.