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

在当今信息密集的企业环境中,如何快速、安全地构建专属知识库成为提升效率的关键。本教程将手把手教你如何从零开始,借助 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 中输入以下代码,创建项目文件夹:
plainText 复制代码
mkdir aws_rag_project
cd aws_rag_project
  • 为 Python 安装必要库:
plainText 复制代码
pip install boto3 langchain langchain-community pandas python-dotenv
  • 继续在 Anaconda Prompt 中配置亚马逊云科技登录授权
plainText 复制代码
aws configure
  • 这里需要输入你的:Amazon Access Key ID,AWS Secret Access Key,默认 Region
  • 以上这些信息可以在亚马逊云科技的 IAM 中获取或者新建 access key,具体 IAM 使用方法可参考相关教程
  • 在 Anaconda Prompt 中创建项目环境设置.env 文件:
plainText 复制代码
echo AWS_REGION=us-east-1 > .env
echo AWS_PROFILE=default >> .env
  • 成功后,会在项目文件夹中看到,env 文件
  • 将以下调用 DeepSeek 的 python 文件保存在项目文件夹中
  • 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 的问答能力。该系统适用于员工培训、客户支持、产品问答等多种场景,有效提升信息获取效率。

相关推荐
ICT_SOLIDWORKS3 小时前
智诚科技苏州SOLIDWORKS授权代理商的卓越之选
大数据·人工智能·科技·软件工程
SAP工博科技5 小时前
深圳市富力达:SAP一体化管理助力精密制造升级 | 工博科技SAP客户案例
科技·云计算·制造
OJAC近屿智能5 小时前
新增29个专业,科技成为未来主赛道!
人工智能·科技·ai·机器人·aigc·近屿智能
zandy10116 小时前
衡石科技:HENGSHI SENSE 数据权限解决方案
java·数据库·科技
zskj_zhyl8 小时前
银发科技:AI健康小屋如何破解老龄化困局
人工智能·科技·物联网
九河云9 小时前
汽车制造行业如何在数字化转型中抓住机遇?
科技·重构·云计算·汽车·制造
傻啦嘿哟1 天前
探索科技的边界:代理IP与汽车产业链的创新之旅
科技·tcp/ip·汽车
Daorigin_com1 天前
企业级智能合同管理解决方案升级报告:道本科技携手DeepSeek打造智能合同管理新标杆
科技
九河云1 天前
中药企业数字化转型:从传统制造到智能制药的跨越
大数据·人工智能·科技·重构·制造