Azure / Azure/agent-openai-python-banking-assistant

[User Story] - Embeddable chat supporting Human In the loop

Offen
#47 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Keine Sprachdaten
Sterne
2
Forks
5
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Description
Provide a full featured chat experience with support for implementing human in the loop for conversational patterns:

  • Notify: let the user know some event is important, but not take any actions. This is useful in flagging events that user should see, but where the agent is not empowered to act them. An example is agent progress notification in chat based agents.
  • Review or Approval: review an action the agent wants to take. Some actions are "dangerous" enough that it may be worth hard coding a review for any action the agent wants to take. The human can either approve the action, or give direct feedback to the agent on how to change it.

Current Behavior
Current chat experience is basic with no HITL support.

Acceptance Criteria

  • Tool execution result are notified to the chat.
  • Tool approval request are shown in the chat and user can approve or decline

Design Considerations

  • Consider to use AG-UI protocol to standardize chat implementation and communication with backend agents: https://github.com/ag-ui-protocol/ag-ui.
  • Agent framework has also recently introduced support for chatKit from Open AI. there is a demo here. Compared to ag-ui it also 'standardize' the way to manage attachments (which is required by the banking app for payment flow) and thread conversation.
  • ChatAgent in agent frameworks provide support for streaming generated content or user input requests. It seems it doesn't have support for streaming other internal events like ToolCallStart, ToolCallEnd. The only way to implement that is using a custom middleware ToolNotificationMiddleware that intercept function calls and send data to the UI output stream in a dedicated SSE session.
    A better option would be to simply wrap the current supervisor agent in a workflow.

Main Affected Modules and/or Classes
design still not completed.

References
ag-ui - https://github.com/ag-ui-protocol/ag-ui
workflow events ( might not be updated) - https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/core-concepts/events?pivots=programming-language-python


Migrated from: https://github.com/Azure-Samples/agent-openai-python-banking-assistant/issues/13

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Durchsicht des AG-UI-Protokolls, der ChatKit-Integrationsdemo und der referenzierten Dokumentation zu Workflow-Ereignissen. Im Issue werden keine betroffenen Dateien oder Klassen genannt, und das Design ist laut Beschreibung unvollständig. Definiere daher zunächst die Chat-Architektur und die betroffenen Einstiegspunkte. Erledigt ist die Aufgabe, wenn die Ergebnisse der Tool-Ausführung im Chat erscheinen und Benutzer Tool-Anfragen genehmigen oder ablehnen können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
ai, full-stack
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.