Bagikan melalui


Mulai menggunakan obrolan dengan menggunakan sampel data Anda sendiri untuk Python

Artikel ini menunjukkan kepada Anda cara menyebarkan dan menjalankan aplikasi obrolan dengan sampel data Anda sendiri untuk Python. Sampel ini mengimplementasikan aplikasi obrolan dengan menggunakan Python, Azure OpenAI Service, dan Retrieval Augmented Generation (RAG) di Azure AI Search untuk mendapatkan jawaban tentang manfaat karyawan di perusahaan fiktif. Aplikasi ini dibekali dengan file PDF yang mencakup buku pegangan karyawan, dokumen manfaat karyawan, serta daftar peran dan harapan perusahaan.

Tonton video demo berikut.

Dengan mengikuti instruksi dalam artikel ini, Anda:

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

Setelah menyelesaikan prosedur 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 dengan menggunakan Azure OpenAI dan Azure AI Search.

Artikel lain dalam koleksi meliputi:

  • .NET
  • Java
  • JavaScript
  • JavaScript frontend + backend Python

Catatan

Artikel ini menggunakan satu atau beberapa template aplikasi AI sebagai dasar untuk contoh dan panduan dalam artikel. Templat aplikasi AI memberi Anda implementasi referensi yang terawat dengan baik yang mudah disebarkan. Ini membantu memastikan titik awal berkualitas tinggi untuk aplikasi AI Anda.

Ikhtisar arsitektur

Diagram berikut menunjukkan arsitektur sederhana aplikasi obrolan.

diagram yang 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.

  • Azure OpenAI untuk menyediakan:

    • Kata kunci untuk meningkatkan pencarian atas data Anda sendiri.
    • Jawaban dari model Azure 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. Ada biaya untuk menyelesaikan artikel ini, tetapi minimal. Setelah selesai dengan artikel, Anda dapat menghapus sumber daya untuk berhenti dikenakan biaya.

Pelajari lebih lanjut tentang biaya dalam repositori sampel.

Prasyarat

Lingkungan kontainer pengembangan sudah tersedia 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.

  • GitHub Codespaces (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 (UI). 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 GitHub Codespaces hingga 60 jam gratis setiap bulan dengan dua instans inti. Untuk informasi selengkapnya, lihat penyimpanan dan jam inti yang disertakan setiap bulan di GitHub Codespaces.

  1. Mulai proses untuk membuat ruang kode GitHub baru di cabang mainAzure-Samples/azure-search-openai-demo repositori GitHub.

  2. Klik kanan tombol berikut, dan pilih tautan buka di jendela baru agar lingkungan pengembangan dan dokumentasi tersedia secara bersamaan.

    Buka di GitHub Codespaces.

  3. Pada halaman Buat codespace, tinjau pengaturan konfigurasi codespace, lalu pilih Buat codespace.

    Cuplikan layar yang memperlihatkan layar konfirmasi sebelum Anda membuat codespace baru.

  4. Tunggu hingga ruang kode mulai berjalan. Proses startup ini dapat memakan waktu beberapa menit.

  5. Di terminal di bagian bawah layar, masuk ke Azure dengan Azure Developer CLI:

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

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 membantu Anda melalui proses penyebaran 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 menimbulkan biaya bahkan jika Anda menghentikan perintah sebelum sepenuhnya dijalankan.

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

    azd up
    
  2. Jika Anda diminta untuk memasukkan nama lingkungan, tetap pendekkan dan gunakan huruf kecil. Contohnya adalah 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 Azure OpenAI atau untuk sumber daya Azure AI Document Intelligence, pilih lokasi yang paling dekat dengan Anda. Jika lokasi yang sama tersedia sebagai lokasi pertama Anda, pilih lokasi tersebut.

  6. Tunggu 5 atau 10 menit setelah aplikasi disebarkan sebelum Anda melanjutkan.

  7. Setelah aplikasi berhasil disebarkan, URL muncul di terminal.

    Cuplikan layar yang memperlihatkan aplikasi yang disebarkan yang dilaporkan pada akhir proses AZD CLI azd up.

  8. Pilih URL berlabel (✓) Done: Deploying service webapp untuk membuka aplikasi obrolan di browser.

    Cuplikan layar yang menampilkan aplikasi obrolan di browser yang menampilkan beberapa saran untuk input obrolan dan kotak teks obrolan untuk 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 membimbing Anda melalui proses penggunaan aplikasi obrolan. Jawaban Anda mungkin bervariasi karena model yang mendasar diperbarui.

  1. Di browser, pilih atau masukkan Apa yang terjadi dalam tinjauan performa? di kotak teks obrolan.

    Cuplikan layar yang menampilkan jawaban pertama aplikasi obrolan.

  2. Dari jawaban, pilih kutipan.

    Cuplikan layar yang memperlihatkan 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 Tab ini adalah skrip interaksi dalam obrolan. Anda dapat melihat permintaan sistem (content) dan pertanyaan pengguna Anda (content).
    Konten pendukung Tab ini mencakup informasi untuk menjawab pertanyaan Anda dan materi sumber. Jumlah kutipan materi sumber dicatat dalam pengaturan Pengembang . Nilai defaultnya adalah 3.
    Kutipan Tab ini menampilkan halaman asli yang berisi kutipan.
  4. Setelah selesai, pilih tab lagi untuk menutup panel.

Menggunakan pengaturan aplikasi obrolan untuk mengubah perilaku respons

Kecerdasan obrolan ditentukan oleh model Azure OpenAI dan pengaturan yang digunakan untuk berinteraksi dengan model.

Cuplikan layar yang memperlihatkan pengaturan pengembang obrolan.

Pengaturan Deskripsi
Mengganti templat prompt Mengambil alih perintah yang digunakan untuk menghasilkan jawaban berdasarkan hasil pertanyaan dan pencarian.
Suhu Mengatur suhu permintaan ke model bahasa besar (LLM) yang menghasilkan jawabannya. Suhu yang lebih tinggi menghasilkan respons yang lebih kreatif, tetapi mungkin kurang membumi.
Benih Mengatur seed untuk meningkatkan reproduksibilitas respons model. Benih dapat berupa bilangan bulat apa pun.
Skor pencarian minimum Mengatur skor minimum untuk hasil pencarian yang kembali dari layanan Azure AI Search. Rentang skor bergantung pada apakah Anda menggunakan hibrida (default), vektor saja, atau teks saja.
Minimum skor reranker Menetapkan skor minimum untuk hasil pencarian yang diperoleh dari reranker semantik. Skor selalu berkisar antara 0 dan 4. Semakin tinggi skor, semakin relevan secara semantik hasilnya adalah dengan pertanyaan.
Ambil hasil pencarian sejumlah ini Mengatur jumlah hasil pencarian yang akan diambil dari Azure AI Search. Hasil lainnya dapat meningkatkan kemungkinan menemukan jawaban yang benar. Tetapi lebih banyak hasil mungkin juga menyebabkan model menjadi "tersesat di tengah jalan." Anda dapat melihat sumber-sumber ini dikembalikan pada tab Proses Pemikiran dan Konten Pendukung dari kutipan.
Mengecualikan kategori Menentukan kategori yang akan dikecualikan dari hasil pencarian. Tidak ada kategori yang digunakan dalam himpunan data default.
Gunakan ranker semantik untuk pengambilan data Mengaktifkan pemeringkat semantik Azure AI Search , yang merupakan model yang mengurutkan ulang hasil pencarian berdasarkan kemiripan semantik dengan permintaan pengguna.
Menggunakan keterangan semantik Mengirim keterangan semantik ke LLM alih-alih hasil pencarian lengkap. Keterangan semantik diekstrak dari hasil pencarian selama proses peringkat semantik.
Sarankan pertanyaan tindak lanjut Meminta LLM untuk menyarankan pertanyaan tindak lanjut berdasarkan kueri pengguna.
mode Pengambilan Mengatur mode penarikan untuk kueri Pencarian Azure AI. Vektor + Teks (Hibrid) menggunakan kombinasi pencarian vektor dan pencarian teks lengkap. Vektor hanya menggunakan pencarian vektor. Text hanya menggunakan pencarian teks lengkap. Hibrida adalah yang paling optimal.
Stream respons penyelesaian obrolan Terus mengalirkan respons yang dihasilkan ke UI obrolan.

Langkah-langkah berikut akan memandu Anda melalui proses mengubah pengaturan.

  1. Di dalam browser, pilih tab Pengaturan Pengembang.

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

    What happens in a performance review?
    

    Obrolan mengembalikan pertanyaan tindak lanjut yang disarankan, seperti contoh berikut:

    1. What is the frequency of performance reviews?
    2. How can employees prepare for a performance review?
    3. Can employees dispute the feedback received during the performance review?
    
  3. Pada tab Pengaturan, kosongkan kotak centang Gunakan peringkat semantik untuk pengambilan.

  4. Ajukan pertanyaan yang sama lagi.

    What happens in a performance review?
    
  5. Apa perbedaan jawabannya?

    • Dengan peringkat semantik: Selama peninjauan kinerja di Contoso Electronics, karyawan memiliki kesempatan untuk membahas keberhasilan dan tantangan mereka di tempat kerja (1). Ulasan ini memberikan umpan balik positif dan konstruktif untuk membantu karyawan berkembang dan tumbuh dalam peran mereka (1). Karyawan menerima ringkasan tertulis dari tinjauan performa, yang mencakup peringkat performa, umpan balik, dan tujuan dan tujuan mereka untuk tahun mendatang (1). Tinjauan performa adalah dialog dua arah antara manajer dan karyawan (1).
    • Tanpa peringkat semantik: Selama peninjauan kinerja di Contoso Electronics, karyawan memiliki kesempatan untuk membahas keberhasilan dan tantangan mereka di tempat kerja. Umpan balik positif dan konstruktif diberikan untuk membantu karyawan mengembangkan dan tumbuh dalam peran mereka. Ringkasan tertulis dari tinjauan performa diberikan, termasuk peringkat performa, umpan balik, dan tujuan untuk tahun mendatang. Ulasan adalah dialog dua arah antara manajer dan karyawan (1).

Membersihkan sumber daya

Langkah-langkah berikut memandu Anda melalui proses membersihkan sumber daya yang telah Anda gunakan.

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 --force

Sakelar memberikan fungsi:

  • purge: Sumber daya yang dihapus segera dibersihkan sehingga Anda dapat menggunakan kembali token Azure OpenAI per menit.
  • force: Penghapusan dilakukan secara diam-diam, tanpa memerlukan persetujuan pengguna.

Membersihkan GitHub Codespaces dan Visual Studio Code

  • GitHub Codespaces
  • Visual Studio Code

Menghapus lingkungan GitHub Codespaces memastikan bahwa Anda dapat memaksimalkan kuota jam penggunaan inti gratis yang Anda dapatkan untuk akun Anda.

Penting

Untuk informasi selengkapnya tentang hak akun GitHub Anda, lihat penyimpanan dan jam inti bulanan yang termasuk dalam GitHub Codespaces.

  1. Masuk ke dasbor GitHub Codespaces.

  2. Temukan ruang kode Anda yang saat ini berjalan dan berasal dari repositori GitHub Azure-Samples/azure-search-openai-demo.

    Cuplikan layar yang memperlihatkan semua codespace yang sedang berjalan termasuk status dan templatnya.

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

    Cuplikan layar yang memperlihatkan menu konteks untuk satu ruang kode dengan opsi Hapus disorot.

Dapatkan bantuan

Repositori sampel ini menawarkan informasi pemecahan masalah.

Jika masalah Anda tidak diatasi, masukkan masalah Anda ke halaman Masalah repositori pada halaman web.