Bagikan melalui


Mulai menggunakan titik akhir privat obrolan untuk Python

Artikel ini memperlihatkan kepada Anda cara menyebarkan dan menjalankan sampel aplikasi obrolan perusahaan untuk Python yang dapat diakses oleh titik akhir privat.

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 dilengkapi dengan file PDF yang mencakup buku pegangan karyawan, dokumen tunjangan, dan daftar peran dan harapan di perusahaan.

Dengan mengikuti instruksi dalam artikel ini, Anda:

  • Sebarkan aplikasi obrolan ke Azure untuk akses publik di browser web.
  • Menyebarkan ulang aplikasi obrolan dengan titik akhir privat.

Setelah menyelesaikan prosedur ini, Anda dapat mulai memodifikasi proyek baru dengan kode kustom dan penyebaran ulang, mengetahui bahwa aplikasi obrolan Anda hanya dapat diakses melalui jaringan privat.

Gambaran umum arsitektur

Penyebaran bawaan membuat aplikasi obrolan dengan titik akhir yang dapat diakses publik.

diagram yang menunjukkan arsitektur jaringan aplikasi obrolan RAG dasar.

Untuk aplikasi obrolan yang diperkaya dengan data privat, mengamankan akses ke aplikasi obrolan Anda sangat penting. Artikel ini menyajikan solusi dengan menggunakan jaringan virtual.

Diagram yang memperlihatkan arsitektur jaringan dengan semua layanan di dalam jaringan virtual Azure.

Dalam jaringan virtual, ada subnet terpisah untuk aplikasi Azure App Service versus layanan Azure back-end lainnya. Struktur ini memudahkan untuk menerapkan aturan kelompok keamanan jaringan yang berbeda ke setiap subnet.

Diagram yang memperlihatkan subnet aplikasi obrolan dan subnet back-end dalam jaringan virtual.

Dalam jaringan virtual, layanan menggunakan titik akhir privat untuk berkomunikasi satu sama lain. Setiap titik akhir privat dikaitkan dengan zona Sistem Nama Domain (DNS) privat untuk menyelesaikan nama titik akhir privat ke alamat IP dalam jaringan virtual.

Diagram yang memperlihatkan titik akhir privat dan zona DNS privat untuk Azure OpenAI dalam jaringan virtual.

Langkah-langkah penyebaran

Kami menyarankan agar Anda menyebarkan solusi dua kali. Sebarkan sekali dengan akses publik untuk memvalidasi bahwa aplikasi obrolan berfungsi dengan benar. Sebarkan lagi dengan akses privat untuk mengamankan aplikasi obrolan Anda dengan menggunakan jaringan virtual.

Prasyarat

Lingkungan kontainer pengembangan tersedia dengan semua dependensi yang dibutuhkan 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.

Biaya penggunaan untuk sumber daya sampel

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

Penyebaran dengan jaringan privat menambahkan biaya tambahan ke penyebaran Anda. Setelah selesai mengevaluasi atau menyebarkan aplikasi, Anda dapat menghapus semua sumber daya yang disediakan untuk menghindari biaya yang sedang berlangsung.

Untuk perincian terperinci tentang biaya yang diharapkan, lihat sebelum Anda mulai di repositori GitHub untuk sampel.

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 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 GitHub Codespaces hingga 60 jam gratis setiap bulan dengan dua instans inti. Untuk informasi selengkapnya, lihat penyimpanan dan jam inti bulanan yang disertakan pada 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 sampai codespace mulai. 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.

Tugas yang tersisa dalam artikel ini berlangsung dalam konteks kontainer pengembangan ini.

Pengaturan kustom

Solusi ini mengonfigurasi dan menyebarkan infrastruktur berdasarkan pengaturan kustom yang dikonfigurasi dengan Azure Developer CLI. Tabel berikut menjelaskan pengaturan kustom untuk solusi ini.

