Teknik sederhana membuat memori RAG ~32x efisien! - Perplexity menggunakannya dalam indeks pencariannya - Azure menggunakannya dalam alur pencariannya - HubSpot menggunakannya di asisten AI-nya Mari kita pahami cara menggunakannya dalam sistem RAG (dengan kode):
Hari ini, mari kita bangun sistem RAG yang mengkueri vektor 36M+ dalam <30ms menggunakan Kuantisasi Biner. Tumpukan teknologi: - @llama_index untuk orkestrasi - @milvusio sebagai DB vektor - @beam_cloud untuk penerapan nirserver - @Kimi_Moonshot Kimi-K2 sebagai LLM yang diselenggarakan di Groq Ayo bangun!
Berikut alur kerjanya: - Menyerap dokumen dan membuat penyematan biner. - Buat indeks vektor biner dan simpan penyematan di DB vektor. - Ambil dokumen serupa dengan kueri pengguna. - LLM menghasilkan respons berdasarkan konteks tambahan. Mari kita terapkan ini!
0️⃣ Pengaturan Groq Sebelum kita mulai, simpan kunci API Groq Anda dalam file .env dan muat ke lingkungan Anda untuk memanfaatkan inferensi AI tercepat di dunia. Periksa ini 👇
1️⃣ Muat data Kami menyerap dokumen kami menggunakan alat pembaca direktori LlamaIndex. Itu dapat membaca berbagai format data termasuk Markdown, PDF, dokumen Word, dek PowerPoint, gambar, audio dan video. Periksa ini 👇
2️⃣ Hasilkan Penyematan Biner Selanjutnya, kami menghasilkan penyematan teks (di float32) dan mengubahnya menjadi vektor biner, menghasilkan pengurangan memori dan penyimpanan 32x. Ini disebut kuantisasi biner. Periksa implementasi 👇 ini
3️⃣ Pengindeksan vektor Setelah kuantisasi biner kami selesai, kami menyimpan dan mengindeks vektor dalam database vektor Milvus untuk pengambilan yang efisien. Indeks adalah struktur data khusus yang membantu mengoptimalkan kinerja operasi pengambilan data. Periksa ini 👇
4️⃣ Pengambilan Pada tahap pengambilan, kami: - Sematkan kueri pengguna dan terapkan kuantisasi biner ke sana. - Gunakan jarak Hamming sebagai metrik pencarian untuk membandingkan vektor biner. - Ambil 5 potongan paling mirip. - Tambahkan potongan yang diambil ke konteks. Periksa ini👇
5️⃣ Generasi Terakhir, kami membangun pipeline generasi menggunakan model instruksi Kimi-K2, yang disajikan pada inferensi AI tercepat oleh Groq. Kami menentukan kueri dan konteks yang diambil dalam templat prompt dan meneruskannya ke LLM. Periksa ini 👇
6️⃣ Penerapan dengan Beam Beam memungkinkan penerapan nirserver yang sangat cepat dari alur kerja AI apa pun. Dengan demikian, kami membungkus aplikasi kami dalam antarmuka Streamlit, menentukan pustaka Python, dan spesifikasi komputasi untuk kontainer. Terakhir, kami menyebarkan aplikasi dalam beberapa baris kode👇
7️⃣ Jalankan aplikasi Beam meluncurkan kontainer dan menyebarkan aplikasi streamlit kami sebagai server HTTPS yang dapat dengan mudah diakses dari browser web. Periksa demo 👇 ini
Selanjutnya, untuk benar-benar menilai skala dan kecepatan inferensi, kami menguji pengaturan yang diterapkan melalui himpunan data PubMed (36M+ vektor). Aplikasi kami: - mengkueri vektor 36M+ dalam <30ms. - menghasilkan respons dalam <1 detik. Periksa demo👇 ini
Selesai! Kami baru saja membangun tumpukan RAG tercepat dengan memanfaatkan BQ untuk pengambilan dan menggunakan penerapan nirserver ultra-cepat dari alur kerja AI kami. Berikut alur kerja lagi untuk referensi 👇 Anda
Itu bungkusnya! Jika Anda merasa berwawasan luas, bagikan kembali dengan jaringan Anda. Temukan saya → @_avichawla Setiap hari, saya berbagi tutorial dan wawasan tentang DS, ML, LLM, dan RAG.
Avi Chawla
Avi Chawla4 Agu, 14.33
Teknik sederhana membuat memori RAG ~32x efisien! - Perplexity menggunakannya dalam indeks pencariannya - Azure menggunakannya dalam alur pencariannya - HubSpot menggunakannya di asisten AI-nya Mari kita pahami cara menggunakannya dalam sistem RAG (dengan kode):
695,78K