Aracılığıyla paylaş


Agent Framework ile Microsoft Purview SDK'sı kullanma

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.

Önkoşullar

Başlamadan önce şunların olduğundan 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.
  • Agent Framework SDK'sı: Agent Framework SDK'sını yüklemek için:
    • Python: komutunu çalıştırın pip install agent-framework --pre.
    • .NET: NuGet'ten yükleyin.

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.OpenAI;
using Azure.Core;
using Azure.Identity;
using Microsoft.Agents.AI;
using Microsoft.Agents.AI.Purview;
using Microsoft.Extensions.AI;
using OpenAI;

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 AzureOpenAIClient(
    new Uri(endpoint),
    new DefaultAzureCredential())
    .GetChatClient(deploymentName)
    .AsAIAgent("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);

Uyarı

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, Role
from agent_framework.azure import AzureOpenAIChatClient
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_DEPLOYMENT_NAME", "<azureOpenAIChatDeploymentName>")

async def main():
    chat_client = AzureOpenAIChatClient(credential=AzureCliCredential())
    purview_middleware = PurviewPolicyMiddleware(
        credential=InteractiveBrowserCredential(
            client_id="<clientId>",
        ),
        settings=PurviewSettings(app_name="My Secure Agent")
    )
    agent = Agent(
        chat_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())

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:

  1. 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.
  2. 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.

Kaynaklar