Pengaturan Deskripsi
AZURE_PUBLIC_NETWORK_ACCESS Mengontrol nilai akses jaringan publik pada sumber daya Azure yang didukung. Nilai yang valid adalah Enabled atau Disabled.
AZURE_USE_PRIVATE_ENDPOINT Mengontrol penyebaran titik akhir privat, yang menghubungkan sumber daya Azure ke jaringan virtual. Nilai TRUE berarti bahwa titik akhir privat digunakan untuk konektivitas.
AZURE_USE_VPN_GATEWAY Mengontrol penyebaran gateway VPN untuk jaringan virtual. Jika Anda tidak menggunakan ini dan akses publik dinonaktifkan, Anda memerlukan cara lain untuk terhubung ke jaringan virtual. Nilai TRUE artinya gateway VPN disebarkan untuk konektivitas.

Menyebarkan aplikasi obrolan

Penyebaran pertama membuat sumber daya dan menyediakan titik akhir yang dapat diakses publik.

  1. Jalankan perintah berikut untuk mengonfigurasi solusi ini untuk akses publik:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Enabled
    

    Saat Anda dimintai nama lingkungan, ingatlah bahwa nama lingkungan digunakan untuk membuat grup sumber daya. Masukkan nama yang bermakna. Jika Anda berada di tim atau dalam organisasi, sertakan nama Anda, seperti dalam morgan-chat-private-endpoints. Catat nama lingkungan. Anda membutuhkannya nanti untuk menemukan sumber daya di portal Microsoft Azure.

  2. Jalankan perintah berikut untuk menyertakan penyediaan sumber daya jaringan virtual. Ingatlah bahwa penyebaran tidak membatasi akses sampai penyebaran kedua.

    azd env set AZURE_USE_PRIVATE_ENDPOINT true
    
  3. Sebarkan solusi dengan perintah berikut:

    azd up
    

    Penyediaan sumber daya adalah bagian yang paling memakan waktu dari proses penyebaran. Tunggu hingga penyebaran selesai sebelum Anda melanjutkan.

  4. Di akhir proses penyebaran, titik akhir aplikasi muncul. Salin titik akhir tersebut ke browser untuk membuka aplikasi obrolan. Pilih salah satu pertanyaan pada kartu lalu tunggu jawabannya.

    Catat URL titik akhir karena Anda membutuhkannya lagi nanti di artikel.

Menyebarkan aplikasi obrolan ke Azure dengan akses privat

Ubah konfigurasi penyebaran untuk mengamankan aplikasi obrolan untuk akses privat.

  1. Jalankan perintah berikut untuk menggunakan gateway VPN untuk mengakses jaringan virtual:

    azd env set AZURE_USE_VPN_GATEWAY true
    
  2. Jalankan perintah berikut untuk menonaktifkan akses publik:

    azd env set AZURE_PUBLIC_NETWORK_ACCESS Disabled
    
    
  3. Jalankan perintah berikut untuk mengubah konfigurasi sumber daya. Perintah ini tidak menyebarkan ulang kode aplikasi karena hanya konfigurasi infrastruktur yang berubah.

    azd provision
    
  4. Setelah provisi selesai, buka aplikasi obrolan di browser lagi. Aplikasi obrolan tidak lagi dapat diakses karena titik akhir publik dinonaktifkan.

Mengakses aplikasi obrolan

Untuk mengakses aplikasi obrolan, gunakan alat seperti Azure VPN Gateway atau Azure Virtual Desktop. Ingatlah bahwa alat apa pun yang Anda gunakan untuk mengakses aplikasi harus aman dan sesuai dengan kebijakan keamanan organisasi Anda.

Membersihkan sumber daya

Langkah-langkah berikut membimbing Anda melalui proses pembersihan sumber daya yang Anda gunakan.

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

  1. Masuk ke dasbor GitHub Codespaces.

  2. Temukan codespace anda yang sedang berjalan yang bersumber 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, tambahkan masalah Anda di halaman web Masalah repositori.