Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sederhanakan pengembangan aplikasi AI dengan RAG dengan menggunakan data Anda sendiri yang dikelola oleh LlamaIndex, Azure Functions, dan teknologi Tanpa Server. Alat-alat ini mengelola infrastruktur dan penskalaan secara otomatis, memungkinkan Anda untuk fokus pada fungsionalitas chatbot. LlamaIndex menangani alur data dari penyerapan hingga respons yang dialirkan.
Gambaran umum arsitektur
Alur aplikasi meliputi:
- Menggunakan antarmuka obrolan untuk memasukkan perintah.
- Mengirim permintaan pengguna ke API Tanpa Server melalui panggilan HTTP.
- Menerima permintaan pengguna kemudian menggunakan kerangka kerja LlamaIndex untuk memproses dan mengalirkan respons. API tanpa server menggunakan mesin untuk membuat koneksi ke model bahasa besar (LLM) Azure OpenAI dan indeks vektor dari LlamaIndex.
Arsitektur sederhana aplikasi obrolan ditampilkan dalam diagram berikut:
Sampel ini menggunakan LlamaIndex untuk menghasilkan embeddings dan menyimpannya dalam penyimpanan vektor miliknya sendiri. LlamaIndex juga menyediakan integrasi dengan penyimpanan vektor lain termasuk Azure AI Search. Integrasi tersebut tidak ditunjukkan dalam sampel ini.
Di mana Azure dalam arsitektur ini?
Arsitektur aplikasi bergantung pada layanan dan komponen berikut:
- Azure OpenAI mewakili penyedia AI tempat kami mengirim kueri pengguna.
- LlamaIndex adalah kerangka kerja yang membantu kami menyerap, mengubah, dan mem-vektorisasi konten kami (file PDF) dan membuat indeks pencarian dari data kami.
- Azure Container Apps adalah lingkungan kontainer tempat aplikasi dihosting.
- Azure Managed Identity membantu kami memastikan keamanan terbaik di kelasnya dan menghilangkan persyaratan bagi Anda sebagai pengembang untuk menangani kredensial dan kunci API.
LlamaIndex mengelola data dari penyerapan hingga pengambilan
Untuk menerapkan sistem RAG (Retrieval-Augmented Generation) menggunakan LlamaIndex, langkah-langkah kunci berikut dicocokkan dengan fungsionalitas LlamaIndex:
Proses | Deskripsi | LlamaIndex |
---|---|---|
Penyerapan Data | Impor data dari sumber seperti PDF, API, atau database. | SimpleDirectoryReader |
Kelompok Dokumen | Memecah dokumen besar menjadi potongan yang lebih kecil. | SentenceSplitter |
Pembuatan indeks vektor | Buat indeks vektor untuk pencarian kesamaan yang efisien. | VectorStoreIndex |
Pengambilan Rekursif (Opsional) dari indeks | Mengelola himpunan data kompleks dengan pengambilan hierarkis. | |
Konversi ke Mesin Kueri | Mengonversi indeks vektor menjadi mesin kueri. | asQueryEngine |
Penyiapan kueri tingkat lanjut (Opsional) | Gunakan agen untuk sistem multiagen. | |
Menerapkan pipa RAG | Tentukan fungsi tujuan yang memproses kueri pengguna dan mengambil potongan dokumen yang relevan. | |
Melakukan Pengambilan | Memproses kueri dan menyusun ulang dokumen. | RetrieverQueryEngine, CohereRerank |
Prasyarat
Kontainer pengembangan lingkungan tersedia dengan semua dependensi yang diperlukan untuk menyelesaikan artikel ini. Anda dapat menjalankan kontainer pengembangan di GitHub Codespaces (di browser) atau secara lokal menggunakan Visual Studio Code.
Untuk menggunakan artikel ini, Anda memerlukan prasyarat berikut:
- Disarankan: Codespaces
- Visual Studio Code
- Langganan Azure - Buat langganan secara gratis
- Izin akun Azure - Akun Azure Anda harus memiliki izin Microsoft.Authorization/roleAssignments/write, seperti Administrator Akses Pengguna , atau Pemilik .
- Akun GitHub.
Membuka lingkungan pengembangan
Gunakan instruksi berikut untuk menyebarkan lingkungan pengembangan yang telah dikonfigurasi sebelumnya yang berisi semua dependensi yang diperlukan untuk menyelesaikan artikel ini.
GitHub Codespaces menjalankan kontainer pengembangan yang dikelola oleh GitHub dengan Visual Studio Code untuk Web sebagai antarmuka pengguna. Untuk lingkungan pengembangan yang paling mudah, gunakan GitHub Codespaces sehingga Anda memiliki alat dan dependensi pengembang yang benar yang telah diinstal sebelumnya untuk menyelesaikan artikel ini.
Penting
Semua akun GitHub dapat menggunakan Codespace hingga 60 jam gratis setiap bulan dengan dua instans inti. Untuk informasi selengkapnya, lihat GitHub Codespaces bulanan yang disertakan penyimpanan dan jam inti.
Buka di Codespace.
Tunggu hingga ruang kode dimulai. Proses startup ini dapat memakan waktu beberapa menit.
Masuk ke Azure dengan Azure Developer CLI di terminal di bagian bawah layar.
azd auth login
Selesaikan proses autentikasi.
Tugas yang tersisa dalam artikel ini berlangsung dalam konteks kontainer pengembangan ini.
Menerapkan dan menjalankan
Repositori sampel berisi semua kode dan file konfigurasi yang Anda butuhkan untuk menyebarkan aplikasi obrolan tanpa server ke Azure. Langkah-langkah berikut akan memandu Anda melalui proses menyebarkan contoh ke Azure.
Menyebarkan aplikasi obrolan ke Azure
Penting
Sumber daya Azure yang dibuat di bagian ini dikenakan biaya langsung, terutama dari sumber daya Azure AI Search. Sumber daya ini mungkin mengakumulasi biaya bahkan jika Anda mengganggu perintah sebelum selesai.
Untuk memprovisikan sumber daya Azure dan menyebarkan kode sumber, jalankan perintah Azure Developer CLI berikut:
azd up
Gunakan tabel berikut untuk menjawab perintah:
Cepat Menjawab Nama lingkungan Tetap pendek dan huruf kecil. Tambahkan nama atau alias Anda. Misalnya, john-chat
. Ini digunakan sebagai bagian dari nama grup sumber daya.Abonemen Pilih langganan untuk membuat sumber daya di. Lokasi (untuk hosting) Pilih lokasi di dekat Anda dari daftar. Lokasi untuk model OpenAI Pilih lokasi di dekat Anda dari daftar. Jika lokasi yang sama tersedia sebagai lokasi pertama Anda, pilih lokasi tersebut. Tunggu hingga aplikasi dideploy. Mungkin perlu waktu 5-10 menit agar penyebaran selesai.
Setelah berhasil menyebarkan aplikasi, Anda akan melihat dua URL yang ditampilkan di terminal.
Pilih URL berlabel
Deploying service webapp
untuk membuka aplikasi obrolan di browser.
Menggunakan aplikasi obrolan untuk mendapatkan jawaban dari file PDF
Aplikasi obrolan sudah dilengkapi dengan informasi tentang standar fisik untuk surat pos domestik dari file katalog PDF . Anda dapat menggunakan aplikasi obrolan untuk mengajukan pertanyaan tentang surat dan paket. Langkah-langkah berikut memandu Anda melalui proses menggunakan aplikasi obrolan.
Di browser, pilih atau masukkan Berapa biaya untuk mengirim paket besar ke Prancis?.
LlamaIndex memperoleh jawabannya menggunakan file PDF dan mengalirkan respons.
Jawabannya berasal dari Azure OpenAI dengan pengaruh dari data PDF yang diserap ke penyimpanan vektor LlamaIndex.
Membersihkan sumber daya
Untuk membersihkan sumber daya, ada dua hal yang harus ditangani:
- Sumber daya Azure, Anda dapat membersihkan sumber daya dengan Azure Developer CLI, azd.
- Lingkungan pengembang Anda; Baik GitHub Codespaces atau DevContainers melalui Visual Studio Code.
Membersihkan sumber daya Azure
Sumber daya Azure yang dibuat dalam artikel ini ditagihkan ke langganan Azure Anda. Jika Anda tidak mengharapkan untuk membutuhkan sumber daya ini di masa mendatang, hapus sumber daya tersebut untuk menghindari dikenakan lebih banyak biaya.
Jalankan perintah Azure Developer CLI berikut untuk menghapus sumber daya Azure dan menghapus kode sumber:
azd down --purge
Membersihkan lingkungan pengembang
Menghapus lingkungan GitHub Codespaces memastikan bahwa Anda dapat memaksimalkan jumlah pemberian izin per jam inti gratis yang Anda dapatkan untuk akun Anda.
Penting
Untuk informasi selengkapnya tentang hak akses akun GitHub Anda, lihat penyimpanan bulanan yang disertakan dan jam inti GitHub Codespaces.
Masuklah ke dasbor GitHub Codespaces.
Temukan Codespaces yang sedang berjalan yang bersumber dari repositori GitHub
Azure-Samples/llama-index-javascript
.Buka menu konteks,
...
, untuk codespace, lalu pilih Hapus.
Dapatkan bantuan
Repositori sampel ini menawarkan informasi pemecahan masalah .
Jika masalah Anda tidak diatasi, catat masalah Anda di bagian Issues repositori.