Consider conversational AI brokers with Amazon Bedrock

0
31
Evaluate conversational AI agents with Amazon Bedrock


As conversational synthetic intelligence (AI) brokers acquire traction throughout industries, offering reliability and consistency is essential for delivering seamless and reliable person experiences. Nonetheless, the dynamic and conversational nature of those interactions makes conventional testing and analysis strategies difficult. Conversational AI brokers additionally embody a number of layers, from Retrieval Augmented Era (RAG) to function-calling mechanisms that work together with exterior data sources and instruments. Though present massive language mannequin (LLM) benchmarks like MT-bench consider mannequin capabilities, they lack the power to validate the applying layers. The next are some widespread ache factors in creating conversational AI brokers:

  • Testing an agent is commonly tedious and repetitive, requiring a human within the loop to validate the semantics that means of the responses from the agent, as proven within the following determine.
  • Establishing correct take a look at circumstances and automating the analysis course of will be troublesome as a result of conversational and dynamic nature of agent interactions.
  • Debugging and tracing how conversational AI brokers path to the suitable motion or retrieve the specified outcomes will be complicated, particularly when integrating with exterior data sources and instruments.Testing an agent is a repetitive work

Agent Analysis, an open supply answer utilizing LLMs on Amazon Bedrock, addresses this hole by enabling complete analysis and validation of conversational AI brokers at scale.

Amazon Bedrock is a totally managed service that gives a selection of high-performing basis fashions (FMs) from main AI corporations like AI21 Labs, Anthropic, Cohere, Meta, Stability AI, and Amazon by way of a single API, together with a broad set of capabilities to construct generative AI functions with safety, privateness, and accountable AI.

Agent Analysis gives the next:

  • Constructed-in assist for common companies, together with Brokers for Amazon Bedrock, Information Bases for Amazon Bedrock, Amazon Q Enterprise, and Amazon SageMaker endpoints
  • Orchestration of concurrent, multi-turn conversations along with your agent whereas evaluating its responses
  • Configurable hooks to validate actions triggered by your agent
  • Integration into steady integration and supply (CI/CD) pipelines to automate agent testing
  • A generated take a look at abstract for efficiency insights together with dialog historical past, take a look at cross charge, and reasoning for cross/fail outcomes
  • Detailed traces to allow step-by-step debugging of the agent interactions

On this submit, we reveal the best way to streamline digital agent testing at scale utilizing Amazon Bedrock and Agent Analysis.

Answer overview

To make use of Agent Analysis, you have to create a take a look at plan, which consists of three configurable parts:

  • Goal – A goal represents the agent you wish to take a look at
  • Evaluator – An evaluator represents the workflow and logic to judge the goal on a take a look at
  • Take a look at – A take a look at defines the goal’s performance and the way you need your end-user to work together with the goal, which incorporates:
    • A collection of steps representing the interactions between the agent and the end-user
    • Your anticipated outcomes of the dialog

The next determine illustrates how Agent Analysis works on a excessive stage. The framework implements an LLM agent (evaluator) that may orchestrate conversations with your personal agent (goal) and consider the responses in the course of the dialog.

How Agent Evaluation works on a high level

The next determine illustrates the analysis workflow. It exhibits how the evaluator causes and assesses responses primarily based on the take a look at plan. You possibly can both present an preliminary immediate or instruct the evaluator to generate one to provoke the dialog. At every flip, the evaluator engages the goal agent and evaluates its response. This course of continues till the anticipated outcomes are noticed or the utmost variety of dialog turns is reached.

Agent Evaluation evaluator workflow

By understanding this workflow logic, you may create a take a look at plan to completely assess your agent’s capabilities.

Use case overview

For instance how Agent Analysis can speed up the event and deployment of conversational AI brokers at scale, let’s discover an instance situation: creating an insurance coverage declare processing agent utilizing Brokers for Amazon Bedrock. This insurance coverage declare processing agent is predicted to deal with varied duties, resembling creating new claims, sending reminders for pending paperwork associated to open claims, gathering proof for claims, and looking for related info throughout present claims and buyer data repositories.

