亚马逊云科技

广告

安信SSL证书

广告

Amazon OpenSearch Service+DeepSeek快速构建智能知识库

美国云服务器推荐

Amazon OpenSearch Service即Amazon Elasticsearch Service前身,主要用于PB级日志分析平台、向量数据库与文本搜索引擎,搭配DeepSeek出色的中文理解能力和推理能力,可构建一个既智能又安全的知识库系统。本文将详细探讨如何利用Amazon OpenSearch Service和DeepSeek模型,在亚马逊云科技中国区快速构建一个企业级智能知识库。

AWS官网:点击直达注册领取1年免费Amazon OpenSearch Service

注意:Amazon OpenSearch Service免费套餐仅在由光环新网运营的亚马逊云科技中国(北京)区域中推出。免费套餐包括每月750小时的单可用区t2.small.search或t3.small.search实例,以及每月10GB可选EBS存储(磁介质或通用型存储)。

AWS账号注册指南:亚马逊云科技账号注册流程图解

一、构建前提

1、首先需得在Amazon SageMaker中部署DeepSeek Model和Embedding Model模型。若是在亚马逊云科技中国区,建议通过ModelHub部署,提供一站式的模型微调,部署,调试的无代码可视化服务,可以帮助用户快速验证微调各类开源模型的效果,方便用户快速实验和决策,降低用户微调大模型的门槛。

2、完成部署Amazon OpenSearch Service集群。由于AWS中国区暂无法使用Amazon OpenSearch Integration部署ML Connector,故而本次将采用校本化部署,部署方式可参考以下两种:

方案一:通过Amazon SageMaker Studio Notebook

首先获取Notebook代码,并将代码上传到Amazon SageMaker Studio中,然后按照Notebook中的指引步骤来部署。

方案二:通过Amazon Cloud Foramtion

本文将采用这种方式来介绍。

二、部署Amazon OpenSearch Service

通过下方链接分别下载Amazon CloudFormation模版和部署依赖文件,并将部署依赖文件上传至Amazon S3桶,记下Amazon S3的地址。

Amazon CloudFormation模版:

https://gitee.com/turk/opensearch-ds-rag-demo/blob/master/opensearch-rag/cfn/opensearch-ml-connector-cf-fixed.yaml

下载部署依赖文件:

https://gitee.com/turk/opensearch-ds-rag-demo/raw/master/opensearch-rag/cfn/python-dependencies.zip

访问亚马逊云科技控制台搜索Amazon Cloud Formation,点击创建堆栈,选择上传模版文件,点击选择文件,选择上一步骤下载的Amazon CloudFormation模版文件。按照如下配置,填写部署参数。

随后在参数DependenciesS3Bucket填写上面步骤上传依赖文件的Amazon S3桶名,DependenciesS3Key填写存放Amazon S3的地址。

DependenciesS3Bucket

部署Amazon CloudFormation成功之后会帮你部署以下内容:

1、创建相关的用户角色和权限。

2、创建LLM和Embedding model的ML Connector,创建的Connector会设置连接到Amazon SageMaker Endpoint的方法。

3、在Amazon OpenSearch中的注册模型,用于关联ML Connector实现远程推理。

4、导入了一部分知识库的样例数据。

5、创建一个Retrieval-augmented generation processor的Search Pipeline。

部署完成后即可在Amazon CloudFormation的输出中看到如下信息:

Amazon CloudFormation的输出

将在输出中获得(后续会用到):

  • 通过Amazon OpenSearch用于远程推理的Model ID(包括LLM和Embedding Model)
  • 一个知识库的索引opensearch_kl_index,并且导入了一部分样例数据
  • 一个Search Pipeline my-conversation-search-pipeline-deepseek-zh

三、验证Amazon OpenSearch Service

1、远程推理

Amazon OpenSearch Dashboard左侧菜单中找到Dev Tool,在工具中输入如下命令,DeepSeekModelId可以从Amazon CloudFormation的输出中找到。

