当前位置: 首页 > news >正文

创建AWS Bedrock知识库及填坑指南

前言

作者之前的关于Dify实践RAG系统的文章:用它搭建AI Agent原来这么简单!-CSDN博客,文末留了TODO:

“后面会对此RAG系统进行扩展和增强:

1)知识库同步自Web站点

2)链接外部知识库

3)将构建的RAG应用嵌入网页”

之前的博文完成了1),在研究2)的过程中,发现涉及内容较多,如创建AWS Bedrock知识库、构建后端API服务,今天先拆开单独讲解一下创建AWS Bedrock知识库。

AWS Bedrock是亚马逊云科技(AWS)在2023年推出的一项服务,它旨在帮助开发者更轻松地构建和管理现代化的应用程序。Bedrock提供了一种简化的方式来使用AWS的基础设施和服务,包括计算、存储、数据库和网络等核心功能,同时支持容器化应用和微服务架构。通过Bedrock,开发者可以更快地进行开发、部署和扩展应用程序,而无需深入了解底层的云基础设施细节。这使得开发者能够专注于业务逻辑和应用程序的创新,提高了开发效率和灵活性。

 一、注册AWS并添加IAM用户

进入

进入使用基础模型构建生成式人工智能应用程序 – Amazon Bedrock – AWS

若没有注册过亚马逊云(AWS),会要求注册。

注意:注册后的用户默认是root用户,但除了root 用户,还需要添加IAM user/role,不然在创建Bedrock Knowledge Base配置完成后会遇到如下错误:

添加IAM用户:

以root用户登录后,左上角搜索框中输入 IAM,点击出现的services里的“IAM” services进入:

右侧“users”->“create user”,进入后按下图配置:

这里要选中“access to the AWS Management Console”,并设置密码,因为之后切换为IAM user登录时需要。如果读者已创建了IAM账户,增加密码方法见后面【附录】1。

“next”进入权限配置:

权限按用户组管理,新建用户组时,赋予的policies选红框的名称即可。

按指示点击“next”,最后创建成功IAM用户。

二、配置并创建知识库

点击右上角用户名称,复制“account id”,然后登出root用户,以IAM用户登录,登录时要求的账户id填刚才复制的,用户名和密码填上面设置的。

访问https://us-east-1.console.aws.amazon.com/bedrock/home?region=us-east-1#/knowledge-bases,点击“create”,如下图选择

点击“Knowledge base with vector store”,进入如下步骤的配置:

Step1配置页:

按页面说明填每一项,有默认值用默认值就行,“数据源”选择web crawler(如下图):准备抓取一个在线网站的文档建立知识库。

“next”进入step2。

Step2配置页:

抓取网站的url我这里还是用了之前的dify文档中文网站:

其他按默认值就可,也可以根据页面说明适当修改。

Step3 配置页:

embedding模型选择:

其他按默认。

然后按提示点“next”,最后“save and create”就开化进行向量化存储、创建data source、创建service role了,最后完成知识库的创建。

service role完成最慢,过程中如果你离开了,之后查看完成情况的方法参考【附录】2。

【附录】

1、

root用户登录,按如下步骤进行:

  • 根账户有IAM权限的管理员账户登录AWS管理控制台。

  • 导航到 IAM 服务

  • 在左侧菜单中点击 用户 (Users)

  • 在用户列表中找到你的 asw 用户名,点击进入该用户详情页。

  • 切换到 安全凭证 (Security credentials) 标签页。

  • 向下滚动到 控制台密码 (Console password) 部分。

  • 点击 管理 (Manage) 或 分配密码 (Assign password)

  • 选择:

    • 自动生成密码:AWS会生成一个新密码。管理员必须将此密码安全地发送给你(比如通过安全的消息通道,切勿明文发邮件或聊天软件)。你首次登录时必须修改它

    • 自定义密码:管理员可以直接设置一个新密码并告知你。同样需要安全传递。

  • 点击 保存更改 (Save changes)

2、

