跳至主要内容

使用 Amazon Bedrock 与 DeepSeek 大模型轻松搭建知识库

概述

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

难度:初级

时间:20 分钟

所需费用:参考 Bedrock 价格页面

受众:业务开发人员

相关产品:Amazon Bedrock

上次更新时间:2025 年 4 月 7 日

前提条件:亚马逊云科技海外区域账号,Amazon Bedrock 及相关模型使用权限

相关行业:通用

第一步 登录亚马逊云科技海外区域账号

全部打开
AWS Bedrock DeepSeek R1 Chinese Announcement Banner
AWS IAM Login Page

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

全部打开
AWS Console S3 Service Selection
AWS S3 Console Create Bucket Button
AWS S3 Create Bucket General Configuration
AWS S3 Console General Purpose Buckets
AWS S3 Empty Bucket Upload Button
AWS S3 Upload Interface

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

Chinese Attendance Policy NotepadAWS S3 Upload Company Attendance Management System

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

全部打开
AWS Console Search Amazon Bedrock
AWS Bedrock Overview Foundation Models Dashboard

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

AWS Bedrock Model Access Request Interface

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

AWS Bedrock Model Selection

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

AWS Bedrock Model Access Review and Submit

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

AWS Bedrock Foundation Models Access Granted

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

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

全部打开
Amazon Bedrock Knowledge Bases Dashboard

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

Amazon Bedrock Knowledge Base Creation Interface

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

Amazon Bedrock Knowledge Base Details

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

Amazon Bedrock Data Source Selection

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

AWS Log Deliveries Application Logs Next Button
AWS Bedrock S3 Data Source Configuration
AWS S3 Choose Archive Knowledgebasesample Bucket
AWS Bedrock Add Data Source Next Button
AWS Bedrock Configure Embeddings Model
AWS Bedrock Select Model Titan Embeddings
AWS Bedrock Vector Database Creation Options

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

AWS Bedrock Multimodal Storage Destination

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

Amazon Bedrock Knowledge Base Review

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

第五步 调用生产模型

全部打开
Amazon Bedrock Knowledge Base Overview Sync

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

AWS Bedrock Select Anthropic Claude Model

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

AWS Bedrock Knowledge Base Chinese Query Response

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

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

全部打开
Anaconda Prompt Base Environment
mkdir aws_rag_project
cd aws_rag_project
pip install boto3 langchain langchain-community pandas python-dotenv
aws configure
AWS CLI Configure Command Example
AWS IAM User Security Credentials
echo AWS_REGION=us-east-1 > .env
echo AWS_PROFILE=default >> .env
Windows Explorer AWS RAG Project Env File
AWS RAG Project Folder with RAG DeepSeek File
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("✅ AWS 环境配置成功,开始调用知识库...") # 第五步:设置知识库 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))
Python Setup Knowledge Base ID Model ARN
AWS Bedrock Knowledge Base Overview Dashboard
Amazon Bedrock Cross-Region Inference DeepSeek
RAG Demo Chinese CLI QA AWS Bedrock

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

第七步 退出/清理环境

全部打开
Amazon Bedrock Knowledge Base Management Interface

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

在 Bedrock 里面删除 knowledge base

AWS OpenSearch Serverless Dashboard Collections Management
AWS S3 Console General Purpose Buckets Delete

小结

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

费用评估和优惠

目前通过 Bedrock 调用 DeepSeek 费用可以参考 Bedrock 价格页面