Mulai menggunakan obrolan menggunakan sampel data Anda sendiri untuk Java

Artikel ini menunjukkan cara menyebarkan dan menjalankan Chat dengan sampel data Anda untuk Java. Sampel ini mengimplementasikan aplikasi obrolan menggunakan Java, Azure OpenAI Models di Microsoft Foundry, dan Retrieval Augmented Generation (RAG) di Pencarian Azure AI untuk mendapatkan jawaban tentang manfaat karyawan di perusahaan fiktif. Aplikasi ini memuat file PDF termasuk buku pegangan karyawan, dokumen keuntungan dan tunjangan, serta daftar peran dan harapan perusahaan.

Dalam artikel ini, Anda menyelesaikan tugas-tugas berikut:

  • Menyebarkan aplikasi obrolan ke Azure.
  • Dapatkan jawaban tentang tunjangan karyawan.
  • Ubah pengaturan untuk mengubah perilaku respons.

Setelah menyelesaikan artikel ini, Anda dapat mulai memodifikasi proyek baru dengan kode kustom Anda.

Artikel ini adalah bagian dari kumpulan artikel yang menunjukkan kepada Anda cara membuat aplikasi obrolan menggunakan Model Azure OpenAI di Microsoft Foundry dan Pencarian Azure AI. Artikel lain dalam koleksi meliputi:

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

Diagram berikut menunjukkan arsitektur sederhana untuk aplikasi obrolan:

Diagram showing architecture from client to backend app.Diagram menunjukkan arsitektur dari klien ke aplikasi backend.

Komponen utama arsitektur meliputi:

  • Aplikasi web yang menghosting pengalaman obrolan interaktif.
  • Sumber daya Pencarian Azure AI yang mendapatkan jawaban dari data Anda sendiri.
  • Azure OpenAI Service yang menyediakan:
    • Kata kunci untuk meningkatkan pencarian atas data Anda sendiri.
    • Jawaban dari model OpenAI.
    • Embedding dari model Ada.

Biaya

Sebagian besar sumber daya yang digunakan dalam arsitektur ini termasuk dalam tingkat harga dasar atau berbasis konsumsi. Model harga ini berarti Anda hanya membayar apa yang Anda gunakan, dan biaya biasanya minimal selama pengembangan atau pengujian.

Untuk menyelesaikan sampel ini, Anda mungkin dikenakan biaya kecil untuk menggunakan layanan seperti Azure OpenAI, AI Search, dan penyimpanan. Setelah selesai mengevaluasi atau menyebarkan aplikasi, hapus semua sumber daya yang disediakan untuk menghindari biaya yang sedang berlangsung.

Pelajari selengkapnya tentang biaya dalam repositori sampel.

Prasyarat

Anda memerlukan lingkungan kontainer pengembangan dengan semua dependensi yang diperlukan untuk menyelesaikan artikel ini. Anda dapat menjalankan kontainer pengembangan di GitHub Codespaces (di browser) atau secara lokal dengan menggunakan Visual Studio Code.

Untuk menggunakan artikel ini, Anda memerlukan prasyarat berikut:

  • Codespaces (disarankan)
  • Visual Studio Code
  • Langganan Azure - Buat langganan secara gratis.
  • Izin akun Azure - akun Azure Anda harus memiliki izin , seperti Administrator Akses Pengguna atauPemilik .
  • Akun GitHub.

Membuka lingkungan pengembangan

Siapkan lingkungan pengembangan yang memiliki semua dependensi yang terinstal 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 dua instans inti. Untuk informasi selengkapnya, lihat penyimpanan dan jam inti yang disertakan bulanan pada GitHub Codespaces.

  1. Klik kanan tombol berikut, dan pilih Buka tautan di jendela baru sehingga Anda dapat memiliki lingkungan pengembangan dan dokumentasi yang tersedia secara bersamaan.

    Open in GitHub CodespacesBuka di GitHub Codespaces

  2. Pada Buat codespace, tinjau pengaturan konfigurasi codespace, lalu pilih Buat Codespace.

    ```html Tangkapan layar dari layar konfirmasi sebelum membuat codespace baru.Tangkapan layar dari layar konfirmasi sebelum membuat codespace baru. ```

  3. Tunggu hingga codespace dimulai. Proses startup ini dapat memakan waktu beberapa menit.

  4. Di terminal di bagian bawah layar, masuk ke Azure dengan menggunakan Azure Developer CLI.

    azd auth login --use-device-code
    
  5. Salin kode dari terminal lalu tempelkan ke browser. Ikuti instruksi untuk mengautentikasi dengan menggunakan akun Azure Anda.

  6. 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 ke Azure. Langkah-langkah berikut membimbing Anda melalui proses penyebaran contoh ke Azure.

