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

基于亚马逊云科技搭建企业问答系统

在当今信息密集的企业环境中,如何快速、安全地构建专属知识库成为提升效率的关键。本教程将手把手教你如何从零开始,借助 Amazon Bedrock 控制台与 DeepSeek 大语言模型,将企业内部文档转化为可交互的问答系统(RAG 架构)。无需任何编程经验,只需按照步骤操作,即可轻松完成搭建与体验。

第一步 登录亚马逊云科技账号
  • 打开浏览器,注册并登录亚马逊云科技管理控制台登录页面。

亚马逊云科技为开发者提供了众多免费云产品。想深入体验基于亚马逊云科技平台部署DeepSeek-R1大模型,可以访问亚马逊云科技官网

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 登录亚马逊云科技账号。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二步 企业知识数据的准备与导入

  • 在控制台顶部搜索栏中输入“S3”,点击进入 Amazon S3 控制台

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 点击【Create bucket】(创建存储桶),输入存储桶名称

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 填写存储桶名字,其他设置保持默认,再次点击【Create bucket】(创建存储桶)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 创建完成后,点击进入该 bucket

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 点击【Upload】(上传)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 上传你的知识文档,例如 PDF、DOCX、TXT、HTML 等格式的文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 例如,我们将一份 txt 格式的 “2025 年公司考勤管理制度” 上传到 S3 存储桶(其中做了一些自定义设置,以便于验证知识库调用)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第三步 开通 Amazon Bedrock 和 DeepSeek 模型权限

  • 在亚马逊云科技控制台的搜索框中输入 “Bedrock”,然后点击 Amazon Bedrock

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 进入 Amazon Bedrock 页面后,找到页面中的 “Model access”(模型访问)设置板块,仔细检查自身账号是否已具备 DeepSeek 的使用权限

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 如果没有 DeepSeek 模型的使用权限,点击页面上的 “申请” 按钮。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在模型选择页面中,勾选本次教程所需的 DeepSeek 模型。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 完成模型勾选后,点击 “提交” 按钮完成模型申请操作。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 通常提交申请后,系统会在短时间内审核并授予权限,待权限获取成功,我们就可以开始使用 DeepSeek 模型了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第四步 创建企业知识库(Knowledge base)

  • 返回 Bedrock 控制台,点击左侧【Knowledge Base】(知识库),进入知识库管理页面。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 点击【Create】(创建),根据准备的数据类型,选择开始创建流程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 自定义知识库名称 Knowledge Base Name:如 company - kb

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 设置知识库数据来源:选择 S3,因为要连接到我们刚才上传的 S3 存储桶

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 设置完成,点击【next】(下一步)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 选择 S3 数据源

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 选择我们上传文档的 S3 Bucket

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 继续点击【next】(下一步)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 设置嵌入模型:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 建议选择 Amazon Titan Embeddings(Bedrock 原生)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 设置向量存储:这里可以保留默认 (Amazon OpenSearch Serverless)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 点击【next】(下一步) 后,确认设置,点击【Create knowledge base】(创建知识库)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 等待几分钟,知识库文档会自动进行解析、嵌入并构建索引。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第五步 调用生产模型

  • 首先我们需要在 Amazon Bedrock 的操作界面中,进入 Knowledge Bases,勾选新建的 knowledge base,请点击【Sync】(同步) 来同步知识库

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 选择测试知识库的生产模型,目前在控制台内只能测试部分大模型

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在右侧对话框中,我们可以使用选择的大模型对刚刚上传的公司考勤制度进行测试。这里可以看到大模型根据知识库中的信息对我们的问题进行了回答

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第六步:使用 Python 基于知识库调用 DeepSeek 大模型

  • 安装 Python,可以使用 Anaconda,一键装好 Python 和虚拟环境 ,安装完成后,打开 “Anaconda Prompt”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在 Anaconda Prompt 中输入以下代码,创建项目文件夹:
mkdir aws_rag_project
cd aws_rag_project
  • 为 Python 安装必要库:
pip install boto3 langchain langchain-community pandas python-dotenv
  • 继续在 Anaconda Prompt 中配置亚马逊云科技登录授权