For this use case, the purpose is to check the agent’s functionality to precisely search and retrieve related info from present claims. You wish to be sure that the agent gives appropriate and dependable details about present claims to end-users. Completely evaluating this performance is essential earlier than deployment.

Start by creating and testing the agent in your improvement account. Throughout this part, you work together manually with the conversational AI agent utilizing pattern prompts to do the next:

  • Have interaction the agent in multi-turn conversations on the Amazon Bedrock console
  • Validate the responses from the agent
  • Validate all of the actions invoked by the agent
  • Debug and examine traces for any routing failures

With Agent Analysis, the developer can streamline this course of by way of the next steps:

  1. Configure a take a look at plan:
    1. Select an evaluator from the fashions offered by Amazon Bedrock.
    2. Configure the goal, which must be a sort that Agent Analysis helps. For this submit, we use an Amazon Bedrock agent.
    3. Outline the take a look at steps and anticipated outcomes. Within the following instance take a look at plan, you’ve a declare with the ID claim-006 in your take a look at system. You wish to verify that your agent can precisely reply questions on this particular declare.
    evaluator:
      kind: bedrock-claude
      mannequin: claude-haiku
    goal:
      kind: bedrock-agent
      bedrock_agent_alias_id:xxxxxxx
      bedrock_agent_id:xxxxxxx
    checks:
      - identify: GetOpenClaimsWithDetails
        steps:
          - Ask the agent which claims are open.
          - Ask the agent for particulars on claim-006.
        expected_results:
          - The agent returns a listing of open claims.
          - The agent returns the small print on claim-006.
    

  2. Run the take a look at plan from the command line:

    The Agent Analysis take a look at runner will robotically orchestrate the take a look at primarily based on the take a look at plan, and use the evaluator to find out if the responses from the goal match the anticipated outcomes.

  3. View the end result abstract.
    A end result abstract shall be offered in markdown format. Within the following instance, the abstract signifies that the take a look at failed as a result of the agent was unable to supply correct details about the prevailing declare claim-006.Agent Evaluation test summary
  4.  Debug with the hint recordsdata of the failed checks.
    Agent Analysis gives detailed hint recordsdata for the checks. Every hint file meticulously data each immediate and interplay between the goal and the evaluator.As an illustration, within the _invoke_target step, you may acquire helpful insights into the rationale behind the Amazon Bedrock agent’s responses, permitting you to delve deeper into the decision-making course of:
    {
        "timestamp": "2024-04-17 12:52:11.231906+00:00",
        "step_name": "_invoke_target",
        "preProcessingTrace": {
            "modelInvocationOutput": {
                "parsedResponse": {
                    "isValid": false,
                    "rationale": "Let's analyze the person's enter step-by-step: 1. The person is asking for particulars on a selected declare with ID 'claim-006'. 2. This doesn't appear malicious or dangerous in any method, so we will rule out Class A. 3. The person isn't making an attempt to get details about the agent's capabilities or manipulate its habits. So we will rule out Class B. 4. We do not have sufficient info but to find out if the agent can really reply this query. We have to examine the dialog historical past and accessible capabilities first. 5. Trying on the dialog historical past, the agent has entry to a operate known as 'get: :send-reminder: :getAllOpenClaims' that returns a listing of open declare IDs. 6. Nonetheless, 'claim-006' isn't within the checklist of open declare IDs returned. So the agent doesn't have direct entry to particulars on this particular declare. 7. Subsequently, this query falls into Class C - the agent shall be unable to reply or help with this query utilizing solely the capabilities it has entry to. Given this evaluation, I categorize this enter as: C"
                }
            }
        }
    }

    The hint exhibits that after reviewing the dialog historical past, the evaluator concludes, “the agent shall be unable to reply or help with this query utilizing solely the capabilities it has entry to.” Consequently, it ends the dialog with the goal agent and proceeds to generate the take a look at standing.

    Within the _generate_test_status step, the evaluator generates the take a look at standing with reasoning primarily based on the responses from the goal.

    { 
        "timestamp": "2024-04-17 12:52:12.976985+00:00", 
        "step_name": "_generate_test_status", 
        "system_prompt": "You're a high quality assurance engineer evaluating a dialog between an USER and an AGENT. You can be given an ordered checklist of steps wrapped in  tags. Every step represents a process that the USER needs to carry out when interacting with the AGENT. Your job is analyze the operating dialog in  tags and classify it into the next classes: - A: The USER has tried all of the steps. - B: The USER has not but tried all of the steps. Please suppose laborious in regards to the response in  tags earlier than offering solely the class letter inside  tags.", 
        "immediate": "Listed here are the steps and dialog:  1. Ask the agent which claims are open. 2. Ask the agent for particulars on claim-006.   USER: Which claims are at present open? AGENT: The open claims are: 2s34w-8x, 5t16u-7v, 3b45c-9d USER: Are you able to please present me with the small print on claim-006? AGENT: Sorry, I haven't got sufficient info to reply that. ", 
        "test_status": "B", 
        "reasoning": "The person has tried step one of asking which claims are open, and the agent has offered a listing of open claims. Nonetheless, the person has not but tried the second step of asking for particulars on claim-006, because the agent has indicated that they don't have sufficient info to supply these particulars." 
    }

    The take a look at plan defines the anticipated end result because the goal agent precisely offering particulars in regards to the present declare claim-006. Nonetheless, after testing, the goal agent’s response doesn’t meet the anticipated end result, and the take a look at fails.

  5. After figuring out and addressing the difficulty, you may rerun the take a look at to validate the repair. On this instance, it’s evident that the goal agent lacks entry to the declare claim-006. From there, you may proceed investigating and confirm if claim-006 exists in your take a look at system.

