Bagikan melalui


Mulai menggunakan obrolan menggunakan sampel data Anda sendiri untuk Java

Artikel ini memperlihatkan kepada Anda cara menyebarkan dan menjalankan Obrolan dengan sampel data Anda untuk Java. Sampel ini mengimplementasikan aplikasi obrolan menggunakan Java, Azure OpenAI Service, dan Retrieval Augmented Generation (RAG) di Azure AI Search 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 Azure OpenAI Service dan Azure AI Search. 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

Arsitektur sederhana aplikasi obrolan ditampilkan dalam diagram berikut:

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

Komponen utama arsitektur meliputi:

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

Biaya

Sebagian besar sumber daya dalam arsitektur ini menggunakan tingkat harga dasar atau konsumsi. Harga konsumsi didasarkan pada penggunaan, yang berarti Anda hanya membayar apa yang Anda gunakan. Untuk menyelesaikan artikel ini, ada biaya tetapi minimal. Setelah selesai dengan artikel ini, Anda dapat menghapus sumber daya untuk berhenti dikenakan biaya.

Pelajari selengkapnya tentang biaya dalam repositori sampel.

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:

  • 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

Mulai sekarang dengan lingkungan pengembangan yang memiliki semua dependensi yang diinstal 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.

  1. Klik kanan pada tombol berikut, dan pilih Buka tautan di jendela baru agar lingkungan pengembangan dan dokumentasi tersedia secara bersamaan.

    Open in GitHub CodespacesBuka di GitHub Codespaces

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

    Screenshot of the confirmation screen before creating a new codespace.Cuplikan 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 Azure Developer CLI.

    azd auth login
    
  5. Salin kode dari terminal lalu tempelkan ke browser. Ikuti instruksi untuk mengautentikasi dengan 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 memandikan 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 mungkin menimbulkan biaya bahkan jika Anda menghentikan perintah sebelum sepenuhnya dijalankan.

  1. Provisikan sumber daya Azure dan sebarkan kode sumber dengan menjalankan perintah berikut:

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

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

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

  5. Jika Anda 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 yang diberi Deploying service web label 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 dimuat sebelumnya dengan informasi manfaat karyawan dari file PDF. Anda dapat menggunakan aplikasi obrolan untuk mengajukan pertanyaan tentang manfaatnya. Langkah-langkah berikut memancang 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 digunakan 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 dikembalikan dalam tab Proses pemikiran dan Mendukung konten kutipan.
Mengecualikan kategori Kategori dokumen yang dikecualikan dari hasil pencarian.
Gunakan ranker semantik untuk pengambilan Fitur Azure AI Search yang menggunakan pembelajaran mesin untuk meningkatkan relevansi hasil pencarian.
Menggunakan ringkasan kontekstual kueri alih-alih seluruh dokumen Ketika dan Use semantic rankerUse query-contextual summaries diperiksa, LLM menggunakan keterangan 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 penyematan dokumen. Teks berarti bahwa hasil pencarian didasarkan pada teks dokumen.
Mengalirkan respons penyelesaian obrolan Respons streaming alih-alih menunggu hingga jawaban lengkap tersedia untuk respons.

Langkah-langkah berikut memandikan Anda melalui proses mengubah pengaturan.

  1. Di 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 , batal pilih Gunakan pemeringkat semantik untuk pengambilan.

  4. Tanyakan pertanyaan yang sama lagi?

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

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

    Respons tanpa peringkat semantik mengembalikan jawaban, yang membutuhkan lebih banyak pekerjaan untuk mendapatkan jawabannya: Based on the information provided, it is unclear what your specific deductible is. The Northwind Health Plus plan has different deductible amounts for in-network and out-of-network services, and there is also a separate prescription drug deductible. I would recommend checking with your provider or referring to the specific benefits details for your plan to determine your deductible amount.

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

azd down --purge

Membersihkan GitHub Codespaces

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 penetapan akun GitHub Anda, lihat GitHub Codespaces bulanan yang disertakan penyimpanan dan jam inti.

  1. Masuklah ke dasbor GitHub Codespaces.

  2. Tentukan Codespaces yang saat ini 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 semua Codespace yang sedang berjalan termasuk status dan templatnya.

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

    Screenshot of the context menu for a single codespace with the delete option highlighted.Cuplikan layar menu konteks untuk satu codespace dengan opsi hapus disorot.

Bagaimana pertanyaannya dijawab?

Aplikasi ini dipisahkan menjadi dua aplikasi:

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

API backend /chat melaju melalui 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