Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Note
Self-Hosting-Protokollhilfsprogramme für .NET werden in Kürze verfügbar sein. Mit dem Hostingmodell kann Ihre Anwendung über ihre Server-, Status- und Protokollintegrationen verfügen.
Note
Self-Hosting-Protokollhilfsprogramme sind derzeit nicht für Go verfügbar.
Mit Self-Hosting können Sie einen Agent Framework-Agent oder -Workflow in Ihrer eigenen Webanwendung, Container, Dienst oder Laufzeit ausführen. Ihre Anwendung steuert Routing, Identität, Autorisierung, Anforderungsrichtlinie, Speicher, Bereitstellung und Skalierung. Fügen Sie diesem Server basierend auf den Clients, die Sie unterstützen müssen, eine oder mehrere Protokollintegrationen hinzu.
Verwenden Sie diese Option, wenn Sie einen Agentendpunkt in Ihre vorhandene Anwendungsinfrastruktur integrieren müssen. Wenn Sie möchten, dass Microsoft Foundry den Agent für Sie ausführt, lesen Sie foundry Hosted Agents. Wenn Sie Azure Functions Trigger oder dauerhafte Ausführung benötigen, lesen Sie "Durable Extension".
Das Design dieser Pakete ist so, dass die maximale Flexibilität für den Entwickler möglich ist. Dies bedeutet, dass Sie, wenn Sie einen Host erstellen möchten, der einen Agent über die Responses API bereitstellt, und die Parameter für andere Zwecke zweckentfremden (d. h. temperature auf top_p abbilden), dies tun können. Wenn Sie keine Sitzungen speichern möchten, können Sie das tun. Wenn Sie dem Anrufer die vollständige Steuerung des gesamten Agentenlaufs ermöglichen möchten, können Sie auch das tun. Wir stehen Ihnen nicht im Weg, bieten Hilfsmittel für die gängigen Fälle und legen den Rest in Ihre Verantwortung, damit Sie exakt den Host erstellen können, den Sie benötigen.
Important
agent-framework-hosting, agent-framework-hosting-responses, agent-framework-hosting-telegram, agent-framework-a2a, agent-framework-hosting-a2a und agent-framework-hosting-mcp sind Vorabversionen von Python-Paketen. Installieren Sie Vorabversionen explizit, und überprüfen Sie die Versionshinweise, bevor Sie eine Produktionsbereitstellung aktualisieren.
pip install --pre agent-framework-hosting
Was die Hostinghilfsprogramme bereitstellen
Das generische Hostingpaket stellt den Status der gemeinsamen Ausführung für einen anwendungseigenen Server bereit:
-
AgentStatekoppelt ein Agentziel mit einerSessionStoreund erstellt Sitzungen, wenn die Anwendung einen neuen Schlüssel auswählt. -
SessionStorespeichert, ruft Sitzungen anhand einer von der Anwendung ausgewählten ID ab und löscht sie. Sein Standardspeicher ist prozesslokal und verfügt über keine Verdrängungsstrategie. -
WorkflowStateermittelt ein Workflowziel. Ihre Anwendung besitzt den Prüfpunktspeicher und jede Zuordnung von einer Client-Fortsetzungs-ID zu einem Prüfpunkt.
AgentState ist kein Server oder keine Protokollregistrierung. Ihre Anwendung wählt einen autorisierten Sitzungsschlüssel aus, löst das Ziel auf und speichert den Status nach der Ausführung. Sie kann dieselbe Zielinfrastruktur und dieselbe gemeinsam genutzte Anwendungsinfrastruktur für einen oder mehrere Protokollendpunkte verwenden.
Anpassen des Sitzungsspeichers
SessionStore ist eine kleine asynchrone Speicherklasse mit get, setund delete Methoden. Die Standardimplementierung behält Sitzungen im Prozessspeicher bei. Leiten Sie eine Unterklasse davon ab und überschreiben Sie diese Methoden, um AgentSession-Objekte in Redis, einer Datenbank, einem Blobspeicher oder einem anderen anwendungseigenen Datenspeicher zu speichern, und übergeben Sie dann die Instanz an AgentState(session_store=...).
SessionStore und Verlaufsanbieter speichern getrennte Teile einer Konversation eines Agenten. Ein Sitzungsspeicher speichert ein Sitzungsobjekt pro Sitzungs-ID, einschließlich Sitzungsmetadaten und Anbieterstatus. Eine dedizierte HistoryProvider Speichert die Unterhaltung separat, in der Regel als einen Datensatz pro Nachricht. Diese Trennung wird für persistente Hosts empfohlen, da das Anhängen einzelner Nachrichten im Allgemeinen effizienter ist als das Neuschreiben eines wachsenden Session-Objekts nach jedem Austausch. Ein Verlaufsanbieter wird pro Agent definiert, indem die gewünschte Verlaufsanbieterklasse an den Parameter übergeben wird context_providers .
Note
Der Standard-Verlaufsanbieter: InMemoryHistoryProvider ist die Ausnahme: Er speichert die vollständige Konversation in AgentSession.state. Wenn dieser Anbieter verwendet wird, SessionStore wird die Unterhaltung innerhalb des Sitzungsobjekts beibehalten. Verwenden Sie für längere Konversationen oder für die Datenspeicherung im Produktivbetrieb einen dedizierten Anbieter für den Verlauf, damit der Sitzungsspeicher auf den schlanken Sitzungszustand fokussiert bleibt.
Verwenden Sie Ihr eigenes Framework oder Ihre eigene Clientbibliothek
Die Hostingpakete sind nicht an ein Webframework oder eine Clientbibliothek gebunden. Die Beispiele verwenden FastAPI und aiogram da sie präzise runnable Beispiele bereitstellen, nicht weil die Hilfsprogramme sie benötigen.
- Verwenden Sie für HTTP-Endpunkte die Routing- und Anforderungs-/Antwort-APIs Ihres Anwendungsframeworks, z. B. FastAPI, Starlette, Django, Flask, Azure Functions oder ein anderes Framework.
- Verwenden Sie für Protokollclients wie Telegram jede Clientbibliothek, die eine Protokollaktualisierung bereitstellen und die vom Hilfsprogramm erstellten Vorgänge ausführen kann.
Die Anwendung wählt das Framework und die Clientbibliothek aus; Das Agent Framework-Paket konvertiert nur Protokolldaten und verwaltet optionalen Ausführungszustand. Sie registrieren keine Routen, authentifizieren keine Anrufer, autorisieren keinen Zugriff auf den Zustand, wählen keine zulässigen Modelloptionen aus und stellen keine dauerhafte Speicherung bereit.
Hinzufügen von Protokollen zu Ihrem Server
Wählen Sie eine oder mehrere Protokollintegrationen aus:
| Protocol | Paket und Integration |
|---|---|
| OpenAI-Antworten | agent-framework-hosting-responses |
| Telegramm | agent-framework-hosting-telegram |
| A2A |
agent-framework-a2a oder agent-framework-hosting-a2a |
| MCP | agent-framework-hosting-mcp |
Jede Protokollseite beschreibt die Einrichtung. Sie sind jedoch so konzipiert, dass Sie einen einzelnen Host mit einem oder mehreren aktivierten Protokollen und einem aufrufbaren Ziel erstellen können. entweder ein Agent oder ein Workflow. Da wir Sie nicht auf ein Webframework beschränken, können Sie das gewünschte Webframework auswählen und den Host mit diesen Protokollen problemlos einrichten.
Sichere Sitzungsfortsetzung
Behandeln Sie jeden vom Protokoll bereitgestellten Bezeichner als nicht vertrauenswürdige Eingabe. Bevor Sie eine ID zum Laden einer Sitzung, eines Prüfpunkts, einer Aufgabe oder eines anderen Zustands verwenden:
- Authentifizieren sie den Anrufer.
- Autorisieren Sie den Aufrufer für den Zugriff auf den Referenzstatus.
- Persistenten Zustand nach dem authentifizierten Mandanten, Benutzer oder Arbeitsbereich partitionieren.
- Speichern Sie den Sitzungs- und Prüfpunktstatus nur, nachdem die Ausführung oder der Datenstrom abgeschlossen wurde.
Mit diesem Self-Hosting-Muster kann Ihre Anwendung nur die benötigten Protokollendpunkte und Richtlinien implementieren. es wird nicht versucht, die vollständige API-Oberfläche jedes unterstützten Protokolls zu implementieren.
Nächste Schritte
Gehen Sie tiefer: