Bereitstellen eines steuerbaren Agents (Vorschau)

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

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