Aracılığıyla paylaş


Azure İşlevleri için Azure OpenAI uzantısı

Önemli

Azure İşlevleri için Azure OpenAI uzantısı şu anda önizleme aşamasındadır.

Azure İşlevleri için Azure OpenAI uzantısı, Foundry Modellerinde Azure OpenAI'nin özelliklerini ve davranışlarını işlev kodu yürütmelerinizle kolayca tümleştirmenizi sağlayan bir dizi tetikleyici ve bağlama uygular.

Azure İşlevleri, diğer Azure hizmetlerine kolayca bağlanmak için bir dizi tetikleyici ve bağlama sağlayan olay temelli bir işlem hizmetidir.

Azure OpenAI ile İşlevler arasındaki tümleştirmeyle şunları yapabilecek işlevler oluşturabilirsiniz:

Eylem Tetikleyici/bağlama türü
İçerik tamamlama için standart metin istemi kullanma Azure OpenAI metin tamamlama giriş bağlaması
İşlev çağırmak için yardımcı isteğine yanıt verme Azure OpenAI yardımcısı tetikleyicisi
Yardımcı oluşturma Azure OpenAI yardımcısı çıkış bağlaması oluşturma
Yardımcıya ileti gönderin Giriş bağlama sonrası Azure OpenAI yardımcısı
Yardımcı geçmişini alma Azure OpenAI yardımcısı sorgu giriş bağlaması
Metin eklemeleri okuma Azure OpenAI eklemeleri giriş bağlaması
Vektör veritabanına yazma Azure OpenAI embeddings store çıkış bağlaması
Vektör veritabanından okuma Azure OpenAI anlamsal arama giriş bağlaması

Uzantıyı yükleme

Yüklediğiniz NuGet uzantısı, işlev uygulamanızda kullandığınız C# moduna veya yalıtılmış çalışan işlemine bağlıdır:

.NET CLI kullanarak yapabileceğiniz Microsoft.Azure.Functions.Worker.Extensions.OpenAI NuGet paketini yükleyerek Azure OpenAI uzantısını projenize ekleyin:

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

İçerik depolamak için vektör veritabanı kullanırken şu NuGet paketlerinden en az birini de yüklemeniz gerekir:

Paket yükleme

Bu önizleme bağlama uzantısını uygulamanızda kullanabilmek için bu uzantıyı içeren bir önizleme uzantısı paketine başvurmanız gerekir.

Dosyanıza host.json , özellikle 4.x paketinin en son önizleme sürümünü hedefleyen aşağıdaki kodu ekleyin veya değiştirin:

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

En son önizleme paketi sürümünün önizleme uzantısını içerdiğini doğrulamak için önceki bağlantıyı seçin.

OpenAI'ye bağlanma

Azure OpenAI bağlama uzantısını kullanmak için OpenAI'ye bir bağlantı belirtmeniz gerekir. Bu bağlantı, uygulama ayarları ve tetikleyicinin AIConnectionName veya bağlamanın özelliği kullanılarak tanımlanır. Anahtar tabanlı bağlantıları tanımlamak için ortam değişkenlerini de kullanabilirsiniz.

Yönetilen kimlik tabanlı bağlantıları ve AIConnectionName özelliğini kullanmanızı öneririz.

OpenAI bağlamaları, Azure OpenAI bağlantısını tanımlayan bu uygulama ayarları grubu için öğesini belirtmek AIConnectionName için kullanabileceğiniz bir <ConnectionNamePrefix> özelliğe sahiptir:

Ayar adı Açıklama
<CONNECTION_NAME_PREFIX>__endpoint Döküm Modellerinde Azure OpenAI'nin URI uç noktasını ayarlar. Bu ayar her zaman gereklidir.
<CONNECTION_NAME_PREFIX>__clientId Erişim belirteci alırken kullanılacak kullanıcı tarafından atanan belirli kimliği ayarlar. <CONNECTION_NAME_PREFIX>__credential değerinin managedidentity olarak ayarlanmasını gerektirir. özelliği, uygulamaya atanan kullanıcı tarafından atanan kimliğe karşılık gelen bir istemci kimliğini kabul eder. Hem Kaynak kimliği hem de istemci kimliği belirtmek geçersiz. Belirtilmezse, sistem tarafından atanan kimlik kullanılır. Bu özellik, ayar edilmemesi gereken yerel geliştirme senaryolarında credentialfarklı şekilde kullanılır.
<CONNECTION_NAME_PREFIX>__credential Bağlantı için erişim belirtecinin nasıl alınlendiğini tanımlar. Yönetilen kimlik kimlik doğrulaması için kullanın managedidentity . Bu değer yalnızca barındırma ortamında yönetilen kimlik kullanılabilir olduğunda geçerlidir.
<CONNECTION_NAME_PREFIX>__managedIdentityResourceId credential olarak ayarlandığındamanagedidentity, bu özellik belirteç alınırken kullanılacak kaynak Tanımlayıcısını belirtmek üzere ayarlanabilir. özelliği, kullanıcı tanımlı yönetilen kimliğin kaynak kimliğine karşılık gelen bir kaynak tanımlayıcısını kabul eder. Hem kaynak kimliği hem de istemci kimliği belirtmek geçersiz. Hiçbiri belirtilmezse, sistem tarafından atanan kimlik kullanılır. Bu özellik, ayar edilmemesi gereken yerel geliştirme senaryolarında credentialfarklı şekilde kullanılır.
<CONNECTION_NAME_PREFIX>__key Anahtar tabanlı kimlik doğrulamasını kullanarak Azure OpenAI'nin uç noktasına erişmek için gereken paylaşılan gizli anahtarı ayarlar. En iyi güvenlik uygulaması olarak, kimlik doğrulaması için her zaman yönetilen kimliklerle Microsoft Entra Id kullanmalısınız.

Ardından AIConnectionName özellik olarak ayarlandığında myAzureOpenAIbu yönetilen kimlik bağlantı ayarlarını göz önünde bulundurun:

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

Çalışma zamanında, bu ayarlar konak tarafından aşağıdaki gibi tek myAzureOpenAI bir ayar olarak toplu olarak yorumlanır:

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

Yönetilen kimlikleri kullanırken, kimliğinizi Bilişsel Hizmetler OpenAI Kullanıcı rolüne eklediğinizden emin olun.

Yerel olarak çalışırken, bu ayarları local.settings.json proje dosyasına eklemeniz gerekir. Daha fazla bilgi için bkz. Kimlik tabanlı bağlantılarla yerel geliştirme.

Daha fazla bilgi için bkz . Uygulama ayarlarıyla çalışma.