Grundlegende Referenzarchitektur für Azure AI Foundry-Chats
Dieser Artikel enthält eine grundlegende Architektur, mit der Sie erfahren können, wie Sie Chatanwendungen mithilfe von Azure AI Foundry - und Azure OpenAI-Sprachmodellen ausführen. Die Architektur enthält eine Client-Benutzeroberfläche (UI), die in Azure App Service ausgeführt wird. Zum Abrufen von Bodendaten für das Sprachmodell verwendet die Benutzeroberfläche einen Azure AI-Agent, um den Workflow von eingehenden Eingabeaufforderungen in Datenspeicher zu koordinieren. Die Architektur wurde für den Betrieb aus einer einzelnen Region heraus entwickelt.
Von Bedeutung
Diese Architektur ist nicht für Produktionsanwendungen vorgesehen. Es handelt sich um eine einführungsorientierte Architektur für Lern- und Machbarkeits- (Proof-of-Concept, POC)-Zwecke. Wenn Sie Ihre Produktions-Enterprise-Chatanwendungen entwerfen, verwenden Sie die Referenzarchitektur des Basis-KI Foundry-Chats, die dieser grundlegenden Architektur Produktionsdesignentscheidungen hinzufügt.
Von Bedeutung
Eine Beispielimplementierung unterstützt diese Anleitung. Es enthält Bereitstellungsschritte für eine grundlegende End-to-End-Chat-Implementierung. Sie können diese Implementierung als Grundlage für Ihre POC verwenden, um mit Chatanwendungen zu arbeiten, die Azure AI Foundry Agents verwenden.
Architektur
Laden Sie eine Visio-Datei dieser Architektur herunter.
Arbeitsablauf
Der folgende Workflow entspricht dem vorherigen Diagramm:
Ein Anwendungsbenutzer interagiert mit einer Webanwendung, die Chatfunktionen enthält. Sie geben eine HTTPS-Anforderung an die Standarddomäne des App Service an
azurewebsites.net
. Diese Domäne verweist automatisch auf die integrierte öffentliche IP-Adresse des App-Diensts. Die Transport Layer Security-Verbindung wird vom Client direkt zu App Service hergestellt. Azure verwaltet das Zertifikat vollständig.Das App Service-Feature "Easy Auth" stellt sicher, dass der Benutzer, der auf die Website zugreift, über die Microsoft Entra-ID authentifiziert wird.
Der im App-Dienst bereitgestellte Anwendungscode verarbeitet die Anforderung und rendert eine Chat-UI für den Anwendungsbenutzer. Der Chat-UI-Code stellt eine Verbindung mit APIs bereit, die auch in derselben App Service-Instanz gehostet werden. Der API-Code stellt eine Verbindung mit einem Azure AI-Agent in Azure AI Foundry mithilfe des Azure AI Persistent Agents SDK her.
Der Azure AI Foundry Agent Service stellt eine Verbindung mit Azure AI Search her, um Erdungsdaten für die Abfrage abzurufen. Die Erdungsdaten werden der Eingabeaufforderung hinzugefügt, die im nächsten Schritt an das Azure OpenAI-Modell gesendet wird.
Der Foundry Agent Service stellt eine Verbindung mit einem Azure OpenAI-Modell her, das in Azure AI Foundry bereitgestellt wird, und sendet die Eingabeaufforderung, die die relevanten Erdungsdaten und den Chatkontext enthält.
Application Insights protokolliert Informationen über die ursprüngliche Anforderung an App Service und die Interaktionen des Anruf-Agents.
Komponenten
Viele komponenten dieser Architektur sind identisch mit der grundlegenden Webanwendungsarchitektur des App Service , da die Chat-UI auf dieser Architektur basiert. In diesem Abschnitt werden Datendienste, Komponenten, die Sie verwenden können, um Chatflüsse zu erstellen und zu koordinieren, sowie Dienste, die Sprachmodelle verfügbar machen.
Azure AI Foundry ist eine Plattform, die Sie zum Erstellen, Testen und Bereitstellen von KI-Lösungen und -Modellen als Dienst (MaaS) verwenden. Diese Architektur verwendet Azure AI Foundry, um ein Azure OpenAI-Modell bereitzustellen.
Azure AI Foundry-Projekte stellen Verbindungen zu Datenquellen her, definieren Agents und aufrufen bereitgestellte Modelle, einschließlich Azure OpenAI-Modelle. Diese Architektur verfügt nur über ein Azure AI Foundry-Projekt im Azure AI Foundry-Konto.
Der Foundry Agent Service ist eine Funktion, die in Azure AI Foundry gehostet wird. Entwickler verwenden diesen Dienst, um Agents für die Verarbeitung von Chatanfragen zu definieren und zu hosten. Sie verwaltet Chatthreads, koordiniert Toolanrufe, erzwingt die Sicherheit von Inhalten und integriert in Identitäts-, Netzwerk- und Observability-Systeme. In dieser Architektur koordiniert der Foundry Agent Service den Fluss, der geerdete Daten aus einer Instanz der KI-Suche abruft, und übergibt ihn zusammen mit der Eingabeaufforderung an das bereitgestellte Azure OpenAI-Modell.
Die im Foundry Agent Service definierten Agents sind codelos und effektiv nicht deterministisch. Ihre Systemaufforderung in Kombination mit
temperature
parametern undtop_p
definiert, wie sich die Agents für Anforderungen verhalten.Azure AI Foundry-Modelle ermöglichen Ihnen die Bereitstellung von Flaggschiffmodellen, einschließlich OpenAI-Modellen, aus dem Azure AI-Katalog in einer von Microsoft gehosteten Umgebung. Dieser Ansatz gilt als MaaS-Bereitstellung. Diese Architektur stellt Modelle mithilfe der Global Standard-Konfiguration mit einem festen Kontingent bereit.
AI Search ist ein Cloudsuchdienst, der Volltextsuche, semantischen Such-, Vektorsucheund Hybridsucheunterstützt. Diese Architektur umfasst KI-Suche, da sie häufig in Orchestrierungen hinter Chatanwendungen verwendet wird. Mit der KI-Suche können Sie indizierte Daten abrufen, die für Anwendungsbenutzerabfragen relevant sind. DIE KI-Suche dient als Wissensspeicher für das Muster "Abrufen erweiterter Generation ". Dieses Muster extrahiert eine geeignete Abfrage aus einer Eingabeaufforderung, fragt AI Search ab und verwendet die Ergebnisse als Grundlage für ein Azure OpenAI-Modell.
Überlegungen
Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.
Diese grundlegende Architektur ist nicht für Produktionsbereitstellungen vorgesehen. Die Architektur bevorzugt Einfachheit und Kosteneffizienz gegenüber Funktionen, sodass Sie erfahren können, wie Sie End-to-End-Chatanwendungen mithilfe von Azure AI Foundry und Azure OpenAI erstellen können. In den folgenden Abschnitten werden Mängel dieser grundlegenden Architektur beschrieben und Empfehlungen und Überlegungen beschrieben.
Zuverlässigkeit
Zuverlässigkeit trägt dazu bei, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie für Ihre Kunden vornehmen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.
In der folgenden Liste werden wichtige Zuverlässigkeitsfeatures beschrieben, die von dieser Architektur weggelassen werden:
Diese Architektur verwendet die App Service Basic-Ebene, die keine Azure-Verfügbarkeitszone unterstützt. Die App Service-Instanz ist nicht verfügbar, wenn Probleme mit der Instanz, dem Rack oder dem Rechenzentrum auftreten, das die Instanz hostt. Befolgen Sie bei der Umstellung auf die Produktion die Zuverlässigkeitsleitfaden für App Service-Instanzen.
Diese Architektur aktiviert keine automatische Skalierung für die Client-UI. Um Zuverlässigkeitsprobleme aufgrund ineffizienter Computeressourcen zu vermeiden, überschreiben Sie Ressourcen, die immer mit genügend Compute ausgeführt werden, um maximale gleichzeitige Kapazität zu verarbeiten.
Diese Architektur stellt den Foundry Agent Service als vollständig von Microsoft gehostete Lösung bereit. In dieser Konfiguration hostet Microsoft eine Azure Cosmos DB-Datenbank, einen Azure Storage-Kontocontainer und einen AI Search-Index in Ihrem Auftrag. Ihr Abonnement zeigt diese abhängigen Ressourcen nicht an. Sie haben keine Kontrolle über die Zuverlässigkeit des Foundry Agent Service oder deren Abhängigkeiten. Sie können die Kontrolle über diese Abhängigkeiten erwerben, um Aktionen wie die Implementierung einer Geschäftskontinuitäts- und Notfallwiederherstellungsstrategie auszuführen. Anleitungen zum Einbringen eigener Abhängigkeiten finden Sie in der Basisarchitektur.
Hinweis
Die KI-Suchinstanz im Abschnitt "Komponenten" und "Diagramm" unterscheidet sich von der Instanz, die eine Abhängigkeit des Foundry Agent Service darstellt. Die Instanz im Abschnitt "Komponenten" speichert Ihre Erdungsdaten. Die Abhängigkeit führt einen Echtzeitblocking von Dateien durch, die in einer Chatsitzung hochgeladen werden.
Für eine grundlegende Architektur, die auf das Lernen abzielt, können Sie den
Global Standard
Modellbereitstellungstyp verwenden. Wenn Sie in Richtung Produktion wechseln, sollten Sie eine bessere Vorstellung von Ihren Anforderungen an den Durchsatz und die Datenhaltung haben. Nachdem Sie ihre Durchsatzanforderungen verstanden haben, sollten Sie den bereitgestellten Durchsatz verwenden, indem Sie einen oderData Zone Provisioned
einenGlobal Provisioned
Bereitstellungstyp auswählen. Wenn Sie über Anforderungen für die Datenhaltung verfügen, wählen Sie denData Zone Provisioned
Bereitstellungstyp aus.Diese Architektur verwendet die AI Search Basic-Ebene, die Azure-Verfügbarkeitszonen nicht unterstützt. Um eine Zonalredundanz zu erreichen, stellen Sie die Preisstufe "AI Search Standard" oder höher in einer Region bereit, die Verfügbarkeitszonen unterstützt, und stellen Sie drei oder mehr Replikate bereit.
Weitere Informationen finden Sie in der Referenzarchitektur des Baseline AI Foundry-Chats.
Sicherheit
Sicherheit bietet Sicherheitsmaßnahmen gegen bewusste Angriffe und den Missbrauch Ihrer wertvollen Daten und Systeme. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Sicherheit.
In diesem Abschnitt werden die wichtigsten Empfehlungen beschrieben, die diese Architektur implementiert. Zu diesen Empfehlungen gehören Inhaltsfilterung und Missbrauchsüberwachung, Identitäts- und Zugriffsverwaltung sowie rollenbasierte Zugriffssteuerung. Diese Architektur wurde nicht für Produktionsbereitstellungen entwickelt, daher umfasst dieser Abschnitt auch die Netzwerksicherheit. Die Netzwerksicherheit ist ein wichtiges Sicherheitsfeature, das von dieser Architektur nicht implementiert wird.
Überwachung von Inhaltsfiltern und Missbrauch
Azure AI Foundry enthält ein Inhaltsfiltersystem , das eine Kombination aus Klassifizierungsmodellen verwendet. Diese Filterung erkennt und blockiert bestimmte Kategorien potenziell schädlicher Inhalte in Eingabeaufforderungen und Ausgabeabschlussen. Diese potenziell schädlichen Inhalte umfassen Hass-, sexuelle Inhalte, Selbstschäden, Gewalt, Profanität und Jailbreak (Inhalte zur Umgehung von Sprachmodellbeschränkungen). Sie können die Filter strictness für jede Kategorie konfigurieren, indem Sie niedrige, mittlere oder hohe Optionen verwenden. Diese Referenzarchitektur verwendet beim Bereitstellen von Modellen den DefaultV2
Inhaltsfilter. Sie können die Einstellungen entsprechend Ihren Anforderungen anpassen.
Identitäts- und Zugriffsverwaltung
Die folgenden Anleitungen erweitern die Identitäts- und Zugriffsverwaltungsanleitungen in der Basisarchitektur des App-Diensts. Die Chat-UI verwendet ihre verwaltete Identität, um den Chat-UI-API-Code beim Foundry Agent Service mithilfe des Azure AI Persistent Agents SDK zu authentifizieren.
Das Azure AI Foundry-Projekt verfügt auch über eine verwaltete Identität. Diese Identität authentifiziert sich bei Diensten wie der KI-Suche über Verbindungsdefinitionen. Das Projekt stellt diese Verbindungen dem Foundry Agent Service zur Verfügung.
Ein Azure AI Foundry-Konto kann mehrere Azure AI Foundry-Projekte enthalten. Jedes Projekt sollte eine eigene vom System zugewiesene verwaltete Identität verwenden. Wenn unterschiedliche Workloadkomponenten isolierten Zugriff auf verbundene Datenquellen erfordern, erstellen Sie separate Azure AI Foundry-Projekte innerhalb desselben Kontos, und vermeiden Sie die Freigabe von Verbindungen über diese. Wenn Ihre Workload keine Isolation erfordert, verwenden Sie ein einzelnes Projekt.
Rollen für den rollenbasierten Zugriff
Sie sind für das Erstellen der erforderlichen Rollenzuweisungen für die vom System zugewiesenen verwalteten Identitäten verantwortlich. In der folgenden Tabelle sind die Rollenzuweisungen zusammengefasst, die Sie dem App Service, dem Azure AI Foundry-Projekt und Personen hinzufügen müssen, die das Portal verwenden:
Ressource | Rolle | Umfang |
---|---|---|
App-Dienst | Azure AI-Benutzer | Azure AI Foundry-Konto |
Azure KI Foundry-Projekt | Suchindexdatenleser | KI-Suche |
Portalbenutzer (für jede Person) | Azure KI-Entwickler | Azure AI Foundry-Konto |
Netzwerksicherheit
Um die Lernerfahrung beim Erstellen einer End-to-End-Chat-Lösung zu vereinfachen, implementiert diese Architektur keine Netzwerksicherheit. Die Identität wird als Umkreis verwendet und öffentliche Cloud-Konstrukte verwendet. Dienste wie AI Search, Azure AI Foundry und App Service sind über das Internet erreichbar. Diese Einrichtung erhöht die Angriffsfläche der Architektur.
Diese Architektur schränkt auch den Ausgehenden Datenverkehr nicht ein. Beispielsweise kann ein Agent so konfiguriert werden, dass eine Verbindung mit einem beliebigen öffentlichen Endpunkt hergestellt wird, basierend auf der OpenAPI-Spezifikation des Endpunkts. Daher können Datenexfiltration privater Erdungsdaten nicht durch Netzwerksteuerelemente verhindert werden.
Weitere Informationen zur Netzwerksicherheit als zusätzlicher Umkreis in Ihrer Architektur finden Sie unter Networking.
Verteidiger
Für diese grundlegende Architektur müssen Sie keine Microsoft Defender-Cloudworkloadschutzpläne für dienste aktivieren. Wenn Sie zur Produktion wechseln, befolgen Sie die Sicherheitsanleitungen in der Basisarchitektur für Microsoft Defender, die mehrere Pläne verwendet, um Ihre Workload abzudecken.
Governance durch Richtlinie
Diese Architektur implementiert keine Governance über Azure-Richtlinie. Befolgen Sie bei der Umstellung auf die Produktion die Governanceempfehlungen in der Basisarchitektur. Diese Empfehlungen fügen Azure-Richtlinie in den Komponenten Ihrer Workload hinzu.
Kostenoptimierung
Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.
Diese grundlegende Architektur stellt nicht die Kosten für eine produktionsfähige Lösung dar. Außerdem sind keine Steuerelemente zum Schutz vor Kostenüberläufen enthalten. Die folgenden Überlegungen beschreiben wichtige Features, die diese Architektur nicht enthält. Diese Features wirken sich auf Kosten aus.
Bei dieser Architektur wird davon ausgegangen, dass das bereitgestellte Azure OpenAI-Modell begrenzte Anrufe empfängt. Es wird daher empfohlen, den
Global Standard
Bereitstellungstyp für die Preise für "Pay-as-you-go" anstelle eines bereitgestellten Bereitstellungstyps für den Durchsatz zu verwenden. Wenn Sie zu einer Produktionslösung wechseln, befolgen Sie die Richtlinien zur Kostenoptimierung in der Basisarchitektur.Der Foundry Agent Service verursacht Kosten für Dateien, die während Chatinteraktionen hochgeladen wurden. Stellen Sie den Anwendungsbenutzern keine Dateiuploadfunktionen zur Verfügung, wenn sie nicht Teil der gewünschten Benutzererfahrung ist. Zusätzliche Wissensverbindungen, z. B. das Grounding mit Bing-Tool, verfügen über eigene Preisstrukturen.
Der Foundry Agent Service ist eine Code-No-Code-Lösung, was bedeutet, dass Sie die Tools oder Wissensquellen, die jede Anforderung aufruft, nicht deterministisch steuern können. Gehen Sie bei der Kostenmodellierung von der maximalen Nutzung jeder Verbindung aus.
Diese Architektur verwendet die Preisstufe "App Service Basic" für eine einzelne Instanz, die keinen Schutz vor einem Ausfall der Verfügbarkeitszone bietet. Die grundlegende App Service-Architektur empfiehlt, Premium-Pläne mit drei oder mehr Arbeitsinstanzen für hohe Verfügbarkeit zu verwenden. Dieser Ansatz wirkt sich auf Ihre Kosten aus.
Diese Architektur verwendet das Preisniveau "AI Search Basic" ohne hinzugefügte Replikate. Diese Topologie kann einem Azure-Verfügbarkeitszonenfehler nicht standhalten. Die geplante End-to-End-Chatarchitektur empfiehlt, Ihre Arbeitsauslastung mit der Standardpreisstufe oder höher bereitzustellen und drei oder mehr Replikate bereitzustellen. Dieser Ansatz kann sich auf Ihre Kosten auswirken, während Sie zur Produktion wechseln.
Diese Architektur enthält keine Kostengovernance oder Eindämmungssteuerelemente. Stellen Sie sicher, dass Sie vor nicht geregelten Prozessen oder Nutzungen schützen, die möglicherweise hohe Kosten für kostenpflichtige Dienste wie bereitgestellte Modelle in Azure AI Foundry verursachen.
Operative Exzellenz
„Optimaler Betrieb“ deckt die Betriebsprozesse ab, die für die Bereitstellung einer Anwendung und deren Ausführung in der Produktion sorgen. Weitere Informationen finden Sie unter Checkliste für die Designüberprüfung zur betrieblichen Exzellenz.
Überwachung
Diese Architektur konfiguriert die Diagnose für alle Dienste. Alle Dienste mit Ausnahme von App Service- und Azure AI Foundry-Erfassungsprotokollen. App Service erfasst AppServiceHTTPLogs
, AppServiceConsoleLogs
, , AppServiceAppLogs
und AppServicePlatformLogs
. Azure AI Foundry erfasst RequestResponse
. Während der POC-Phase sollten Sie verstehen, welche Protokolle und Metriken für die Sammlung verfügbar sind. Wenn Sie zur Produktion wechseln, entfernen Sie Protokollquellen, die keinen Wert hinzufügen, und erstellen Sie nur Rauschen und Kosten für die Protokollsenke Ihrer Workload.
Um die Überwachungsfunktionen in Azure AI Foundry zu verwenden, verbinden Sie eine Application Insights-Ressource mit Ihrem Azure AI Foundry-Projekt.
Diese Integration ermöglicht die Überwachung der folgenden Daten:
- Echtzeitüberwachung der Tokenverwendung, einschließlich Aufforderung, Abschluss und Gesamttoken
- Detaillierte Anforderungsantwort-Telemetrie, einschließlich Latenz, Ausnahmen und Antwortqualität
Sie können Agents auch mithilfe von OpenTelemetry nachverfolgen.
Modellvorgänge
Diese Architektur ist für das Lernen optimiert und ist nicht für die Produktionsverwendung vorgesehen, sodass betriebstechnische Anleitungen wie GenAIOps außerhalb des Gültigkeitsbereichs stehen. Wenn Sie zur Produktion wechseln, befolgen Sie die Anleitungen zum Azure AI Foundry-Modell.
Entwicklung
Für die grundlegende Architektur können Sie Agents mithilfe der browserbasierten Oberfläche im Azure AI Foundry-Portal erstellen. Wenn Sie in Richtung Produktion wechseln, befolgen Sie die Anleitungen zur Entwicklung und Quellcodeverwaltung in der Basisarchitektur. Wenn Sie einen Agent nicht mehr benötigen, müssen Sie ihn löschen. Wenn es sich bei dem von Ihnen gelöschten Agent um den letzten Agent handelt, der eine Verbindung verwendet, entfernen Sie auch die Verbindung.
Auswertung
Sie können Ihre generative Anwendung in Azure AI Foundry auswerten. Es wird empfohlen, zu erfahren, wie Sie Evaluatoren verwenden, um Ihre generativen KI-Anwendungen auszuwerten. Mit dieser Vorgehensweise wird sichergestellt, dass Ihr ausgewähltes Modell den Designanforderungen von Kunden und Arbeitslasten entspricht.
Leistungseffizienz
Die Leistungseffizienz bezieht sich auf die Fähigkeit Ihrer Workload, die Anforderungen der Benutzer effizient zu erfüllen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.
Diese Architektur ist nicht für Produktionsbereitstellungen konzipiert, sodass wichtige Leistungseffizienzfeatures weggelassen werden:
Ihre POC-Ergebnisse sollten Ihnen dabei helfen, das richtige App Service-Produkt für Ihre Workload auszuwählen. Entwerfen Sie Ihre Arbeitsauslastung so, dass sie den Bedarf durch horizontale Skalierung effizient erfüllen kann. Sie können die horizontale Skalierung verwenden, um die Anzahl der Computeinstanzen im App Service-Plan anzupassen. Entwerfen Sie kein System, das erfordert, dass Sie das Computeprodukt entsprechend der Nachfrage ändern müssen.
Diese Architektur verwendet das Verbrauchs- oder Pay-as-You-Go-Modell für die meisten Komponenten. Das Verbrauchsmodell ist ein Best-Effort-Modell und kann laute Nachbarprobleme oder andere Stressoren auf der Plattform verursachen. Ermitteln Sie, ob ihre Anwendung bereitgestellten Durchsatz benötigt, während Sie zur Produktion wechseln. Der bereitgestellte Durchsatz hilft beim Reservieren der Verarbeitungskapazität für Ihre Azure OpenAI-Modellbereitstellungen. Reservierte Kapazität bietet vorhersehbare Leistung und Durchsatz für Ihre Modelle.
Weitere Designempfehlungen
Architekten sollten KI- und Machine Learning-Arbeitslasten wie diese entwerfen, wobei die Well-Architected Framework AI-Arbeitslasten im Hinblick auf Azure-Entwurfsanleitungen berücksichtigen. Wenn Sie von der Idee und POC ins Design wechseln, kombinieren Sie Einblicke aus dieser spezifischen Architektur mit den umfassenderen bewährten Methoden für KI und maschinelles Lernen im Well-Architected Framework.
Bereitstellen dieses Szenarios
Stellen Sie eine Referenzimplementierung bereit , die diese Empfehlungen und Überlegungen anwendet.