Bagikan melalui


Menggunakan aplikasi web Azure OpenAI

Catatan

Aplikasi web dan kode sumbernya disediakan "apa adanya" dan sebagai sampel saja. Pelanggan bertanggung jawab atas semua penyesuaian dan implementasi aplikasi web mereka. Lihat bagian dukungan untuk aplikasi web di GitHub untuk informasi selengkapnya.

Bersama dengan portal, API, dan SDK Azure AI Foundry, Anda dapat menggunakan aplikasi web mandiri yang dapat disesuaikan untuk berinteraksi dengan model Azure OpenAI dengan menggunakan antarmuka pengguna grafis. Fitur-fitur kunci mencakup:

  • Konektivitas dengan beberapa sumber data untuk mendukung pembuatan kueri dan pengambilan yang kaya, termasuk Azure AI Search, Prompt Flow, dan banyak lagi.
  • Riwayat percakapan dan pengumpulan umpan balik pengguna melalui Cosmos DB.
  • Autentikasi dengan kontrol akses berbasis peran melalui MICROSOFT Entra ID.
  • Kustomisasi antarmuka pengguna, sumber data, dan fitur menggunakan variabel lingkungan (tanpa kode melalui portal Azure).

Anda dapat menyebarkan aplikasi melalui portal Azure AI Foundry, portal Azure, atau Azure Developer CLI melalui komputer lokal Anda (instruksi tersedia di repositori di sini). Bergantung pada saluran penyebaran, Anda dapat memuat sumber data terlebih dahulu untuk diobrol melalui aplikasi web, tetapi ini dapat diubah setelah penyebaran.

Bagi pemula Azure OpenAI yang berdasar untuk mengobrol dengan data mereka melalui aplikasi web, portal Azure AI Foundry adalah media yang direkomendasikan untuk penyebaran awal dan konfigurasi sumber data.

Cuplikan layar yang memperlihatkan antarmuka aplikasi web.

Pertimbangan penting

  • Aplikasi web ini dan banyak fiturnya dalam pratinjau, yang berarti bahwa bug mungkin terjadi dan tidak semua fitur mungkin lengkap. Jika Anda menemukan bug atau memerlukan bantuan, ajukan masalah di repositori GitHub terkait.
  • Menerbitkan aplikasi web membuat instans Azure App Service di langganan Anda. Ini mungkin dikenakan biaya tergantung pada paket harga yang Anda pilih. Setelah selesai dengan aplikasi, Anda dapat menghapusnya dan sumber daya terkait dari portal Azure.
  • GPT-4 Turbo dengan model Visi saat ini tidak didukung.
  • Secara default, aplikasi disebarkan dengan IdP Microsoft yang sudah dikonfigurasi. IdP membatasi akses ke aplikasi kepada anggota penyewa Azure Anda. Untuk menambahkan atau mengubah autentikasi:
    1. Buka portal Azure dan cari nama aplikasi yang Anda tentukan selama penerbitan. Pilih aplikasi web, lalu pilih Autentikasi di menu sebelah kiri. Lalu pilih Tambahkan IdP.

      Cuplikan layar panel autentikasi di portal Azure.

    2. Pilih Microsoft sebagai penyedia identitas. Pengaturan default di halaman ini membatasi aplikasi hanya untuk penyewa Anda, sehingga Anda tidak perlu mengubah hal lain di sini. Pilih Tambahkan.

Sekarang pengguna akan diminta untuk masuk dengan akun Microsoft Entra mereka untuk mengakses aplikasi Anda. Anda dapat mengikuti proses serupa untuk menambahkan IdP lain jika mau. Aplikasi ini tidak menggunakan informasi masuk pengguna dengan cara apa pun selain memverifikasi bahwa pengguna adalah anggota penyewa Anda. Untuk informasi selengkapnya tentang mengelola autentikasi, lihat mulai cepat ini tentang autentikasi untuk aplikasi web di Azure App Service.

Menyesuaikan aplikasi menggunakan variabel lingkungan

