Bagikan melalui


Mulai menggunakan obrolan menggunakan sampel data Anda sendiri untuk Python

Artikel ini memperlihatkan kepada Anda cara menyebarkan dan menjalankan Obrolan dengan sampel data Anda sendiri untuk Python. Sampel ini mengimplementasikan aplikasi obrolan 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 diunggulkan dengan file PDF termasuk buku pegangan karyawan, dokumen manfaat, dan daftar peran dan harapan perusahaan.

Dengan mengikuti instruksi dalam artikel ini, Anda akan:

  • 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 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 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, akan ada biaya tetapi akan 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 gratis
  • Izin akun Azure - Akun Azure Anda harus memiliki izin Microsoft.Authorization/roleAssignments/write, seperti Administrator Akses Pengguna atau Pemilik.
  • Akses yang diberikan ke Azure OpenAI dalam langganan Azure yang diinginkan. Saat ini, akses ke layanan ini hanya diberikan oleh aplikasi. Anda dapat mengajukan permohonan akses ke Azure OpenAI dengan melengkapi formulir di https://aka.ms/oai/access. Buka masalah pada repositori ini untuk menghubungi kami jika Anda mengalami masalah.
  • 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 2 instans inti. Untuk informasi selengkapnya, lihat GitHub Codespaces bulanan yang disertakan penyimpanan dan jam inti.

  1. Mulai proses untuk membuat GitHub Codespace baru di main cabang Azure-Samples/azure-search-openai-demo repositori GitHub.

  2. Klik kanan pada tombol berikut, dan pilih Buka tautan 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 baru

    Cuplikan layar konfirmasi sebelum membuat codespace baru.

  4. Tunggu hingga codespace dimulai. 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
    
  6. Salin kode dari terminal lalu tempelkan ke browser. Ikuti instruksi untuk mengautentikasi dengan akun Azure Anda.

  7. 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 dapat mengumpulkan biaya bahkan jika Anda mengganggu 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 huruf kecil. Contohnya,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 atau untuk sumber daya Kecerdasan Dokumen, 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 melanjutkan.

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

    Cuplikan layar aplikasi yang disebarkan seperti yang dilaporkan di akhir proses azd up AZD CLI.

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

    Cuplikan layar aplikasi obrolan di browser memperlihatkan 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 memancang Anda melalui proses penggunaan aplikasi obrolan. Jawaban Anda dapat bervariasi karena model yang mendasar diperbarui.

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

    Cuplikan layar jawaban pertama aplikasi obrolan.

  2. Dari jawaban, pilih kutipan.

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

Menggunakan pengaturan aplikasi obrolan untuk mengubah perilaku respons

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

Cuplikan layar pengaturan pengembang obrolan.

Pengaturan Deskripsi
Ambil alih templat perintah Mengambil alih perintah yang digunakan untuk menghasilkan jawaban berdasarkan hasil pertanyaan dan pencarian.
Suhu Mengatur suhu permintaan ke LLM yang menghasilkan jawaban. Suhu yang lebih tinggi menghasilkan respons yang lebih kreatif, tetapi mungkin kurang membumi.
Skor pencarian minimum Mengatur skor minimum untuk hasil pencarian yang kembali dari pencarian Azure AI. Rentang skor bergantung pada apakah Anda menggunakan hibrid (default), vektor saja, atau teks saja.
Skor reranker minimum Menetapkan skor minimum untuk hasil pencarian yang kembali dari reranker semantik. Skor selalu berkisar antara 0-4. Semakin tinggi skor, semakin relevan secara semantik hasilnya adalah dengan pertanyaan.
Ambil hasil pencarian sebanyak ini Mengatur jumlah hasil pencarian yang akan diambil dari pencarian Azure AI. Hasil lainnya dapat meningkatkan kemungkinan menemukan jawaban yang benar, tetapi dapat menyebabkan model 'hilang di tengah'. Anda dapat melihat sumber-sumber ini dikembalikan dalam tab Proses pemikiran dan Mendukung konten 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 Mengaktifkan ranker semantik Azure AI Search, model yang memberi peringkat ulang hasil pencarian berdasarkan kesamaan semantik dengan kueri 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 pengambilan untuk kueri Pencarian Azure AI. Vektor + Teks (Hibrid) menggunakan kombinasi pencarian vektor dan pencarian teks lengkap, Vektor hanya menggunakan pencarian vektor, dan Teks hanya menggunakan pencarian teks lengkap. Hibrid umumnya optimal.
Mengalirkan respons penyelesaian obrolan Terus mengalirkan respons ke UI obrolan saat dihasilkan.

Langkah-langkah berikut memandikan Anda melalui proses mengubah pengaturan.

  1. Di browser, pilih tab Pengaturan Pengembang.

  2. Centang 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 berikut ini:

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

  4. Tanyakan pertanyaan yang sama lagi?

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

    Dengan peringkat Semantik: Selama peninjauan kinerja di Contoso Electronics, karyawan akan memiliki kesempatan untuk membahas keberhasilan dan tantangan mereka di tempat kerja (1). Peninjauan akan memberikan umpan balik positif dan konstruktif untuk membantu karyawan berkembang dan tumbuh dalam peran mereka (1). Karyawan akan menerima ringkasan tertulis dari tinjauan performa, yang akan 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

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 menyediakan:

  • purge: Sumber daya yang dihapus segera dihapus menyeluruh. Ini memungkinkan Anda untuk menggunakan kembali TPM Azure OpenAI.
  • force: Penghapusan terjadi secara diam-diam, tanpa memerlukan persetujuan pengguna.

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. Masuk ke dasbor GitHub Codespaces (https://github.com/codespaces).

  2. Temukan Codespace Yang sedang berjalan yang bersumber dari Azure-Samples/azure-search-openai-demo repositori GitHub.

    Cuplikan layar semua Codespace yang sedang berjalan termasuk status dan templatnya.

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

    Cuplikan layar menu konteks untuk satu codespace dengan opsi hapus disorot.

Dapatkan bantuan

Repositori sampel ini menawarkan informasi pemecahan masalah.

Jika masalah Anda tidak diatasi, catat masalah Anda ke Masalah repositori.

Langkah berikutnya