查看方法

  • root用户登录

  • 导航到IAM服务: 在顶部搜索栏输入 IAM 并选择进入。

  • 查看角色列表

    • 在左侧导航菜单中,点击 Roles

    • 在角色列表上方的搜索框中,输入你的角色名称的一部分,例如 AmazonBedrockExecutionRoleForKnowledgeBase 或更精确的完整名称 AmazonBedrockExecutionRoleForKnowledgeBase_1vq65

  • 检查角色状态

    • 如果创建成功: 你会在列表中看到这个角色。点击角色名称可以查看其详细信息,包括信任关系(Trust relationships)和权限策略(Permissions policies)。

    • 如果创建失败: 这个角色不会出现在列表中(或者可能在状态栏显示为Failed)。创建失败是导致知识库创建过程卡在“Creating role...”提示的最常见原因。

    • 如果仍在创建中: 在IAM控制台的角色列表中可能还看不到它,或者状态可能显示为Creating(但通常这个过程应该比较快)。长时间卡住通常意味着最终会失败。

角色作用

这个自动创建的IAM角色 service role(AmazonBedrockExecutionRoleForKnowledgeBase_xxx) 是知识库的执行角色。它的核心作用是授予AWS Bedrock服务必要的权限,使其能够代表你执行与知识库相关的特定操作,主要是:

  • 访问你的数据源: 读取你配置在知识库中的源数据(通常是S3存储桶中的文件)。

  • 与向量存储交互:

    • 写入向量数据: 将知识库从源数据生成的向量嵌入(embeddings)写入你指定的向量数据库(如OpenSearch Serverless, Pinecone, Redis等)。

    • 读取向量数据: 在执行查询时,从向量数据库中检索相关信息。

  • 可能的基础模型调用权限: 在查询知识库时,Bedrock可能需要调用基础模型(如Titan Embeddings模型生成向量,或Claude模型处理查询结果),该角色可能包含执行这些bedrock:InvokeModel调用的权限(如果知识库配置需要的话)。

  • 日志记录权限: 将知识库的操作日志写入CloudWatch Logs。

http://www.lqws.cn/news/499303.html

相关文章:

  • Python如何在解析 YAML 文件时保留每个条目的原始行号信息
  • Camera Sensor接口协议全解析(四)LVDS与SubLVDS接口及协议深度解析
  • Spring容器启动的关键一步:prepareBeanFactory详解
  • 如何制定团队制度?
  • OpenCV——霍夫变换
  • 首席运营官职责与工作内容概述
  • 秋招Day14 - MySQL - 事务
  • Redis哨兵模式深度解析与实战部署
  • 网页动画与交互性:开发者基础指南
  • 基于springboot+uniapp的“川味游”app的设计与实现7000字论文
  • 如何快速判断Excel文档是否被修改过?Excel多版本比对解决方案
  • 操作系统 第九章 部分
  • 线程池 JMM 内存模型
  • PySide环境配置及工具使用
  • 【题解-Acwing】1022. 宠物小精灵之收服
  • 技术逐梦之旅:从C语言到Vue的成长之路
  • LeetCode中K个链表的链接的解法
  • 108页精品PPT | 大型某著名企业能源行业数字化转型汇报方案能源化工数字化转型
  • AI-Sphere-Butler之如何将豆包桌面版对接到AI全能管家~新玩法(一)
  • Redis基本介绍
  • 词编码模型怎么进行训练的,输出输入是什么,标签是什么
  • leetcode:98. 验证二叉搜索树
  • oracle 表空间与实例妙用,解决业务存储与权限处理难题
  • 企业主动风险管理破局供应链“黑天鹅”,善用期货
  • C# Task 模式实现 Demo(含运行、暂停、结束状态)
  • Redis精简总结|一主二从哨兵模式(工作机制)|集群模式|缓存的穿透雪崩击穿
  • 以计数器程序为例,简析JVM内存模型中各部分的工作方式
  • 72-Oralce Temporay tablespace(单实例和多租户下的管理)
  • 互联网大数据求职面试:从Zookeeper到Flink的技术探讨
  • 华为云Flexus+DeepSeek征文|基于Dify构建抓取金融新闻并发送邮箱工作流