Anda dapat menyesuaikan logika front-end dan back-end aplikasi. Aplikasi ini menyediakan beberapa variabel lingkungan untuk skenario kustomisasi umum seperti mengubah ikon di aplikasi.

Variabel lingkungan ini dapat dimodifikasi melalui portal Azure setelah menyebarkan aplikasi web.

  1. Di portal Azure, cari dan pilih halaman App Services.
  2. Pilih aplikasi web yang baru saja Anda sebarkan.
  3. Di menu sebelah kiri aplikasi, pilih > Pengaturan Variabel lingkungan.
  4. Untuk mengubah variabel lingkungan yang ada, klik namanya.
  5. Untuk menambahkan satu variabel lingkungan baru, klik Tambahkan di bilah menu atas panel.
  6. Untuk menggunakan editor berbasis JSON untuk mengelola variabel lingkungan, klik Edit tingkat lanjut.

Saat Anda menyesuaikan aplikasi, kami sarankan:

  • Mengomunikasikan dengan jelas bagaimana setiap pengaturan yang Anda terapkan memengaruhi pengalaman pengguna.

  • Memperbarui pengaturan aplikasi untuk setiap aplikasi yang Disebarkan untuk menggunakan kunci API baru setelah Anda memutar kunci untuk sumber daya Azure OpenAI atau Azure AI Search Anda.

Memodifikasi antarmuka pengguna aplikasi

Variabel lingkungan yang relevan dengan kustomisasi antarmuka pengguna adalah:

  • UI_CHAT_DESCRIPTION: Ini adalah teks paragraf yang lebih kecil yang UI_CHAT_TITLE ditunjukkan di bawah bagian tengah halaman saat memuat.
    • Jenis data: teks
  • UI_CHAT_LOGO: Ini adalah gambar besar yang ditunjukkan di tengah halaman saat memuat.
    • Jenis data: URL ke gambar
  • UI_CHAT_TITLE: Ini adalah teks besar yang ditampilkan di tengah halaman saat memuat.
    • Jenis data: teks
  • UI_FAVICON: Ini adalah favicon yang ditampilkan di jendela/tab browser.
    • Jenis data: URL ke gambar
  • UI_LOGO: Ini adalah logo muncul di kiri atas halaman dan di sebelah kiri judul.
    • Jenis data: URL ke gambar
  • UI_TITLE: Ini adalah judul yang ditunjukkan pada jendela/tab browser. Ini juga muncul di kiri atas halaman oleh logo.
    • Jenis data: teks
  • UI_SHOW_SHARE_BUTTON: Tombol ini muncul di kanan atas halaman, dan memungkinkan pengguna untuk berbagi URL yang ditautkan ke aplikasi web.
    • Jenis data: Boolean, harus memasukkan True atau False, default ke True jika dibiarkan kosong atau tidak ditentukan.
  • UI_SHOW_CHAT_HISTORY_BUTTON: Ini muncul di kanan atas halaman dan di sebelah kiri UI_SHOW_SHARE_BUTTON.
    • Jenis data: Boolean, harus memasukkan True atau False, default ke True jika dibiarkan kosong atau tidak ditentukan.