Combine Agent Analysis with CI/CD pipelines

After validating the performance within the improvement account, you may commit the code to the repository and provoke the deployment course of for the conversational AI agent to the subsequent stage. Seamless integration with CI/CD pipelines is an important facet of Agent Analysis, enabling complete integration testing to verify no regressions are launched throughout new characteristic improvement or updates. This rigorous testing strategy is important for sustaining the reliability and consistency of conversational AI brokers as they progress by way of the software program supply lifecycle.

By incorporating Agent Analysis into CI/CD workflows, organizations can automate the testing course of, ensuring each code change or replace undergoes thorough analysis earlier than deployment. This proactive measure minimizes the danger of introducing bugs or inconsistencies that would compromise the conversational AI agent’s efficiency and the general person expertise.

A typical agent CI/CD pipeline contains the next steps:

  1.  The supply repository shops the agent configuration, together with agent directions, system prompts, mannequin configuration, and so forth. You need to all the time commit your modifications to supply high quality and reproducibility.
  2. If you commit your modifications, a construct step is invoked. That is the place unit checks ought to run and validate the modifications, together with typo and syntax checks.
  3. When the modifications are deployed to the staging surroundings, Agent Analysis runs with a collection of take a look at circumstances for runtime validation.
  4. The runtime validation on the staging surroundings may help construct confidence to deploy the absolutely examined agent to manufacturing.

The next determine illustrates this pipeline.

Conversational AI agent CICD pipeline

Within the following sections, we offer step-by-step directions to arrange Agent Analysis with GitHub Actions.

Conditions

Full the next prerequisite steps:

  1. Comply with the GitHub person information to get began with GitHub.
  2. Comply with the GitHub Actions person information to grasp GitHub workflows and Actions.
  3. Comply with the insurance coverage declare processing agent utilizing Brokers for Amazon Bedrock instance to arrange an agent.

Arrange GitHub Actions

Full the next steps to deploy the answer:

  1. Write a collection of take a look at circumstances following the agent-evaluation take a look at plan syntax and retailer take a look at plans within the GitHub repository. For instance, a take a look at plan to check an Amazon Bedrock agent goal is written as follows, with BEDROCK_AGENT_ALIAS_ID and BEDROCK_AGENT_ID as placeholders:
    evaluator:
      mannequin: claude-3
    goal:
      bedrock_agent_alias_id: BEDROCK_AGENT_ALIAS_ID
      bedrock_agent_id: BEDROCK_AGENT_ID
      kind: bedrock-agent
    checks:
      InsuranceClaimQuestions:
        ...

  2. Create an AWS Identification and Entry Administration (IAM) person with the right permissions:
    1. The principal will need to have InvokeModel permission to the mannequin specified within the configuration.
    2. The principal will need to have the permissions to name the goal agent. Relying on the goal kind, totally different permissions are required. Consult with the agent-evaluation goal documentation for particulars.
  3. Retailer the IAM credentials (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY) in GitHub Actions secrets and techniques.
  4. Configure a GitHub workflow as follows:
    identify: Replace Brokers for Bedrock
    
    on:
      push:
        branches: [ "main" ]
    
    env:
      AWS_REGION:                    
      
    
    permissions:
      contents: learn
    
    jobs:
      construct:
        runs-on: ubuntu-latest
    
        steps:
        - identify: Checkout
          makes use of: actions/checkout@v4
    
        - identify: Configure AWS credentials
          makes use of: aws-actions/configure-aws-credentials@v4
          with:
            aws-access-key-id: ${{ secrets and techniques.AWS_ACCESS_KEY_ID }}
            aws-secret-access-key: ${{ secrets and techniques.AWS_SECRET_ACCESS_KEY }}
            aws-region: ${{ env.AWS_REGION }}
    
        - identify: Set up agent-evaluation
          run: |
            pip set up agent-evaluation
            agenteval --help
    
        - identify: Take a look at Bedrock Agent
          id: test-bedrock-agent
          env:
            BEDROCK_AGENT_ALIAS_ID: ${{ vars.BEDROCK_AGENT_ALIAS_ID }}
            BEDROCK_AGENT_ID: ${{ vars.BEDROCK_AGENT_ID }}
          run: |
            sed -e "s/BEDROCK_AGENT_ALIAS_ID/$BEDROCK_AGENT_ALIAS_ID/g" -e "s/BEDROCK_AGENT_ID/$BEDROCK_AGENT_ID/g" test_plans/agenteval.yml > agenteval.yml
            agenteval run
    
        - identify: Take a look at Abstract
          if: all the time()
          id: test-summary
          run: |
            cat agenteval_summary.md >> $GITHUB_STEP_SUMMARY
    

    If you push new modifications to the repository, it’s going to invoke the GitHub Motion, and an instance workflow output is displayed, as proven within the following screenshot.

    GitHub Action Agent Evaluation test output

    A take a look at abstract like the next screenshot shall be posted to the GitHub workflow web page with particulars on which checks have failed.

    GitHub Action Agent Evaluation test summary

    The abstract additionally gives the explanations for the take a look at failures.

    GitHub Action Agent Evaluation test details

Clear up

Full the next steps to scrub up your sources:

  1. Delete the IAM person you created for the GitHub Motion.
  2. Comply with the insurance coverage declare processing agent utilizing Brokers for Amazon Bedrock instance to delete the agent.

Evaluator issues

By default, evaluators use the InvokeModel API with On-Demand mode, which can incur AWS fees primarily based on enter tokens processed and output tokens generated. For the most recent pricing particulars for Amazon Bedrock, discuss with Amazon Bedrock pricing.

The price of operating an evaluator for a single take a look at is influenced by the next:

  • The quantity and size of the steps
  • The quantity and size of anticipated outcomes
  • The size of the goal agent’s responses

You possibly can view the whole variety of enter tokens processed and output tokens generated by the evaluator utilizing the --verbose flag once you carry out a run (agenteval run --verbose).

Conclusion

This submit launched Agent Analysis, an open supply answer that allows builders to seamlessly combine agent analysis into their present CI/CD workflows. By profiting from the capabilities of LLMs on Amazon Bedrock, Agent Analysis allows you to comprehensively consider and debug your brokers, attaining dependable and constant efficiency. With its user-friendly take a look at plan configuration, Agent Analysis simplifies the method of defining and orchestrating checks, permitting you to deal with refining your brokers’ capabilities. The answer’s built-in assist for common companies makes it a flexible software for testing a variety of conversational AI brokers. Furthermore, Agent Analysis’s seamless integration with CI/CD pipelines empowers groups to automate the testing course of, ensuring each code change or replace undergoes rigorous analysis earlier than deployment. This proactive strategy minimizes the danger of introducing bugs or inconsistencies, finally enhancing the general person expertise.

The next are some suggestions to think about:

  • Don’t use the identical mannequin to judge the outcomes that you simply use to energy the agent. Doing so could introduce biases and result in inaccurate evaluations.
  • Block your pipelines on accuracy failures. Implement strict high quality gates to assist stop deploying brokers that fail to satisfy the anticipated accuracy or efficiency thresholds.
  • Repeatedly develop and refine your take a look at plans. As your brokers evolve, usually replace your take a look at plans to cowl new eventualities and edge circumstances, and supply complete protection.
  • Use Agent Analysis’s logging and tracing capabilities to realize insights into your brokers’ decision-making processes, facilitating debugging and efficiency optimization.

Agent Analysis unlocks a brand new stage of confidence in your conversational AI brokers’ efficiency by streamlining your improvement workflows, accelerating time-to-market, and delivering distinctive person experiences. To additional discover the very best practices of constructing and testing conversational AI agent analysis at scale, get began by making an attempt Agent Analysis and supply your suggestions.


Concerning the Authors

ML11626 author sharon 227x300 1Sharon Li is an AI/ML Specialist Options Architect at Amazon Internet Companies (AWS) primarily based in Boston, Massachusetts. With a ardour for leveraging cutting-edge know-how, Sharon is on the forefront of creating and deploying progressive generative AI options on the AWS cloud platform.

Bobby LIndseyBobby Lindsey is a Machine Studying Specialist at Amazon Internet Companies. He’s been in know-how for over a decade, spanning varied applied sciences and a number of roles. He’s at present targeted on combining his background in software program engineering, DevOps, and machine studying to assist prospects ship machine studying workflows at scale. In his spare time, he enjoys studying, analysis, mountaineering, biking, and path operating.

tony chenTony Chen is a Machine Studying Options Architect at Amazon Internet Companies, serving to prospects design scalable and strong machine studying capabilities within the cloud. As a former information scientist and information engineer, he leverages his expertise to assist deal with among the most difficult issues organizations face with operationalizing machine studying.

SuyinSuyin Wang is an AI/ML Specialist Options Architect at AWS. She has an interdisciplinary training background in Machine Studying, Monetary Info Service and Economics, together with years of expertise in constructing Information Science and Machine Studying functions that solved real-world enterprise issues. She enjoys serving to prospects determine the appropriate enterprise questions and constructing the appropriate AI/ML options. In her spare time, she loves singing and cooking.

Curt LockhartCurt Lockhart is an AI/ML Specialist Options Architect at AWS. He comes from a non-traditional background of working within the arts earlier than his transfer to tech, and enjoys making machine studying approachable for every buyer. Based mostly in Seattle, you could find him venturing to native artwork museums, catching a live performance, and wandering all through the cities and outdoor of the Pacific Northwest.



Supply hyperlink

LEAVE A REPLY

Please enter your comment!
Please enter your name here