POST _plugins/_ml/models/<DeepSeekModelId>/_predict
{
“parameters”: {
“inputs”: “OpenSearch Serverless 是什么,和OpenSearch集群模式有什么区别,使用 OpenSearch Serverless,还需要管理服务器资源么?”
}
}

执行后可以得到如下返回,Amazon OpenSearch通过了ML Connector调用了部署了DeepSeek的Amazon SageMaker Endpoint来实现了远程推理的能力。

验证Amazon OpenSearch Service

2、RAG processor Search Pipeline

通过Amazon CloudFormation输出获取的Search Pipeline名称,在Amazon OpenSearch查看它的具体配置。

GET /_search/pipeline/my-conversation-search-pipeline-deepseek-zh

从返回结果中可以看到Search Pipeline中定义了DeepSeek Model ID、系统提示词、用户指令。

RAG processor Search Pipeline

如此一来在使用Search Pipeline查询的时候,Amazon OpenSearch就会直接调用部署在Amazon SageMaker中的DeepSeek模型,并且将这里定义的参数带入到提交的上下文中。

3、知识库查询

使用RAG Processor执行查询后可通过向量召回知识库的文档,或者将相同的提问信息,同时提交给LLM,让LLM结合知识库召回的内容返回答案。可通过执行如下命令进行具体操作:

GET opensearch_kl_index/_search?search_pipeline=my-conversation-search-pipeline-deepseek-zh
{
“query”: {
“neural”: {
“text_embedding”: {
“query_text”: “OpenSearch Serverless 是什么,和OpenSearch集群模式有什么区别,使用 OpenSearch Serverless,还需要管理服务器资源么?”,
“model_id”: “<Embedding Model ID>”,
“k”: 5
}
}
},
“size”: 2,
“_source”: [
“text”
],
“ext”: {
“generative_qa_parameters”: {
“llm_model”: “bedrock/claude”,
“llm_question”: “OpenSearch Serverless 是什么,和OpenSearch集群模式有什么区别,使用 OpenSearch Serverless,还需要管理服务器资源么?”,
“context_size”: 5,
“timeout”: 100
}
}
}

根据DeepSeek的思考过程就可以看出来,它是已经通过知识库召回的相关内容,进行了分析然后再做出回答。

知识库查询

4、Demo应用

通过应用的Demo可以更直观的展示只是问答的效果,执行如下下载代码启动应用:

git clone https://gitee.com/turk/opensearch-ds-rag-demo.git
cd opensearch-ds-rag-demo/opensearch-rag/qa_app
python3 -m venv .
source bin/activate
pip install -r requirements.txt
cp .env.example .env

若需要设置Amazon OpenSearch登录或索引和Embedding ModelID相关,可以根据试剂配制修改文件“.env”,具体可参考:

OPENSEARCH_HOST=<opensearch-endpoint https//vpc-xx.region.com>
OPENSEARCH_PORT=443
OPENSEARCH_USER=<opensearch-user>
OPENSEARCH_PASSWORD=<opensearch-password>
OPENSEARCH_INDEX=opensearch_kl_index
OPENSEARCH_EMBEDDING_MODEL_ID=<embedding model id>

随后使用“python3 app.py”命令启动知识库。

到目前为止,就成功使用Amazon OpenSearch Service和DeepSeek构建了一个企业智能知识库。启动后从返回的内容提示从本地5000端口打开Web页面。然后在Web页面继续提问相同的问题,这样就可以比较直观的看到,这次查询参考的文档信息,并且在AI思考过程中提到从搜索结果中的补充内容。

启动知识库

相关推荐:

Amazon Bedrock+DeepSeek搭建企业知识库(超详细图文教程)

宝塔面板Docker搭建企业AI知识库教程

Amazon SageMaker AI结合DeepSeek构建AI Agents教程

(本文由美国主机侦探原创,转载请注明出处“美国主机侦探”和原文地址!)

主机侦探企业微信

微信扫码加好友进群

主机优惠码及时掌握

主机侦探QQ群

QQ群号:938255063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。邮箱:2942802716#qq.com(#改为@)

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

RAKsmart美国服务器
下一篇
启动知识库
已经没有了
返回顶部