Menyebarkan aplikasi obrolan ke Azure

Penting

Sumber daya Azure yang dibuat di bagian ini—terutama Pencarian Azure AI—dapat mulai menimbulkan biaya segera setelah diprovisikan, bahkan jika proses penerapan terganggu sebelum selesai. Untuk menghindari biaya tak terduga, pantau penggunaan Azure Anda dan hapus sumber daya yang tidak digunakan segera setelah pengujian.

  1. Jalankan perintah berikut untuk menyediakan sumber daya Azure dan menyebarkan kode sumber:

    azd up
    
  2. Jika Anda diminta untuk memasukkan nama lingkungan, tetap pendek dan huruf kecil, misalnya, myenv. Nama lingkungan digunakan sebagai bagian dari nama grup sumber daya.

  3. Saat diminta, pilih langganan untuk membuat sumber daya dalam langganan tersebut.

  4. Saat diminta untuk memilih lokasi untuk pertama kalinya, pilih lokasi di dekat Anda. Lokasi ini digunakan untuk sebagian besar sumber daya, termasuk hosting.

  5. Jika dimintai lokasi untuk model OpenAI, pilih lokasi yang ada di dekat Anda. Jika lokasi yang sama tersedia sebagai lokasi pertama Anda, pilih lokasi tersebut.

  6. Tunggu hingga aplikasi disebarkan, yang dapat memakan waktu 5-10 menit untuk diselesaikan.

  7. Setelah aplikasi berhasil disebarkan, Anda akan melihat URL yang ditampilkan di terminal.

  8. Pilih URL berlabel Deploying service web untuk membuka aplikasi obrolan di browser.

    Cuplikan layar aplikasi obrolan di browser memperlihatkan beberapa saran untuk input obrolan, serta kotak obrolan tempat Anda memasukkan pertanyaan.

Menggunakan aplikasi obrolan untuk mendapatkan jawaban dari file PDF

Aplikasi obrolan telah dilengkapi dengan informasi manfaat karyawan dari file PDF. Anda dapat menggunakan aplikasi obrolan untuk mengajukan pertanyaan tentang manfaatnya. Langkah-langkah berikut membimbing Anda melalui proses penggunaan aplikasi obrolan.

  1. Di browser, pilih atau masukkan Apa yang disertakan dalam paket Northwind Health Plus saya yang tidak dalam standar? di kotak teks obrolan.

    Screenshot of chat app's first answer.Cuplikan layar jawaban pertama aplikasi obrolan.

  2. Dari jawabannya, pilih salah satu kutipan.

    Screenshot of chat app's first answer with its citation highlighted in a red box.Cuplikan layar jawaban pertama aplikasi obrolan dengan kutipannya disorot dalam kotak merah.

  3. Di panel kanan, gunakan tab untuk memahami bagaimana jawaban dihasilkan.

    Tab Deskripsi
    Proses pemikiran Skrip interaksi dalam obrolan.
    Konten pendukung Termasuk informasi untuk menjawab pertanyaan Anda dan materi sumber.
    Kutipan Menampilkan halaman PDF yang berisi kutipan.
  4. Setelah selesai, pilih lagi tab yang dipilih untuk menutup panel.

Menggunakan pengaturan aplikasi obrolan untuk mengubah perilaku respons

Model OpenAI dan pengaturan yang Anda gunakan untuk berinteraksi dengan model menentukan kecerdasan aplikasi obrolan.

Screenshot of chat developer settings.Cuplikan layar pengaturan pengembang obrolan.

