AI Edge RAG SDK menyediakan komponen dasar untuk membuat pipeline Retrieval Augmented Generation (RAG) dengan LLM Inference API. Pipeline RAG memberikan akses ke data yang disediakan pengguna kepada LLM, yang dapat mencakup informasi terbaru, sensitif, atau khusus domain. Dengan kemampuan pengambilan informasi tambahan dari RAG, LLM dapat menghasilkan respons yang lebih akurat dan kontekstual untuk kasus penggunaan tertentu.
AI Edge RAG SDK tersedia untuk Android dan dapat dijalankan sepenuhnya di perangkat. Mulai gunakan SDK dengan mengikuti panduan Android, yang memandu Anda melalui implementasi dasar aplikasi contoh menggunakan RAG.
Pipeline RAG
Menyiapkan pipeline RAG dengan AI Edge RAG SDK berisi langkah-langkah utama berikut:
- Mengimpor data: Berikan data tekstual yang akan digunakan LLM saat membuat output.
- Memisahkan dan mengindeks data: Membagi data menjadi beberapa bagian kecil untuk pengindeksan di database.
- Membuat embedding: Gunakan penyemat untuk memvektorkan potongan yang akan disimpan di database vektor.
- Mengambil informasi: Menentukan cara informasi yang relevan diidentifikasi dan diambil untuk merespons perintah pengguna. Untuk perintah tertentu, komponen pengambilan akan menelusuri database vektor untuk mengidentifikasi informasi yang relevan.
- Buat teks dengan LLM: Gunakan model bahasa besar untuk membuat teks output berdasarkan informasi yang diambil dari database vektor.
Modul Utama
AI Edge RAG SDK menyediakan modul dan API utama berikut untuk pipeline RAG:
- Model Bahasa: Model LLM dengan API perintah terbuka, baik lokal (di perangkat) maupun berbasis server. API ini didasarkan pada antarmuka LanguageModel.
- Model Embedding Teks: Mengonversi teks terstruktur dan tidak terstruktur menjadi vektor penyematan untuk penelusuran semantik. API ini didasarkan pada antarmuka Embedder.
- Penyimpanan Vektor: Penyimpanan vektor menyimpan penyematan dan metadata yang berasal dari potongan data. Data ini dapat dikueri untuk mendapatkan potongan yang serupa atau pencocokan persis. API ini didasarkan pada antarmuka VectorStore.
- Semantic Memory: Berfungsi sebagai pengambil semantik untuk mengambil potongan yang relevan top-k berdasarkan kueri. API ini didasarkan pada antarmuka SemanticMemory.
- Pembagian Teks: Membagi data pengguna menjadi bagian-bagian yang lebih kecil untuk memfasilitasi pengindeksan. API ini didasarkan pada antarmuka TextChunker.
SDK menyediakan rantai, yang menggabungkan beberapa komponen RAG dalam satu pipeline. Anda dapat menggunakan rantai untuk mengatur model kueri dan pengambilan. API ini didasarkan pada antarmuka Chain. Untuk memulai, coba Rantai Pengambilan dan inferensi atau Rantai pengambilan.