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.
Membuat aplikasi AI bisa menjadi kompleks. Dengan teknologi LangChain.js, Azure Functions, dan Tanpa Server, Anda dapat menyederhanakan proses ini. Alat-alat ini mengelola infrastruktur dan menskalakan secara otomatis, memungkinkan Anda fokus pada fungsionalitas chatbot. Chatbot menggunakan dokumen perusahaan untuk menghasilkan respons AI.
Kode ini mencakup data sampel untuk perusahaan fiktif. Pelanggan dapat mengajukan pertanyaan dukungan tentang produk perusahaan. Data ini mencakup dokumen tentang ketentuan layanan perusahaan, kebijakan privasi, dan panduan dukungan.
Catatan
Artikel ini menggunakan satu atau beberapa templat aplikasi AI sebagai dasar untuk contoh dan panduan dalam artikel. Templat aplikasi AI memberi Anda implementasi referensi yang terawat dan mudah disebarkan dengan baik yang membantu memastikan titik awal berkualitas tinggi untuk aplikasi AI Anda.
Ikhtisar arsitektur
Aplikasi obrolan
Pengguna berinteraksi dengan aplikasi:
- Antarmuka obrolan di aplikasi web klien untuk percakapan.
- Aplikasi web klien mengirimkan kueri pengguna ke API Tanpa Server melalui panggilan HTTP.
- API Tanpa Server membuat rantai untuk mengoordinasikan interaksi antara Azure AI dan Azure AI Search untuk menghasilkan jawaban.
- Pengambilan dokumen PDF dengan menggunakan Azure Blob Storage.
- Respons yang dihasilkan kemudian dikirim kembali ke aplikasi web dan ditampilkan kepada pengguna.
Arsitektur sederhana aplikasi obrolan ditampilkan dalam diagram berikut:
Diagram memperlihatkan arsitektur dari klien ke aplikasi backend.
LangChain.js menyederhanakan kompleksitas antar layanan
Alur API berguna untuk memahami bagaimana LangChain.js berguna dalam skenario ini dengan mengabstraksi interaksi. Titik akhir API tanpa server:
- Menerima pertanyaan dari pengguna.
- Membuat objek klien:
- Azure OpenAI untuk penyematan dan obrolan
- Pencarian AI Azure untuk penyimpanan data vektor
- Membuat rantai dokumen dengan model LLM, pesan obrolan (permintaan sistem dan pengguna), dan sumber dokumen.
- Membuat rantai pencarian dari rantai dokumen dan penyimpan vektor.
- Mengalirkan respons dari rantai pengambilan.
Pekerjaan pengembang adalah mengonfigurasi layanan dependensi dengan benar, seperti Azure OpenAI dan Azure AI Search dan membangun rantai dengan benar. Logika rantai yang mendasar mengetahui cara menyelesaikan kueri. Ini memungkinkan Anda membangun rantai dari berbagai layanan dan konfigurasi selama mereka bekerja dengan persyaratan LangChain.js.
Di mana Azure dalam arsitektur ini?
Aplikasi ini dibuat dari beberapa komponen:
Aplikasi web yang dibuat dengan satu komponen web obrolan yang dibangun dengan Lit dan dihosting di Azure Static Web Apps. Kode terletak di dalam folder
packages/webapp
.API serverless yang dibangun dengan Azure Functions dan menggunakan LangChain.js untuk memproses dokumen dan menjawab kueri obrolan pengguna. Kode terletak di folder
packages/api
.Layanan Azure OpenAI untuk membuat embedding dan menghasilkan jawaban.
Basis data untuk menyimpan teks hasil ekstraksi dari dokumen dan vektor yang dihasilkan oleh LangChain.js, menggunakan Azure AI Search.
Penyimpanan file untuk menyimpan dokumen sumber, menggunakan Azure Blob Storage.
Prasyarat
Lingkungan kontainer pengembangan 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:
- Codespaces (yang disarankan)
- Visual Studio Code
- Langganan Azure - Buat satu 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 (disarankan)
- Visual Studio Code
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 2 instans inti. Untuk informasi selengkapnya, lihat penyimpanan dan jam inti yang termasuk dalam paket bulanan GitHub Codespaces.
Buka di "codespace".
Tunggu sampai codespace mulai. Proses startup ini dapat memakan waktu beberapa menit.
Di terminal di bagian bawah layar, masuk ke Azure dengan Azure Developer CLI.
azd auth login
Selesaikan proses autentikasi.
Tugas yang tersisa dalam artikel ini berlangsung dalam konteks kontainer pengembangan ini.
Sebarkan dan jalankan
Repositori sampel berisi semua kode dan file konfigurasi yang Anda butuhkan untuk menyebarkan aplikasi obrolan tanpa server ke Azure. Langkah-langkah berikut memandu Anda melalui proses penyebaran sampel 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 dapat mengumpulkan biaya bahkan jika Anda mengganggu perintah sebelum sepenuhnya dijalankan.
Provisikan sumber daya Azure dan sebarkan kode sumber dengan menggunakan perintah Azure Developer CLI berikut:
azd up
Jawab perintah dengan menggunakan tabel berikut:
Cepat Jawaban Nama lingkungan Tetap pendek dan huruf kecil. Tambahkan nama atau alias Anda. Contohnya, john-chat
. Ini digunakan sebagai bagian dari nama grup sumber daya.Langganan Pilih langganan untuk membuat sumber daya. 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 dikerahkan. Mungkin perlu waktu 5-10 menit agar penyebaran selesai.
Setelah aplikasi berhasil disebarkan, Anda akan melihat dua URL yang ditampilkan di terminal.
Pilih URL yang berlabel
Deploying service webapp
untuk membuka aplikasi obrolan di browser.
Menggunakan aplikasi obrolan untuk mendapatkan jawaban dari file PDF
Aplikasi obrolan sudah dimuat sebelumnya dengan informasi sewa dari katalog file PDF. Anda dapat menggunakan aplikasi obrolan untuk mengajukan pertanyaan tentang proses penyewaan. Langkah-langkah berikut membimbing Anda melalui proses penggunaan aplikasi obrolan.
Di browser, pilih atau masukkan Apa itu kebijakan pengembalian dana.
Cuplikan layar pertanyaan dan jawaban pertama dari aplikasi obrolan.
Pilih pertanyaan tindak lanjut.
Cuplikan layar permintaan dan jawaban tindak lanjut yang disarankan aplikasi obrolan.
Dari respons, pilih kutipan untuk melihat dokumen yang digunakan untuk menghasilkan jawaban. Ini mengirimkan dokumen dari Azure Storage ke klien. Setelah selesai dengan tab browser baru, tutup untuk kembali ke aplikasi obrolan tanpa server.
Membersihkan sumber daya
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.
Hapus sumber daya Azure dan hapus kode sumber dengan perintah Azure Developer CLI berikut:
azd down --purge
Membersihkan GitHub Codespaces
- GitHub Codespaces
- Visual Studio Code
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 akun GitHub Anda, lihat penyimpanan dan jam inti bulanan yang disertakan untuk GitHub Codespaces.
Masuklah ke dasbor GitHub Codespaces.
Temukan Codespace Anda yang sedang berjalan yang bersumber dari repositori GitHub
Azure-Samples/serverless-chat-langchainjs
.Cuplikan layar yang menampilkan semua ruang kode yang sedang berjalan termasuk status dan templatnya.
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 pada bagian Issues dari repositori.
Konten terkait
- Mulai dengan mengevaluasi jawaban pada aplikasi obrolan menggunakan JavaScript
- Pelajari selengkapnya tentang bagaimana AZD digunakan dalam templat ini: