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.
In diesem Artikel stellen Sie einen lang laufenden gehosteten Agent bereit, der die Steuerung unterstützt: wenn ein zweiter Interaktionsschritt in derselben Unterhaltung eingeht, während der erste noch ausgeführt wird, stellt die Plattform den neuen Interaktionsschritt in die Warteschlange und bricht den aktuellen kooperativ ab, anstatt ihn via 409 conversation_lockedabzulehnen.
Das Beispiel ist ein Antwortprotokoll-Agent, der Resilienz und Steuerung mit zwei Optionen aktiviert. Es verwendet einen simulierten Modelldatenstrom, sodass Sie ihn ohne Modellanmeldeinformationen ausführen können.
Hinweis
Lang laufende Agents sind in der Vorschauversion verfügbar. APIs und Paketversionen können geändert werden.
Voraussetzungen
- Ein Azure-Abonnement mit Microsoft Foundry-Zugriff.
- Python 3.13.
- Die Azure Developer CLI (
azd) mit der Erweiterung "Foundry Agents". - Die Azure CLI (
az) undcurl, um den bereitgestellten Agenten aufzurufen.
Beispiel abrufen
Initialisieren Sie in einem leeren Verzeichnis den resilienten Steuerungs-Agenten mithilfe seines azure.yaml-Manifests:
azd auth login
azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/bring-your-own/responses/resilient-steering/azure.yaml
Der Befehl lädt den Beispielquellcode herunter, übernimmt dessen azure.yaml, erstellt eine azd-Umgebung und verbindet sie mit dem Foundry-Projekt, das Sie auswählen.
Der Agent ermöglicht Resilienz und Steuerung, wenn er den Host erstellt:
options = ResponsesServerOptions(
resilient_background=True,
steerable_conversations=True,
)
app = ResponsesAgentServerHost(options=options)
Durch die Verwendung von steerable_conversations=True wird ein zweiter Interaktionsschritt in einer bereits ausgelasteten Unterhaltung in die Warteschlange gestellt, und der laufende Handler wird kooperativ abgebrochen, anstatt 409 conversation_locked zurückzugeben.
Bereitstellen und implementieren
Stellen Sie das Projekt bereit und stellen Sie den Agent bereit. Wenn Sie zur Eingabe eines Standorts aufgefordert werden, wählen Sie eine Region aus, die gehostete Agents unterstützt.
azd up
azd up gibt den Responses-Endpunkt und einen Playground-Link aus.
Den bereitgestellten Agent steuern
azd up gibt den Endpunkt „Responses“ aus. Speichern, Entfernen der Abfragezeichenfolge und Abrufen eines Zugriffstokens:
ENDPOINT="<responses-endpoint-from-azd-up>"
RESPONSES_ENDPOINT="${ENDPOINT%%\?*}"
TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)
Die Steuerung benötigt gespeicherte Hintergrundantworten (store: true und background: true). Beginnen Sie die erste Runde und notieren Sie die ID conversation in der Antwort:
curl -sS -X POST "$RESPONSES_ENDPOINT?api-version=2025-11-15-preview" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"input": "Explain quantum computing in detail, including its history, principles, algorithms, hardware, error correction, and applications.", "store": true, "background": true}'
Während der erste Durchgang noch läuft, senden Sie sofort eine neue Anweisung für dieselbe Unterhaltung, um den noch laufenden Durchgang zu steuern:
curl -sS -X POST "$RESPONSES_ENDPOINT?api-version=2025-11-15-preview" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"input": "Instead, explain relativity and focus on practical examples.", "conversation": "<conversation-id-from-turn-1>", "store": true, "background": true}'
Der erste Interaktionsschritt prüft die Eingaben in der Warteschlange und wird am nächsten sicheren Punkt beendet. Der in die Warteschlange gestellte Interaktionsschritt wird dann vollständig ausgeführt. Streamen Sie eine der beiden Antworten mit ihrem id, um die Übergabe zu beobachten:
curl -sS "$RESPONSES_ENDPOINT/<response-id>?api-version=2025-11-15-preview" \
-H "Authorization: Bearer $TOKEN"
Aufräumen
azd down