首页开发教程DeepSeek+OpenSearch构建企业知识库

DeepSeek+OpenSearch构建企业知识库

2025-06-10 288

想要生成式AI发挥到更佳效果,需要适当调用向量数据库的支持,亚马逊云科技提供了搜索和分析引擎服务“Amazon OpenSearch Service”,主要通过通过其向量检索能力,将企业文档转化为高维向量,实现语义层面的相似度匹配。接下来将由站长百科详细拆解如果通过Aamzon OpenSearch Service和DeepSeek模型在亚马逊云科技中国区快速构建企业级知识库应用。

Aamzon OpenSearch Service支持搜索、分析、可视化和保护高达PB级的文本和非结构化数据,支持传入和传出OpenSearch服务的数据。目前通过AWS免费套餐专属链接可免费试用Amazon OpenSearch Service长达12个月,每月提供10GB的可选EBS存储(磁性介质或通用存储),t2.small.search或t3.small.search实例最多750个小时。

点击免费领取12个月免费Aamzon OpenSearch Service服务>>>

DeepSeek+OpenSearch构建企业知识库

一、前提条件

开始构建之前需要满足以下条件:

1、两个已经在Amazon SageMaker中部署好的模型:

  • DeepSeek Model
  • Embedding Model

Amazon SageMaker是AWS推出的构建和部署机器学习模型,目前也提供免费试用长达2个月:前两个月每月 250 小时的 t2.medium 笔记本使用时间、每月50小时的m4.xlarge培训时间和125小时的m4.xlarge托管时间。

因为本操作是基于亚马逊云科技中国区部署的,因此建议大家选择使用ModelHub来部署,其一站式的模型微调、部署、调试的无代码可视化服务,可以帮助您快速验证微调各类开源模型的效果,方便快速实验和决策,降低微调大模型的门槛。

2、已经部署好的Amazon OpenSearch Service集群。

由于在亚马逊云中国区还无法使用Amazon OpenSearch Integration来部署ML Connector,因此将整个方案部署脚本化,通过Amazon CloudForamtion来部署。

二、部署Amazon OpenSearch Service

1、下载Amazon CloudFormation模版。

2、下载部署依赖文件(部署过程中会使用Amazon Lambda来部署ML Connector)。将部署依赖文件上传至Amazon S3桶,注意要记下Amazon S3的地址。

3、进入亚马逊云科技控制台,搜索Amazon CloudFormation,点击创建堆栈,选择上传模版文件,点击选择文件,选择上一步骤下载的Amazon CloudFormation模版文件。按照如下配置,填写部署参数。在参数DependenciesS3Bucket填写上面步骤上传依赖文件的AWS S3桶名,DependenciesS3Key填写存放Amazon S3的地址。

DeepSeek+OpenSearch构建企业知识库

Amazon CloudFormation部署之后,会自动部署用户角色/权限、知识库的样例数据、LLM和Embedding model等。部署完成后就可以在Amazon CloudFormation的输出结果中看到通过Amazon OpenSearch用于远程推理的Model ID、知识库的索引opensearch_kl_index和Search Pipeline my-conversation-search-pipeline-deepseek-zh。

DeepSeek+OpenSearch构建企业知识库

三、验证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,来实现了远程推理的能力。

DeepSeek+OpenSearch构建企业知识库

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、系统提示词、用户指令。

DeepSeek+OpenSearch构建企业知识库

这样,在使用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
}
}
}

得到如下的返回结果,可以看到返回结果中也分了两部分,第一部分是通过向量查询从知识库索引中查询的和问题相关的文档信息,第二部分则是将知识库查询到的文档内容组合成提示词之后再通过LLM返回的答案。

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

DeepSeek+OpenSearch构建企业知识库

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章