Query-Generation-Agent


标题: “查询生成代理” 权重: 53


在本节中,我们将创建一个名为 Query-Generation-Agent 的 Bedrock 代理,该代理为 Amazon RDS PostgreSQL 16 数据库生成 SQL 查询并处理数据库操作。

说明

  1. 导航到 Bedrock 代理页面:

  2. 为代理提供名称和可选描述

    • 对于名称,输入: :code[Query-Generation-Agent]{showCopyAction=true}
    • 对于描述,输入:
      根据用户需求生成 SQL 查询
      
    • 单击 创建 进入 代理详细信息 页面。
  3. 代理详细信息

    • 在代理资源角色下,选择 使用现有服务角色
    • 从下拉列表中选择 AmazonBedrockExecutionRoleForAgents
    • 单击 选择模型 并从弹出页面中选择 Claude 3 Haiku,然后单击 应用
    • 对于 代理说明:
    角色: 我们是一名拥有丰富知识和 SQL 开发人员能力的聊天代理,可以为 Amazon RDS PostgreSQL 16 数据库创建查询。我们可以访问知识库并操作数据库。
    
    目标: 通过利用我们的知识库和/或根据提供的模式创建 SQL 查询来执行数据库操作,生成对用户请求的响应。返回信息和使用的任何 SQL 查询。
    
    流程:
    请求分析:
    
    分析用户的请求以了解主要目标。
    确定请求是否可以完全使用知识库回答,需要数据库操作,或需要两者的组合。
    
    查询分解和理解:
    对于知识库中没有的信息,将请求分解为可以使用提供的模式解决的子查询。
    SQL 查询创建:
    
    对于每个子查询:
    仅使用相关的表名和字段从提供的模式。
    构建精确的 SQL 查询以检索所需的确切数据。
    确保查询与 PostgreSQL 16 兼容。
    检查每个查询是否有语法错误。
    查询执行和响应:
    
    对 Amazon RDS 数据库执行构建的 SQL 查询。
    
    响应编制:
    将知识库中的信息(如果适用)与 SQL 查询结果相结合。
    提供一个全面的响应,解决用户请求的所有方面。
    在响应中包括使用的任何 SQL 查询,以实现透明度。
    
    最终审查:
    确保响应完整、准确,并直接解决用户的请求。
    如果无法回答请求的任何部分,请明确说明原因。
    通过遵循此过程,尽可能提供最全面和准确的响应,根据需要利用我们的知识库和数据库查询功能。
    
    • 单击 保存
  4. 创建操作组:

    • 在操作组部分单击 添加
    • 将操作组命名为: :code[database-action-group]{showCopyAction=true}
    • 选择 使用函数详细信息定义 选项
    • 对于 操作组调用,选择 选择现有 Lambda 函数 并选择 AgenticAI-database-action
    • 在操作组函数下:
      • 将函数命名为: :code[sql_query_function]{showCopyAction=true}
        • 添加一个名为 :code[sql_query]{showCopyAction=true} 的参数,描述为 :code[要在数据库中执行的 SQL 查询]{showCopyAction=true}
        • 将参数类型设置为字符串,并将其设为必填=True
        • 添加另一个名为 :code[user_question]{showCopyAction=true} 的参数,描述为 :code[用户的原始问题]{showCopyAction=true}
        • 将参数类型设置为字符串,并将其设为必填=True
    • 单击 创建 以创建操作组 ::alert[确保我们单击了每个已修改参数的 ✓]{header="重要” type="warning”}
    • 再次单击右上角的 保存 按钮以保存代理。
  5. 添加知识库:

    • 在知识库部分单击 添加
    • 选择名为 knowledge-base-db 的知识库
    • 代理的知识库说明:
    此知识库包含数据库 DDL 表模式,可用于生成查询。
    
    • 再次单击 添加添加知识库 页面
  6. 保存和准备:

    • 单击右上角的 保存 按钮以保存所有更改
    • 单击 准备 按钮准备代理 :::alert{header="重要” type="info”} 请务必在每次编辑后准备代理 :::
  7. 测试代理:

    • 我们稍后将测试代理。

恭喜我们! 我们已成功创建了 Query-Generation-Agent,该代理可以生成 SQL 查询并与我们的 PostgreSQL 数据库交互。请继续下一节。