Bagikan melalui


Ekstensi Azure OpenAI untuk Azure Functions

Penting

Ekstensi Azure OpenAI untuk Azure Functions saat ini dalam pratinjau.

Ekstensi Azure OpenAI untuk Azure Functions menerapkan serangkaian pemicu dan pengikatan yang memungkinkan Anda dengan mudah mengintegrasikan fitur dan perilaku Azure OpenAI Service ke dalam eksekusi kode fungsi Anda.

Azure Functions adalah layanan komputasi berbasis peristiwa yang menyediakan serangkaian pemicu dan pengikatan untuk terhubung dengan layanan Azure lainnya dengan mudah.

Dengan integrasi antara Azure OpenAI dan Functions, Anda dapat membangun fungsi yang dapat:

Perbuatan Jenis pemicu/pengikatan
Menggunakan perintah teks standar untuk penyelesaian konten Pengikatan input penyelesaian teks Azure OpenAI
Menanggapi permintaan asisten untuk memanggil fungsi Pemicu asisten Azure OpenAI
Membuat asisten Asisten Azure OpenAI membuat pengikatan output
Mengirim pesan kepada asisten Pengikatan input pasca asisten Azure OpenAI
Mendapatkan riwayat asisten Pengikatan input kueri asisten Azure OpenAI
Membaca penyematan teks Pengikatan input penyematan Azure OpenAI
Menulis ke database vektor Penyematan Azure OpenAI menyimpan pengikatan output
Membaca dari database vektor Pengikatan input pencarian semantik Azure OpenAI

Menginstal ekstensi

Paket NuGet ekstensi yang Anda instal tergantung pada mode C# dalam proses atau proses pekerja terisolasi yang Anda gunakan di aplikasi fungsi Anda:

Tambahkan ekstensi Azure OpenAI ke proyek Anda dengan menginstal paket Microsoft.Azure.Functions.Worker.Extensions.OpenAI NuGet, yang dapat Anda lakukan menggunakan .NET CLI:

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.OpenAI  --prerelease

Saat menggunakan database vektor untuk menyimpan konten, Anda juga harus menginstal setidaknya salah satu paket NuGet ini:

Memasang bundel

Anda dapat menambahkan ekstensi pratinjau dengan menambahkan atau mengganti kode berikut dalam file Anda host.json , yang secara khusus menargetkan versi pratinjau bundel 4.x yang berisi ekstensi OpenAI:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.*, 5.0.0)"
  }
}

Menyambungkan ke OpenAI

Untuk menggunakan ekstensi pengikatan Azure OpenAI, Anda perlu menentukan koneksi ke OpenAI. Koneksi ini didefinisikan menggunakan pengaturan aplikasi, dan AIConnectionName properti pemicu atau pengikatan. Anda juga dapat menggunakan variabel lingkungan untuk menentukan koneksi berbasis kunci.

Kami menyarankan agar Anda menggunakan koneksi berbasis identitas terkelola dan AIConnectionName properti .

Pengikatan OpenAI memiliki AIConnectionName properti yang dapat Anda gunakan untuk menentukan <ConnectionNamePrefix> untuk grup pengaturan aplikasi ini yang menentukan koneksi ke Azure OpenAI:

Nama pengaturan Deskripsi
<CONNECTION_NAME_PREFIX>__endpoint Mengatur titik akhir URI layanan Azure OpenAI. Pengaturan ini selalu diperlukan.
<CONNECTION_NAME_PREFIX>__clientId Mengatur identitas tertentu yang ditetapkan pengguna untuk digunakan saat mendapatkan token akses. Memerlukan agar <CONNECTION_NAME_PREFIX>__credential diatur ke managedidentity. Properti menerima ID klien yang sesuai dengan identitas yang ditetapkan pengguna yang ditetapkan ke aplikasi. Tidak valid untuk menentukan ID Sumber Daya dan ID klien. Jika tidak ditentukan, identitas yang ditetapkan sistem akan digunakan. Properti ini digunakan secara berbeda dalam skenario pengembangan lokal, kapan credential tidak boleh diatur.
<CONNECTION_NAME_PREFIX>__credential Menentukan bagaimana token akses diperoleh untuk koneksi. Gunakan managedidentity untuk autentikasi identitas terkelola. Nilai ini hanya valid ketika identitas terkelola tersedia di lingkungan hosting.
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId Ketika credential diatur ke managedidentity, properti ini dapat diatur untuk menentukan Pengidentifikasi sumber daya yang akan digunakan saat mendapatkan token. Properti menerima pengidentifikasi sumber daya yang sesuai dengan ID sumber daya identitas terkelola yang ditentukan pengguna. Tidak valid untuk menentukan ID sumber daya dan ID klien. Jika tidak ditentukan, identitas yang ditetapkan sistem akan digunakan. Properti ini digunakan secara berbeda dalam skenario pengembangan lokal, kapan credential tidak boleh diatur.
<CONNECTION_NAME_PREFIX>__key Mengatur kunci rahasia bersama yang diperlukan untuk mengakses titik akhir layanan Azure OpenAI menggunakan autentikasi berbasis kunci. Sebagai praktik terbaik keamanan, Anda harus selalu menggunakan ID Microsoft Entra dengan identitas terkelola untuk autentikasi.

Pertimbangkan pengaturan koneksi identitas terkelola ini saat properti diatur AIConnectionName ke myAzureOpenAI:

  • myAzureOpenAI__endpoint=https://contoso.openai.azure.com/
  • myAzureOpenAI__credential=managedidentity
  • myAzureOpenAI__clientId=aaaaaaaa-bbbb-cccc-1111-222222222222

Pada runtime, pengaturan ini secara kolektif ditafsirkan oleh host sebagai satu myAzureOpenAI pengaturan seperti ini:

"myAzureOpenAI":
{
    "endpoint": "https://contoso.openai.azure.com/",
    "credential": "managedidentity",
    "clientId": "aaaaaaaa-bbbb-cccc-1111-222222222222"
}

Saat menggunakan identitas terkelola, pastikan untuk menambahkan identitas Anda ke peran Pengguna OpenAI Cognitive Services .

Saat berjalan secara lokal, Anda harus menambahkan pengaturan ini ke file proyek local.settings.json . Untuk informasi selengkapnya, lihat Pengembangan lokal dengan koneksi berbasis identitas.

Untuk informasi selengkapnya, harap lihat Bekerja dengan pengaturan aplikasi.