Skip to content

Sample proposal: AML alert triage coded agent (LLM extracts, decision model decides) #1109

Description

@1aifanatic

Proposal

Add a new sample, samples/aml-alert-triage-agent: a LangGraph coded agent for a financial-services use case, triaging anti-money-laundering alerts.

What it demonstrates

  • Splitting language work from decisions. The UiPath LLM Gateway reads the alert, extracts parties and amounts, does all arithmetic, and writes the rationale. An external decision model (TypeSafe Jev) makes every decision (5 red-flag probabilities, a risk level, a disposition) in one typed, calibrated call.
  • Calling a third-party API from a serverless coded agent. The API key is read from an Orchestrator Asset at runtime, because .env does not reach the serverless runtime. Verified with a published PythonCodedAgent run.
  • Evaluating a coded agent. Includes a 12-alert synthetic eval set with ground truth, and evaluate.py for schema, accuracy, and evidence-grounding checks.
  • Switchable decider. A decider input swaps the gateway LLM into the decision seat, so both models answer the same seven-question rubric for a like-for-like comparison.
  • A documented gotcha: uipath pack does not regenerate entry-points.json, so new Input fields are missing from the Orchestrator Start-job form until you re-run uipath init.

The sample is in a PR that references this issue. It follows the existing sample layout (main.py, langgraph.json, uipath.json, bindings.json, .env.example, README.md) and adds an entry to samples/README.md.

Happy to adjust scope, naming, or the README to fit the samples guidelines.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions