Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Microsoft Purview, yapay zeka uygulamaları için kurumsal düzeyde veri güvenliği, uyumluluk ve idare özellikleri sağlar. Geliştiriciler, Purview API'lerini Agent Framework SDK'sı ile tümleştirerek tasarım gereği güvenli akıllı aracılar oluşturabilirken, istemlerdeki ve yanıtlardaki hassas verilerin korunmasını ve kuruluş ilkeleriyle uyumlu olmasını sağlayabilir.
Purview neden Agent Framework ile tümleştirilmelidir?
- Hassas veri sızıntılarını önleme: Veri Kaybı Önleme (DLP) ilkelerine göre hassas içeriğin satır içi engellenmesi.
- İdareyi etkinleştirme: Denetim, İletişim Uyumluluğu, Insider Risk Yönetimi, eBulma ve Veri Yaşam Döngüsü Yönetimi için Purview'da yapay zeka etkileşimlerini günlüğe kaydetme.
- Benimsemeyi hızlandırma: Kurumsal müşteriler, yapay zeka uygulamaları için uyumluluk gerektirir. Purview tümleştirmesi dağıtımın engelini kaldırır.
Prerequisites
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Microsoft Purview'un yapılandırıldığı Microsoft Azure aboneliği.
- E5 lisansına ve kullandıkça öde faturalama kurulumuna sahip Microsoft 365 aboneliği.
- Test yapmak için bir Microsoft 365 Geliştirici Programı hesabı kullanabilirsiniz. Daha fazla bilgi için bkz. Microsoft 365 Geliştirici Programı'na katılma.
- Agent Framework SDK'sı: Agent Framework SDK'sını yüklemek için:
- Python: komutunu çalıştırın
pip install agent-framework. - .NET: NuGet'ten yükleyin.
- Python: komutunu çalıştırın
Microsoft Purview'u aracınızla tümleştirme
Aracınızın iş akışı ara yazılım işlem hattında, Microsoft Purview tarafından ayarlanan ilkeleri karşılayıp karşılamadığını belirlemek üzere istemleri ve yanıtları yakalamak için Microsoft Purview ilke ara yazılımı ekleyebilirsiniz. Agent Framework SDK, ajandan ajansa veya son kullanıcının sohbet istemcisi isteklerini ve yanıtlarını kesebilme özelliğine sahiptir.
Aşağıdaki kod örneği, Aracı kodunuza Microsoft Purview ilkesi ara yazılımının nasıl ekleneceğini gösterir. Agent Framework'te yeniyseniz bkz. Agent Framework ile aracı oluşturma ve çalıştırma.
using Azure.AI.Projects;
using Azure.Core;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Purview;
string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? throw new InvalidOperationException("AZURE_OPENAI_ENDPOINT is not set.");
string deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME") ?? "gpt-4o-mini";
string purviewClientAppId = Environment.GetEnvironmentVariable("PURVIEW_CLIENT_APP_ID") ?? throw new InvalidOperationException("PURVIEW_CLIENT_APP_ID is not set.");
TokenCredential browserCredential = new InteractiveBrowserCredential(
new InteractiveBrowserCredentialOptions
{
ClientId = purviewClientAppId
});
AIAgent agent = new AIProjectClient(
new Uri(endpoint),
new DefaultAzureCredential())
.AsAIAgent(
model: deploymentName,
instructions: "You are a secure assistant.")
.AsBuilder()
.WithPurview(browserCredential, new PurviewSettings("My Secure Agent"))
.Build();
AgentResponse response = await agent.RunAsync("Summarize zero trust in one sentence.").ConfigureAwait(false);
Console.WriteLine(response);
Warning
DefaultAzureCredential geliştirme için uygundur ancak üretimde dikkatli bir şekilde dikkate alınması gerekir. Üretimde gecikme sorunları, istenmeyen kimlik bilgisi yoklama ve geri dönüş mekanizmalarından kaynaklanan olası güvenlik risklerini önlemek için belirli bir kimlik bilgisi (ör ManagedIdentityCredential. ) kullanmayı göz önünde bulundurun.
import asyncio
import os
from agent_framework import Agent, Message
from agent_framework.openai import OpenAIChatCompletionClient
from agent_framework.microsoft import PurviewPolicyMiddleware, PurviewSettings
from azure.identity import AzureCliCredential, InteractiveBrowserCredential
# Set default environment variables if not already set
os.environ.setdefault("AZURE_OPENAI_ENDPOINT", "<azureOpenAIEndpoint>")
os.environ.setdefault("AZURE_OPENAI_CHAT_COMPLETION_MODEL", "<azureOpenAIChatDeploymentName>")
async def main():
chat_client = OpenAIChatCompletionClient(
model=os.environ["AZURE_OPENAI_CHAT_COMPLETION_MODEL"],
azure_endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
credential=AzureCliCredential(),
)
purview_middleware = PurviewPolicyMiddleware(
credential=InteractiveBrowserCredential(
client_id="<clientId>",
),
settings=PurviewSettings(app_name="My Secure Agent")
)
agent = Agent(
client=chat_client,
instructions="You are a secure assistant.",
middleware=[purview_middleware]
)
response = await agent.run(Message(role='user', contents=["Summarize zero trust in one sentence."]))
print(response)
if __name__ == "__main__":
asyncio.run(main())
Python içerik değerlendirmesi ve zorunlu kılma
Ara yazılım, yalnızca düz metin değil, boş olmayan her ileti içerik öğesini değerlendirir. Metin ve muhakeme metni metin olarak değerlendirilir. Base64 veri URI yükleri ikili içerik olarak değerlendirilir. Base64 olmayan veriler, URI içeriği, işlev çağrıları, işlev sonuçları ve diğer yapılandırılmış içerik, atlanmamaları için metin olarak serileştirilir. Yalnızca boş içerik ve usage içerik atlanır.
Ara yazılım kullanıcı kimliğini, kiracıyı veya uygulama konumunu çözümleyemediğinde ilke değerlendirmesi kapatılamıyor. Kimliği, çağıran tarafından kontrol edilen mesaj alanlarından değil, sunucu tarafında doğrulanmış bir belirteçten türetin.
ignore_exceptions değerini yalnızca, zorunlu kılma yerine bilerek kullanılabilirliği tercih ettiğiniz durumlarda ayarlayın; bu ayar, her hata için zorunlu kılmayı devre dışı bırakır.
Python ara yazılım yerleşimini seçin
PurviewPolicyMiddleware ve PurviewChatPolicyMiddleware, farklı işlem hattı sınırlarında aynı ilkeleri zorunlu kılar:
| Behavior | Aracı ara yazılımı | Sohbet middleware'i |
|---|---|---|
| Değerlendirme kapsamı | Ajan çalıştırması başına çağıranın girişini ve son yanıtını değerlendirir. | Her model çağrısında hazırlanan isteği ve yanıtı değerlendirir. |
| Araç ve bağlam verileri | Araç çalışmadan önce bağlam sağlayıcı çıkışını veya modelin araç çağrısını değerlendirmez. | Yürütmeden önce bağlam sağlayıcısı çıkışını, yeniden oynatılan geçmişi ve model aracı çağrılarını değerlendirir. Araç sonuçları bir sonraki model çağrısında değerlendirilir. |
| Engellenen yanıt geçmişi | Ara yazılım, çağıran için onu değiştirmeden önce özgün yanıt zaten depolanmış olabilir. | Değiştirme, Agent Framework dönüşü depolamadan önce kullanılabilir. Sağlayıcı tarafından yönetilen depolama hala özgün yanıtı koruyabilir. |
İlkenin model isteğinin tamamını kapsaması gerektiğinde veri kaybı önleme için kullanın PurviewChatPolicyMiddleware . Aracı çalıştırma sınırında tek bir denetim yeterli olduğunda kullanın PurviewPolicyMiddleware . Her iki ara yazılım listesinde de Purview ara yazılımını en sonda yerleştirin; böylece Purview değerlendirdikten sonra sonraki ara yazılımlar içeriği değiştiremez.
Her iki ara yazılım türü de akışlı yanıtı tam olarak arabelleğe alır ve herhangi bir güncelleştirme yayınlamadan önce bu yanıtı değerlendirir. Bu nedenle Purview ara yazılımı ekliyken akış içeriği artımlı olarak teslim etmez.
Sonraki Adımlar
Yukarıdaki kodu aracınıza eklediğinize göre, Microsoft Purview'un kodunuzla tümleştirmesini test etmek için aşağıdaki adımları gerçekleştirin:
- Entra kaydı: Aracınızı kaydedin ve gerekli Microsoft Graph izinlerini (ProtectionScopes.Compute.All, ContentActivity.Write, Content.Process.All) Service Principal'a ekleyin. Daha fazla bilgi için bkz. Microsoft Entra Id ve dataSecurityAndGovernance kaynak türüne uygulama kaydetme. Sonraki adımda Microsoft Entra uygulama kimliğine ihtiyacınız olacak.
- Purview ilkeleri: Aracı iletişim verilerinin Purview'a akmasını sağlamak için Microsoft Entra uygulama kimliğini kullanarak Purview ilkelerini yapılandırın. Daha fazla bilgi için bkz . Microsoft Purview'u yapılandırma.
Resources
- Nuget: Microsoft. Agents.AI.Purview
- Github: Microsoft. Agents.AI.Purview
- Örnek: AgentWithPurview
Uyarı
Bu özellik için Go desteği yakında sunulacaktır. En son durum için bkz. Agent Framework Go deposu .