Pengaturan Deskripsi
Ambil alih templat perintah Prompt yang digunakan untuk menghasilkan jawaban.
Ambil hasil pencarian sebanyak ini Jumlah hasil pencarian yang digunakan untuk menghasilkan jawaban. Anda dapat melihat sumber-sumber ini ditampilkan dalam tab Proses Pemikiran dan Konten Pendukung dari kutipan.
Mengecualikan kategori Kategori dokumen yang dikecualikan dari hasil pencarian.
Gunakan ranker semantik untuk pengambilan Fitur Pencarian Azure AI yang menggunakan pembelajaran mesin untuk meningkatkan relevansi hasil pencarian.
Menggunakan ringkasan kontekstual kueri alih-alih seluruh dokumen Ketika Use semantic ranker dan Use query-contextual summaries diperiksa, LLM menggunakan deskripsi yang diekstrak dari bagian kunci, alih-alih semua bagian, dalam dokumen berperingkat tertinggi.
Sarankan pertanyaan tindak lanjut Minta aplikasi obrolan menyarankan pertanyaan tindak lanjut berdasarkan jawabannya.
Mode pengambilan Vektor + Teks berarti bahwa hasil pencarian didasarkan pada teks dokumen dan penyematan dokumen. Vektor berarti bahwa hasil pencarian didasarkan pada embedding dokumen. Teks berarti bahwa hasil pencarian didasarkan pada teks dokumen.
Mengalirkan respons penyelesaian chat Mengalirkan tanggapan alih-alih menunggu hingga jawaban lengkap tersedia.

Langkah-langkah berikut memandu Anda melalui proses mengubah pengaturan.

  1. Dalam browser, pilih tab Pengaturan Pengembang.

  2. Pilih kotak centang Sarankan pertanyaan tindak lanjut dan ajukan pertanyaan yang sama lagi.

    What is my deductible?
    

    Obrolan mengembalikan pertanyaan tindak lanjut yang disarankan seperti ini:

    1. What is the cost sharing for out-of-network services?
    2. Are preventive care services subject to the deductible?
    3. How does the prescription drug deductible work?
    
  3. Di tab Pengaturan, hapus centang Gunakan pemeringkat semantik untuk pengambilan.

  4. Tanyakan pertanyaan yang sama lagi?

    What is my deductible?
    
  5. Apa perbedaan dalam jawabannya?

    Misalnya, respons yang menggunakan ranker semantik memberikan satu jawaban: The deductible for the Northwind Health Plus plan is $2,000 per year.

    Respon tanpa peringkat semantik mengembalikan jawaban, yang membutuhkan lebih banyak pekerjaan untuk mendapatkan jawabannya: Berdasarkan informasi yang diberikan, tidak jelas berapa spesifik deductible Anda. Rencana Northwind Health Plus memiliki jumlah deductible yang berbeda untuk layanan dalam jaringan dan di luar jaringan, dan juga ada deductible obat resep yang terpisah. Saya akan merekomendasikan untuk memeriksa dengan penyedia Anda atau merujuk ke detail manfaat spesifik pada rencana Anda untuk menentukan jumlah deductible Anda..

Membersihkan sumber daya

Setelah Anda menyelesaikan latihan, hapus sumber daya apa pun yang tidak lagi Anda butuhkan.

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. Gunakan perintah berikut untuk menghapus sumber daya Azure dan menghapus kode sumber:

azd down --purge

Bersihkan 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 akses akun GitHub Anda, lihat penyimpanan dan jam inti yang disertakan setiap bulan pada GitHub Codespaces.

  1. Masuk ke dasbor GitHub Codespaces.

  2. Temukan Codespaces yang sedang berjalan yang berasal dari repositori GitHub Azure-Samples/azure-search-openai-demo-java.

    Screenshot of all the running Codespaces including their status and templates.Cuplikan layar dari semua Codespaces yang sedang aktif termasuk status dan templatenya.

  3. Buka menu konteks untuk codespace, lalu pilih Hapus.

    Cuplikan layar menu konteks untuk satu codespace dengan pilihan hapus yang disorot.

Bagaimana pertanyaannya dijawab?

Aplikasi ini dipisahkan menjadi dua aplikasi:

  • Aplikasi JavaScript front-end yang menggunakan kerangka kerja React dengan alat build Vite.
  • Aplikasi Java back-end yang menjawab pertanyaan.

API backend /chat menjalani proses mendapatkan jawabannya:

  • Buat opsi RAG: Buat sekumpulan opsi yang digunakan untuk menghasilkan jawaban.
  • Buat pendekatan menggunakan opsi RAG: Gunakan kombinasi model berbasis pengambilan dan berbasis generatif untuk membuat pendekatan untuk menghasilkan respons yang akurat dan terdengar alami.
  • Jalankan pendekatan dengan opsi RAG dan percakapan sebelumnya: Gunakan pendekatan dan opsi RAG untuk menghasilkan jawaban berdasarkan percakapan sebelumnya. Jawabannya mencakup informasi tentang dokumen mana yang digunakan untuk menghasilkan respons.

Dapatkan bantuan

Repositori sampel ini menawarkan informasi pemecahan masalah. Jika masalah Anda tidak diatasi, masuk ke Masalah repositori.

Langkah berikutnya