概述
在当今信息密集的企业环境中,如何快速、安全地构建专属知识库成为提升效率的关键。本教程将手把手教你如何从零开始,借助 Amazon Bedrock 控制台与 DeepSeek 大语言模型,将企业内部文档转化为可交互的问答系统(RAG 架构)。无需任何编程经验,只需按照步骤操作,即可轻松完成搭建与体验。
难度:初级
时间:20 分钟
所需费用:参考 Bedrock 价格页面
受众:业务开发人员
相关产品:Amazon Bedrock
上次更新时间:2025 年 4 月 7 日
前提条件:亚马逊云科技海外区域账号,Amazon Bedrock 及相关模型使用权限
相关行业:通用
第三步 开通 Amazon Bedrock 和 DeepSeek 模型权限
全部打开
进入 Amazon Bedrock 页面后,找到页面中的 “Model access”(模型访问)设置板块,仔细检查自身账号是否已具备 DeepSeek 的使用权限
如果没有 DeepSeek 模型的使用权限,点击页面上的 “申请” 按钮。
在模型选择页面中,勾选本次教程所需的 DeepSeek 模型。
完成模型勾选后,点击 “提交” 按钮完成模型申请操作。
通常提交申请后,系统会在短时间内审核并授予权限,待权限获取成功,我们就可以开始使用 DeepSeek 模型了。
第四步 创建企业知识库(Knowledge base)
全部打开
返回 Bedrock 控制台,点击左侧【Knowledge Base】(知识库),进入知识库管理页面。
点击【Create】(创建),根据准备的数据类型,选择开始创建流程
自定义知识库名称 Knowledge Base Name:如 company - kb
设置知识库数据来源:选择 S3,因为要连接到我们刚才上传的 S3 存储桶
设置向量存储:这里可以保留默认 (Amazon OpenSearch Serverless)
点击【next】(下一步) 后,确认设置,点击【Create knowledge base】(创建知识库)。
等待几分钟,知识库文档会自动进行解析、嵌入并构建索引。
第五步 调用生产模型
全部打开
首先我们需要在 Amazon Bedrock 的操作界面中,进入 Knowledge Bases,勾选新建的 knowledge base,请点击【Sync】(同步) 来同步知识库
选择测试知识库的生产模型,目前在控制台内只能测试部分大模型
在右侧对话框中,我们可以使用选择的大模型对刚刚上传的公司考勤制度进行测试。这里可以看到大模型根据知识库中的信息对我们的问题进行了回答
第六步:使用 Python 基于知识库调用 DeepSeek 大模型
全部打开
mkdir aws_rag_project
cd aws_rag_project
pip install boto3 langchain langchain-community pandas python-dotenv
aws configure
echo AWS_REGION=us-east-1 > .env
echo AWS_PROFILE=default >> .env
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))
现在我们可以在 Anaconda Prompt 中运行 Python 文件,调用 DeepSeek 大模型,并结合企业知识库进行问答。例如,当我们提出有关员工迟到和全勤奖励的规定时,DeepSeek 会基于我们上传的考勤制度文件,给出准确的回答。
第七步 退出/清理环境
全部打开
Amazon Bedrock 控制台中的 Playground 属于即开即用型服务,使用完毕后无需额外退出操作即可结束会话,无需担心资源占用问题。但需要注意的是,知识库底层依赖的 Amazon OpenSearch Serverless(用于向量化数据的存储与检索)会单独计费。因此,如果确定短期内不再使用该知识库,建议按照以下顺序清理资源,以避免产生不必要的费用:
在 Bedrock 里面删除 knowledge base
小结
费用评估和优惠
目前通过 Bedrock 调用 DeepSeek 费用可以参考 Bedrock 价格页面
.756ec3918880cf330684f6459d73c4cac3f569b3.png)
.19f3d4925af2c36f9e865ebf7f3f5c0b3fd2f60f.png)
.8ce3f7768195c181d23e2e742a3c8b6f48fb6798.png)
.aeaad9960a997270ef14b8e77bbe0e6e923fc31d.png)
.195765b985b48639007eca98335162aaedaaab82.png)
.8ef3a3961212f48674a109fd8389910fa28d3232.png)
.859cd98a2d8b262a71493b2d93d43c7f8e08d5bc.png)
.2436a0263cc09d80929bf219ae9376ff4999f17f.png)