aws configure
  • 这里需要输入你的:Amazon Access Key ID,AWS Secret Access Key,默认 Region

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 以上这些信息可以在亚马逊云科技的 IAM 中获取或者新建 access key,具体 IAM 使用方法可参考相关教程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在 Anaconda Prompt 中创建项目环境设置.env 文件:
echo AWS_REGION=us-east-1 > .env
echo AWS_PROFILE=default >> .env
  • 成功后,会在项目文件夹中看到,env 文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 将以下调用 DeepSeek 的 python 文件保存在项目文件夹中

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Python 文件代码如下:
import os
import boto3
from dotenv import load_dotenv
from botocore.exceptions import NoCredentialsError, ProfileNotFound# 第一步:加载 .env 文件
load_dotenv()# 第二步:读取环境变量
region = os.getenv("AWS_REGION")
profile = os.getenv("AWS_PROFILE")print("🔍 检查当前 AWS 配置...")
print("📍 AWS Region:", region)
print("👤 AWS Profile:", profile)# 第三步:验证 AWS 配置是否存在
if not region or not profile:print("❌ 错误:环境变量 AWS_REGION 或 AWS_PROFILE 未设置。请检查 .env 文件。")exit(1)# 第四步:尝试连接 AWS Bedrock
try:session = boto3.Session(profile_name=profile, region_name=region)bedrock_agent_runtime = session.client(service_name='bedrock-agent-runtime')
except ProfileNotFound:print(f"❌ 错误:找不到名为 '{profile}' 的 AWS profile。请先运行 aws configure 设置。")exit(1)
except NoCredentialsError:print("❌ 错误:未检测到有效的 AWS 凭证。请确保已使用 aws configure 设置 Access Key。")exit(1)print("✅ Amazon 环境配置成功,开始调用知识库...")# 第五步:设置知识库 ID 和模型 ARN(请替换为你自己的)
knowledge_base_id = "你的知识库ID"  # ← 在控制台查看 Knowledge Base ID
model_arn = "你的 model ARN"  # 可替换为 DeepSeek 等# 第六步:输入你的问题
user_input = "公司全勤奖是多少钱?"# 第七步:调用知识库进行 RAG 问答
try:response = bedrock_agent_runtime.retrieve_and_generate(input={"text": user_input},retrieveAndGenerateConfiguration={"type": "KNOWLEDGE_BASE","knowledgeBaseConfiguration": {"knowledgeBaseId": knowledge_base_id,"modelArn": model_arn}})# 第八步:打印模型回答print("\n🤖 模型回答:")print(response["output"]["text"])except Exception as e:print("❌ 出现错误:", str(e))
  • 其中第五步中需要设置好你的知识库 ID 和你想要调用模型的 ARN

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 知识库ID可以在 Bedrock 的 knowledge base 中找到

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • Model ARN 建议在 Bedrock 的 Cross-region inference 中找到,这里我们搜索 DeepSeek 可以获取相应 ARN。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 现在我们可以在 Anaconda Prompt 中运行 Python 文件,调用 DeepSeek 大模型,并结合企业知识库进行问答。例如,当我们提出有关员工迟到和全勤奖励的规定时,DeepSeek 会基于我们上传的考勤制度文件,给出准确的回答。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第七步 退出/清理环境

Amazon Bedrock 控制台中的 Playground 属于即开即用型服务,使用完毕后无需额外退出操作即可结束会话,无需担心资源占用问题。但需要注意的是,知识库底层依赖的 Amazon OpenSearch Serverless(用于向量化数据的存储与检索)会单独计费。因此,如果确定短期内不再使用该知识库,建议按照以下顺序清理资源,以避免产生不必要的费用:

在 Bedrock 里面删除 knowledge base

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在 OpenSearch 里面删除 collections

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 在 S3 服务中删除上传的 S3 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

小结

至此,通过以上 7 个步骤,你已经成功搭建了一个企业级的知识库问答系统,全流程在控制台中完成,无需编写代码。如果需要调用控制台暂不支持的大模型,也可以通过提供的 Python 脚本实现。企业可持续上传更多文档至 S3 存储桶,以增强 AI 的问答能力。该系统适用于员工培训、客户支持、产品问答等多种场景,有效提升信息获取效率。

相关文章:

  • LeetCode42_接雨水
  • 北冰洋:突破热力极限!99℃离心热泵机组,开启工业节能新时代!
  • GCC 15.1 发布,包含 COBOL 编译器及多项其他改进
  • 再学GPIO(一)
  • Java 设计模式
  • deepSeek浅谈对vue的mixin的理解,用于什么应用场景?
  • Vue3 通过Vue3-Print-Nb在线工单打印 模板打印 自定义打印 打印下载
  • 660SJBH企业信息管理系统
  • SPL 量化 复权数据
  • uniapp跨平台开发---动态控制底部切换显示
  • 【WEB3】web3.0是什么
  • Android开发中svg转xml工具使用
  • ‌sd - 批量修改文本文件的命令和软件工具
  • 深入理解编程中的同步与异步:原理、区别及实战应用
  • 基于边缘人工智能的AI无人机-更高效更安全的飞行任务执行
  • 【SpringMVC】概念引入与连接
  • EKS环境下服务重启50X错误
  • 小白学习java第16天(上): javaWeb
  • LLM开发——基于DeepSeek R1 和 Qwen 构建智能检索增强生成系统
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • 朝鲜证实出兵俄罗斯协助收复库尔斯克
  • 对排出黑烟车辆出具合格报告,广州南沙一检测公司被罚十万元
  • 昆明一小区电梯突然从40楼降到负4楼,回应:临时断电引起
  • 俄罗斯戏剧《大师与玛格丽特》来沪,剧长8小时一天内演完
  • 聚焦“共赢蓝色未来”,首届 “海洋命运共同体”上海论坛举行
  • 对话地铁读书人|中学教师董女士:借来的书更好看