Untuk mengubah antarmuka pengguna aplikasi, ikuti instruksi di langkah sebelumnya untuk membuka halaman variabel lingkungan untuk aplikasi web Anda. Kemudian, gunakan Edit tingkat lanjut untuk membuka editor berbasis JSON. Di bagian atas JSON (setelah [ karakter), tempelkan blok kode di bawah ini dan sesuaikan nilai yang sesuai:

  {
    "name": "UI_CHAT_DESCRIPTION",
    "value": "This is an example of a UI Chat Description. Chatbots can make mistakes. Check important info and sensitive info.",
    "slotSetting": false
  },
  {
    "name": "UI_CHAT_LOGO",
    "value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
    "slotSetting": false
  },
  {
    "name": "UI_CHAT_TITLE",
    "value": "This is an example of a UI Chat Title. Start chatting",
    "slotSetting": false
  },
  {
    "name": "UI_FAVICON",
    "value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
    "slotSetting": false
  },
  {
    "name": "UI_LOGO",
    "value": "https://learn-bot.azurewebsites.net/assets/Contoso-ff70ad88.svg",
    "slotSetting": false
  },
  {
    "name": "UI_TITLE",
    "value": "This is an example of a UI Title",
    "slotSetting": false
  },

Mengaktifkan riwayat obrolan menggunakan Cosmos DB

Anda dapat mengaktifkan riwayat obrolan untuk pengguna aplikasi web. Saat Anda mengaktifkan fitur, pengguna memiliki akses ke masing-masing kueri dan respons sebelumnya.

Untuk mengaktifkan riwayat obrolan, sebarkan atau sebarkan ulang model Anda sebagai aplikasi web dengan menggunakan portal Azure AI Foundry dan pilih Aktifkan riwayat obrolan dan umpan balik pengguna di aplikasi web.

Cuplikan layar kotak centang untuk mengaktifkan riwayat obrolan di Azure OpenAI atau Azure AI Foundry.

Penting

Mengaktifkan riwayat obrolan membuat instans Azure Cosmos DB di grup sumber daya Anda, dan dikenakan biaya tambahan untuk penyimpanan yang Anda gunakan di luar tingkat gratis apa pun.

Setelah mengaktifkan riwayat obrolan, pengguna Anda dapat menampilkan dan menyembunyikannya di sudut kanan atas aplikasi. Saat pengguna memperlihatkan riwayat obrolan, mereka dapat mengganti nama atau menghapus percakapan. Anda dapat mengubah apakah pengguna dapat mengakses fungsi ini menggunakan variabel UI_SHOW_CHAT_HISTORY_BUTTON lingkungan seperti yang ditentukan di bagian sebelumnya. Karena pengguna masuk ke aplikasi, percakapan secara otomatis dipesan dari yang terbaru ke terlama. Percakapan dinamai berdasarkan kueri pertama dalam percakapan.

Catatan

Wilayah Azure populer seperti AS Timur dapat mengalami periode permintaan tinggi di mana mungkin tidak mungkin untuk menyebarkan instans baru Cosmos DB. Dalam hal ini, pilih untuk menyebarkan ke wilayah alternatif seperti US Timur 2 atau coba lagi penyebaran Anda hingga berhasil. Jika penyebaran Cosmos DB gagal, aplikasi Anda akan tersedia di URL yang ditentukan, tetapi riwayat obrolan tidak akan tersedia. Mengaktifkan riwayat percakapan juga akan mengaktifkan tombol tampilkan riwayat percakapan di kanan atas.

Menyebarkan dengan opsi riwayat obrolan yang dipilih akan secara otomatis mengisi variabel lingkungan berikut, jadi tidak perlu mengubahnya kecuali Anda ingin beralih instans Cosmos DB. Yaitu:

  • AZURE_COSMOSDB_ACCOUNT: Ini adalah nama akun Cosmos DB yang disebarkan bersama dengan aplikasi web Anda.
    • Jenis data: teks
  • AZURE_COSMOSDB_ACCOUNT_KEY: Ini adalah variabel lingkungan alternatif yang hanya digunakan ketika izin tidak diberikan melalui ID Microsoft Entra dan autentikasi berbasis kunci digunakan sebagai gantinya.
    • Jenis data: teks. Biasanya tidak ada atau diisi.
  • AZURE_COSMOSDB_DATABASE: Ini adalah nama objek database dalam Cosmos DB yang disebarkan bersama dengan aplikasi web Anda.
    • Jenis data: teks, harus db_conversation_history
  • AZURE_COSMOSDB_CONTAINER: Ini adalah nama objek kontainer database dalam Cosmos DB yang disebarkan bersama dengan aplikasi web Anda.
    • Jenis data: teks, harus conversations
  • AZURE_COSMOSDB_ACCOUNT: Ini adalah nama akun Cosmos DB yang disebarkan bersama dengan aplikasi web Anda.
    • Jenis data: teks

Cuplikan layar riwayat obrolan di aplikasi web.

Mengumpulkan umpan balik pengguna

Untuk mengumpulkan umpan balik pengguna, Anda dapat mengaktifkan serangkaian ikon 'jempol ke atas' dan 'jempol ke bawah' yang muncul di setiap respons chatbot. Ini akan memungkinkan pengguna untuk mengevaluasi kualitas respons, dan menunjukkan di mana kesalahan terjadi menggunakan jendela modal 'berikan umpan balik negatif'.

Untuk mengaktifkan fitur ini, atur variabel lingkungan berikut ke True:

  • AZURE_COSMOSDB_ENABLE_FEEDBACK: Ini adalah nama akun Cosmos DB yang disebarkan bersama dengan aplikasi web Anda.
    • Jenis data: Jenis data: Boolean, harus memasukkan True atau False

Ini dapat dicapai menggunakan opsi Edit tingkat lanjut atau Edit sederhana seperti yang dijelaskan sebelumnya. JSON yang akan ditempelkan di editor JSON edit tingkat lanjut adalah:

  {
    "name": "AZURE_COSMOSDB_ENABLE_FEEDBACK",
    "value": "True",
    "slotSetting": false
  },

Menyambungkan ke Azure AI Search dan mengunggah file sebagai sumber data

Menggunakan portal Azure AI Foundry

Ikuti tutorial ini tentang mengintegrasikan Azure AI Search dengan Azure AI Foundry atau mulai cepat dan sebarkan ulang aplikasi Anda.

Menggunakan variabel lingkungan

Untuk menyambungkan ke Azure AI Search tanpa menyebarkan ulang aplikasi, Anda dapat mengubah variabel lingkungan wajib berikut menggunakan salah satu opsi pengeditan seperti yang dijelaskan sebelumnya.

  • DATASOURCE_TYPE: Ini menentukan sumber data mana yang akan digunakan saat menjawab kueri pengguna.
    • Jenis data: teks. Harus diatur ke AzureCognitiveSearch (nama sebelumnya untuk Azure AI Search)
  • AZURE_SEARCH_SERVICE: Ini adalah nama instans Azure AI Search Anda.
    • Jenis data: teks
  • AZURE_SEARCH_INDEX: Ini adalah nama nama indeks instans Azure AI Search Anda.
    • Jenis data: teks
  • AZURE_SEARCH_KEY: Ini adalah kunci autentikasi instans Azure AI Search Anda. Opsional jika menggunakan ID Microsoft Entra yang direkomendasikan untuk autentikasi.
    • Jenis data: teks

Skenario kustomisasi lebih lanjut menggunakan variabel lingkungan

  • AZURE_SEARCH_USE_SEMANTIC_SEARCH: Menunjukkan apakah akan menggunakan pencarian semantik di Azure AI Search.
    • Jenis data: boolean, harus diatur ke False jika tidak menggunakan pencarian semantik.
  • AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG: Menentukan nama konfigurasi pencarian semantik yang akan digunakan jika pencarian semantik diaktifkan.
    • Jenis data: teks, default ke azureml-default.
  • AZURE_SEARCH_INDEX_TOP_K: Menentukan jumlah dokumen teratas yang akan diambil dari Azure AI Search.
    • Jenis data: bilangan bulat, harus diatur ke 5.
  • AZURE_SEARCH_ENABLE_IN_DOMAIN: Membatasi respons terhadap kueri yang hanya terkait dengan data Anda.
    • Jenis data: boolean, harus diatur ke True.
  • AZURE_SEARCH_CONTENT_COLUMNS: Menentukan daftar bidang dalam indeks Pencarian Azure AI Anda yang berisi konten teks dokumen Anda, yang digunakan saat merumuskan respons bot.
    • Jenis data: teks, default ke content jika disebarkan dari portal Azure AI Foundry,
  • AZURE_SEARCH_FILENAME_COLUMN: Menentukan bidang dari indeks Pencarian Azure AI Anda yang menyediakan pengidentifikasi unik data sumber untuk ditampilkan di UI.
    • Jenis data: teks, default ke filepath jika disebarkan dari portal Azure AI Foundry,
  • AZURE_SEARCH_TITLE_COLUMN: Menentukan bidang dari indeks Pencarian Azure AI Anda yang menyediakan judul atau header yang relevan agar konten data Anda ditampilkan di antarmuka pengguna.
    • Jenis data: teks, default ke title jika disebarkan dari portal Azure AI Foundry,
  • AZURE_SEARCH_URL_COLUMN: Menentukan bidang dari indeks Pencarian Azure AI Anda yang berisi URL untuk dokumen tersebut.
    • Jenis data: teks, default ke url jika disebarkan dari portal Azure AI Foundry,
  • AZURE_SEARCH_VECTOR_COLUMNS: Menentukan daftar bidang dalam indeks Pencarian Azure AI Anda yang berisi penyematan vektor dokumen Anda, yang digunakan saat merumuskan respons bot.
    • Jenis data: teks, default ke contentVector jika disebarkan dari portal Azure AI Foundry,
  • AZURE_SEARCH_QUERY_TYPE: Menentukan jenis kueri yang akan digunakan: simple, , semantic, vectorvectorSimpleHybrid, atau vectorSemanticHybrid. Pengaturan ini lebih diutamakan daripada AZURE_SEARCH_USE_SEMANTIC_SEARCH.
    • Jenis data: teks, sebaiknya uji dengan vectorSemanticHybrid.
  • AZURE_SEARCH_PERMITTED_GROUPS_COLUMN: Menentukan bidang dari indeks Pencarian Azure AI Anda yang berisi ID grup Microsoft Entra, menentukan kontrol akses tingkat dokumen.
    • Jenis data: teks
  • AZURE_SEARCH_STRICTNESS: Menentukan tingkat ketegasan untuk respons pembatasan model terhadap data Anda.
    • Jenis data: bilangan bulat, harus diatur antara 1 dan 5, dengan 3 disarankan.
  • AZURE_OPENAI_EMBEDDING_NAME: Menentukan nama penyebaran model penyematan Anda jika menggunakan pencarian vektor.
    • Jenis data: teks

JSON yang akan ditempelkan di editor JSON edit tingkat lanjut adalah:

{
    "name": "AZURE_SEARCH_CONTENT_COLUMNS",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_ENABLE_IN_DOMAIN",
    "value": "true",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_FILENAME_COLUMN",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_INDEX",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_KEY",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_PERMITTED_GROUPS_COLUMN",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_QUERY_TYPE",
    "value": "vectorSemanticHybrid",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_SEMANTIC_SEARCH_CONFIG",
    "value": "azureml-default",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_SERVICE",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_STRICTNESS",
    "value": "3",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_TITLE_COLUMN",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_TOP_K",
    "value": "5",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_URL_COLUMN",
    "value": "",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_USE_SEMANTIC_SEARCH",
    "value": "true",
    "slotSetting": false
  },
  {
    "name": "AZURE_SEARCH_VECTOR_COLUMNS",
    "value": "contentVector",
    "slotSetting": false
  },

Menyambungkan ke Prompt Flow sebagai sumber data

Alur perintah memungkinkan Anda menentukan RAG yang sangat dapat disesuaikan dan logika pemrosesan pada kueri pengguna.

Membuat dan menyebarkan alur prompt Anda di portal Azure AI Foundry

Ikuti tutorial ini untuk membuat, menguji, dan menyebarkan titik akhir inferensi untuk alur prompt Anda di portal Azure AI Foundry.

Mengaktifkan kutipan yang mendasari dari alur permintaan Anda

Saat mengonfigurasi alur permintaan Anda untuk menampilkan kutipan saat mengintegrasikan aplikasi web ini, itu harus mengembalikan dua output utama: satu dipanggil documents (kutipan Anda), dan satu disebut reply (jawaban bahasa alami Anda).

  1. documents adalah objek JSON, yang harus berisi elemen berikut. citations adalah daftar yang dapat berisi beberapa item setelah skema yang sama. documents objek harus dihasilkan dan diisi berdasarkan pola RAG yang Anda pilih.
{
    "citations": [
        {
                "content": "string",
                "id": 12345,
                "title": "string",
                "filepath": "string",
                "url": "string",
                "metadata": "string",
                "chunk_id": None,
                "reindex_id": None,
                "part_index": None
        }
    ],
    "intent": "Your_string_here"
}
  1. reply terdiri dari string yang dikembalikan yang mewakili bahasa alami akhir ke kueri pengguna tertentu. Anda reply harus berisi referensi ke setiap dokumen (sumber) dalam format berikut: [doc1], [doc2], dll. Aplikasi web akan mengurai reply dan memproses referensi, mengganti semua instans [doc1] dengan indikator numerik superskrip kecil yang terhubung langsung ke yang diurutkan documents yang dikembalikan. Oleh karena itu, Anda harus meminta LLM Anda yang menghasilkan bahasa alami akhir untuk menyertakan referensi ini, yang juga harus diteruskan dalam panggilan LLM Anda untuk memastikan bahwa mereka selaras dengan benar. Contohnya:
system:
You are a helpful chat assistant that answers a user's question based on the information retrieved from a data source. 

YOU MUST ALWAYS USE CITATIONS FOR ALL FACTUAL RESPONSES. YOU MUST INCLUDE CITATIONS IN YOUR ANSWER IN THE FORMAT [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.

Provide sort and concise answers with details directly related to the query. 

## Conversation history for context
{% for item in chat_history %}
user:
{{item.inputs.query}}

assistant:
{{item.outputs.reply}}
{% endfor %}

## Current question
user:
### HERE ARE SOME CITED SOURCE INFORMATION FROM A MOCKED API TO ASSIST WITH ANSWERING THE QUESTION BELOW. ANSWER ONLY BASED ON THE TRUTHS PRESENTED HERE.
{{your_input_name_for_documents}}
FOR EACH OF THE CITATIONS ABOVE, YOU MUST INCLUDE IN YOUR ANSWER [doc1], [doc2], ... AND SO FORTH WHEN YOU ARE USING INFORMATION RELATING TO SAID SOURCE. THIS MUST BE RETURNED IN YOUR ANSWER.
### HERE IS THE QUESTION TO ANSWER.
{{question}}
  

Mengonfigurasi variabel lingkungan untuk mengintegrasikan alur prompt

Variabel lingkungan yang akan dimodifikasi adalah:

  • AZURE_OPENAI_STREAM: Ini menentukan apakah jawaban dimuat dalam format streaming (beban inkremental). Ini tidak didukung untuk alur prompt dan dengan demikian harus diatur ke False untuk menggunakan fitur ini.
    • Jenis data: boolean, atur ke True jika tidak menggunakan alur perintah, False jika menggunakan alur perintah
  • USE_PROMPTFLOW: Menunjukkan apakah akan menggunakan titik akhir yang disebarkan alur Prompt yang ada. Jika diatur ke True, baik PROMPTFLOW_ENDPOINT dan PROMPTFLOW_API_KEY harus diatur.
    • Jenis data: boolean, harus diatur ke False jika tidak menggunakan alur Prompt.
  • PROMPTFLOW_ENDPOINT: Menentukan URL titik akhir alur Prompt yang disebarkan.
    • Jenis data: teks, misalnya https://pf-deployment-name.region.inference.ml.azure.com/score
  • PROMPTFLOW_API_KEY: Kunci autentikasi untuk titik akhir alur Prompt yang disebarkan. Catatan: hanya Autentikasi berbasis kunci yang didukung.
    • Jenis data: teks
  • PROMPTFLOW_RESPONSE_TIMEOUT: Menentukan nilai batas waktu dalam detik agar titik akhir Alur permintaan merespons.
    • Jenis data: bilangan bulat, harus diatur ke 120.
  • PROMPTFLOW_REQUEST_FIELD_NAME: Nama bidang default untuk membuat permintaan alur Prompt. Catatan: chat_history secara otomatis dibangun berdasarkan interaksi. Jika API Anda mengharapkan bidang wajib lainnya, Anda harus mengubah parameter permintaan di promptflow_request bawah fungsi .
    • Jenis data: teks, harus diatur ke query.
  • PROMPTFLOW_RESPONSE_FIELD_NAME: Nama bidang default untuk memproses respons dari permintaan Alur perintah.
    • Jenis data: teks, harus diatur ke reply.
  • PROMPTFLOW_CITATIONS_FIELD_NAME: Nama bidang default untuk memproses output kutipan dari permintaan alur Prompt.
    • Jenis data: teks, harus diatur ke documents.

Menyambungkan ke sumber data lain

Sumber data lain didukung, termasuk:

  • Azure Cosmos DB
  • Elasticsearch
  • Server Azure SQL
  • Pinecone
  • Indeks Pembelajaran Mesin Azure

Untuk instruksi lebih lanjut tentang mengaktifkan sumber data ini, lihat repositori GitHub.

Memperbarui aplikasi web untuk menyertakan perubahan terbaru

Catatan

Mulai 1 Februari 2024, aplikasi web mengharuskan perintah startup aplikasi diatur ke python3 -m gunicorn app:app. Saat memperbarui aplikasi yang diterbitkan sebelum 1 Februari 2024, Anda perlu menambahkan perintah startup secara manual dari halaman App Service Configuration .

Sebaiknya tarik perubahan dari main cabang untuk kode sumber aplikasi web secara sering untuk memastikan bahwa Anda memiliki perbaikan bug, versi API, dan peningkatan terbaru. Selain itu, aplikasi web harus disinkronkan setiap kali versi API yang Anda gunakan dihentikan. Pertimbangkan untuk memilih tombol Watch atau Star di repositori GitHub aplikasi web untuk diberi tahu tentang perubahan dan pembaruan kode sumber.

Jika Anda belum mengkustomisasi aplikasi web, Anda dapat menggunakan langkah-langkah ini untuk menyinkronkannya:

  1. Buka aplikasi web Anda di portal Azure.

  2. Di menu sebelah kiri, di bawah Penyebaran, pilih Pusat Penyebaran.

  3. Pilih Sinkronkan di bagian atas panel, dan konfirmasikan bahwa aplikasi akan disebarkan ulang.

    Cuplikan layar tombol sinkronisasi aplikasi web pada portal Azure.

Jika Anda menyesuaikan atau mengubah kode sumber aplikasi, Anda perlu memperbarui kode sumber aplikasi secara manual dan menyebarkannya kembali:

  • Jika aplikasi Anda dihosting di GitHub, dorong perubahan kode Anda ke repositori Anda, lalu gunakan langkah-langkah sinkronisasi sebelumnya.
  • Jika Anda menyebarkan ulang aplikasi secara manual (misalnya, dengan menggunakan Azure CLI), ikuti langkah-langkah untuk strategi penyebaran Anda.

Menghapus instans Cosmos DB Anda

Menghapus aplikasi web Anda tidak menghapus instans Cosmos DB Anda secara otomatis. Untuk menghapus instans Cosmos DB Bersama dengan semua obrolan yang disimpan, Anda perlu membuka sumber daya terkait di portal Azure dan menghapusnya. Jika Anda menghapus sumber daya Cosmos DB tetapi tetap memilih opsi riwayat obrolan pada pembaruan berikutnya dari portal Azure AI Foundry, aplikasi akan memberi tahu pengguna tentang kesalahan koneksi. Namun, pengguna dapat terus menggunakan aplikasi web tanpa akses ke riwayat obrolan.

Mengaktifkan autentikasi ID Microsoft Entra antar layanan

Untuk mengaktifkan ID Microsoft Entra untuk autentikasi intra-layanan untuk aplikasi web Anda, ikuti langkah-langkah berikut.

Mengaktifkan identitas terkelola pada sumber daya Azure OpenAI dan Azure App Service Anda

Anda dapat mengaktifkan identitas terkelola untuk sumber daya Azure OpenAI dan Azure App Service dengan menavigasi ke "Identitas" dan mengaktifkan identitas terkelola yang ditetapkan sistem di portal Azure untuk setiap sumber daya.

Cuplikan layar yang memperlihatkan konfigurasi identitas aplikasi di portal Azure.

Catatan

Jika Anda menggunakan model penyematan yang disebarkan ke sumber daya yang sama yang digunakan untuk inferensi, Anda hanya perlu mengaktifkan identitas terkelola pada satu sumber daya Azure OpenAI. Jika menggunakan model penyematan yang disebarkan ke sumber daya yang berbeda dari yang digunakan untuk inferensi, Anda juga perlu mengaktifkan identitas terkelola pada sumber daya Azure OpenAI yang digunakan untuk menyebarkan model penyematan Anda.

Mengaktifkan kontrol akses berbasis peran (RBAC) pada sumber daya Azure Search Anda (opsional)

Jika menggunakan On Your Data dengan Azure Search, Anda harus mengikuti langkah ini.

Untuk mengaktifkan sumber daya Azure OpenAI Anda untuk mengakses sumber daya Azure Search, Anda perlu mengaktifkan kontrol akses berbasis peran pada sumber daya Azure Search Anda. Pelajari selengkapnya tentang mengaktifkan peran RBAC untuk sumber daya Anda.

Menetapkan peran RBAC untuk mengaktifkan komunikasi intra-service

Tabel berikut ini meringkas penetapan peran RBAC yang diperlukan untuk semua sumber daya Azure yang terkait dengan aplikasi Anda.

Peran Penerima tugas Sumber daya
Search Index Data Reader Azure OpenAI (Inferensi) Pencarian Azure AI
Search Service Contributor Azure OpenAI (Inferensi) Pencarian Azure AI
Cognitive Services OpenAI User Aplikasi web Azure OpenAI (Inferensi)
Cognitive Services OpenAI User Azure OpenAI (Inferensi) Azure OpenAI (Penyematan)

Untuk menetapkan peran ini, ikuti instruksi ini untuk membuat penetapan peran yang diperlukan.

Perubahan Pengaturan Aplikasi

Di pengaturan aplikasi webapp, navigasikan ke "Variabel Lingkungan" dan buat perubahan berikut:

  • Hapus variabel AZURE_OPENAI_KEYlingkungan , karena tidak lagi diperlukan.
  • Jika menggunakan On Your Data dengan Azure Search dan menggunakan autentikasi MICROSOFT Entra ID antara Azure OpenAI dan Azure Search, Anda juga harus menghapus AZURE_SEARCH_KEY variabel lingkungan untuk kunci akses sumber data juga.

Jika menggunakan model penyematan yang disebarkan ke sumber daya yang sama dengan model Anda yang digunakan untuk inferensi, tidak ada perubahan pengaturan lain yang diperlukan.

Namun, jika Anda menggunakan model penyematan yang disebarkan ke sumber daya yang berbeda, buat perubahan tambahan berikut pada variabel lingkungan aplikasi Anda:

  • Atur AZURE_OPENAI_EMBEDDING_ENDPOINT variabel ke jalur API lengkap DARI API penyematan untuk sumber daya yang Anda gunakan untuk penyematan, misalnya, https://<your Azure OpenAI Service resource name>.openai.azure.com/openai/deployments/<your embedding deployment name>/embeddings
  • AZURE_OPENAI_EMBEDDING_KEY Hapus variabel untuk menggunakan autentikasi ID Microsoft Entra.

Setelah semua perubahan variabel lingkungan selesai, mulai ulang aplikasi web untuk mulai menggunakan autentikasi ID Microsoft Entra antar layanan di aplikasi web. Diperlukan waktu beberapa menit setelah menghidupkan ulang agar perubahan pengaturan apa pun diterapkan.