
# 基于KooSearch和DeepSeek构建知识问答
本文结合KooSearch和DeepSeek模型搭建一个基于RAG（ Retrieval Augmented Generation）的知识问答系统。针对NLP大模型存在的知识幻觉、知识更新不及时以及缺乏企业专业知识等问题，大模型+知识库是当前普遍采用的解决方案。
KooSearch基于RAG架构，支持导入非结构化或结构化的业务数据到知识库，帮助企业客户快速、一站式地搭建企业智能问答应用。通过搜索增强大模型，数据来源于搜索，解决了大模型幻觉的问题，生成的问答结果更加可靠和安全。同时，您可以灵活配置LLM大语言模型，支持选择部署在ModelArts Studio大模型即服务平台（后续简称为MaaS）上的开源大模型，如DeepSeek模型。
#### 应用场景
在人工智能应用中，RAG技术逐渐成为提升智能系统性能的关键手段。RAG结合了检索（Retrieval）和生成（Generation）的能力，通过检索相关知识并结合生成模型输出高质量结果。DeepSeek V3作为一款强大的开源大语言模型，特别适合用于构建RAG系统。
#### 方案优势
- 开箱即用：上传文档后，即可进行基于文档的问答，并支持灵活的API接入。支持非结构化和结构化数据入库，提供多轮问答、可溯源及图文输出功能。
- 高精度：集成高精度文本Embedding模型，提供智能文档解析、重组及搜索规划服务，检索准确率高。
- 高性能：内置CSS向量数据库，具备高精度和高性能，支持Flat、Graph、IVF、IVF_Graph、PQ等多种索引，并兼容Elasticsearch生态。
- 安全：支持物理多租、租户隔离、全托管服务，独享资源更稳定、性能更高。
- 强大的知识检索与生成能力：集成DeepSeek模型服务，使得RAG系统能够从大规模知识库中高效检索相关信息，并生成高质量、准确的答案。
 
#### 约束限制
仅"西南-贵阳一"区域支持开通和使用KooSearch服务。KooSearch是受限使用阶段，如果有试用需求，请提[工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/serviceTickets)申请权限。
 #### 准备工作
- 通过CSS服务创建一个KooSearch文档问答服务，操作指导请参见[开通KooSearch文档问答服务](https://support.huaweicloud.com/usermanual-koosearch/koosearch_06_0004.html)。
- 通过MaaS服务购买DeepSeek模型服务，并在调用说明页面获取其API地址、模型名称（model参数）和API Key。操作指导请++参见++ ++[快速体验DeepSeek-V4-Pro模型](https://support.huaweicloud.com/bestpractice-maas/bestpractice_maas_0014_01.html)++。
 
#### 步骤一：KooSearch对接公网
通过配置NAT网关和弹性公网IP将KooSearch对接到公网，便于接入MaaS服务中的DeepSeek模型服务。
1. [登录NAT网关管理控制台](https://console.huaweicloud.com/vpc/?locale=zh-cn#/nat/public/list)。
2. 在公网NAT网关列表页面，单击"购买公网NAT网关"，进入购买公网NAT网关页面。
3. 在购买公网NAT网关页面，配置NAT网关。 关键参数请参见[表1]配置，其他参数可以保持默认值或基于业务场景配置。
    表1购买公网NAT网关 
   | 参数    | 说明                                                                                                      |
   |:---|:---|
   | 区域    | 和KooSearch保持一个区域，选择"西南-贵阳一"。                                                                            |
   | 计费模型  | 建议选择"按需计费"。                                                                                             |
   | 规格    | 公网NAT网关的规格。 公网NAT网关共有小型、中型、大型、超大型规格类型，可通过"了解更多"查看各规格详情。 |
   | 名称    | 公网NAT网关名称。最大支持64个字符，仅支持中文、数字、字母、_（下划线）、-（中划线）、.（点号）。                                                    |
   | 虚拟私有云 | 和KooSearch选择同一个VPC。                                                                                     |
   | 子网    | 和KooSearch选择同一个子网。                                                                                      |
   | 企业项目  | 配置公网NAT网关归属的企业项目。当公网NAT网关配置企业项目时，该公网NAT网关将归属于该企业项目。当没有指定企业项目时，将默认使用项目名称为default的企业项目。                   |
   | 高级配置  | 选择默认值。                                                                                                  |
   | 购买时长  | 公网NAT网关购买时长。                                                                                            |
      
   
4. 单击"立即购买"，确认产品规格无误后，单击"提交"，开始创建公网NAT网关。当状态为"运行中"时，表示公网NAT网关创建成功。
5. 当公网NAT网关创建成功后，在公网NAT网关列表页面，单击操作列的"设置规则"，在弹窗中单击"添加规则"。
6. 在"SNAT规则"页面，单击"添加SNAT规则"，在弹窗中配置公网NAT网关的SNAT规则。
   表2添加SNAT规则 
   | 参数     | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
   |:---|:---|
   | 使用场景   | 选择"虚拟私有云"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 网段     | 选择"使用已有"，选择和KooSearch同一个VPC。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 公网IP类型 | 选择"弹性公网IP"，勾选满足要求的IP。 如果没有可选的弹性公网IP，可以单击"查看弹性公网IP"跳转到弹性公网IP列表页，[申请弹性公网IP](https://support.huaweicloud.com/usermanual-eip/eip_0008.html)。 弹性公网IP的建议配置如下： - "计费模式"："按需计费"  - "公网带宽"："按流量计费"  - "带宽大小"："20"   |
      
   
7. 单击"确定"完成SNAT规则的添加。
 
#### 步骤二：在KooSearch接入DeepSeek模型
将MaaS服务中获取的DeepSeek模型服务接入KooSearch。
1. 登录[云搜索服务管理控制台](https://console.huaweicloud.com/elasticsearch/)。
2. 在左侧导航栏选择"KooSearch \> KooSearch文档问答"，进入KooSearch服务列表。
3. 单击KooSearch服务名称，进入服务详情页。
4. 给KooSearch配置集群路由，使KooSearch能够通过公网接入DeepSeek。
   1. 在服务详情页，单击"集群路由"后面的"添加路由"。
   
   2. 在"添加路由"弹窗中，配置路由信息。
      表3配置集群路由 
      | 参数   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      |:---|:---|
      | ip地址 | 填写MaaS服务中DeepSeek模型服务的IP地址。 获取方式：在执行机ping DeepSeek模型服务的域名，解析后即可获得IP地址。例如获取到的DeepSeek模型服务的API地址是"https://example.example.com/v1/infers/xxxx"，则域名是"example.example.com"，在执行机执行命令ping example.example.com，回显如下，则表示IP地址是"xxx.xxx.xxx.xxx"。 ``` 正在 Ping example.example.com [xxx.xxx.xxx.xxx] 具有 32 字节的数据: 来自 xxx.xxx.xxx.xxx 的回复: 字节=32 时间=33ms TTL=55 ``` |
      | 子网掩码 | 填写"255.255.255.255"。                                                                                                                                                                                                                                                                                                                                                                                                                               |
         
      
   
   3. 单击"确定"完成集群路由配置。
    
5. 返回KooSearch服务列表，选择服务，单击操作列的"问答"，前往KooSearch控制台。
6. 创建模型服务，接入DeepSeek。
   1. 在KooSearch左侧导航栏选择"配置管理 \> 模型管理"，进入"模型管理"页面。
   
   2. 单击右上角的"新建模型服务"，弹出新建模型服务页面。
      图1新建模型服务   
      ![](https://support.huaweicloud.com/bestpractice-koosearch/figure/zh-cn_image_0000002181559326.png) 
   
   3. 在新建模型服务页面，配置模型服务。
      表4新建模型服务 
      | 参数       | 说明                                                                                                                                                                                                                      |
      |:---|:---|
      | 模型服务名称   | 自定义模型服务名称，不能为空。                                                                                                                                                                                                         |
      | 模型类型     | 选择"NLP模型-昇腾云"，表示通过昇腾云的MaaS服务提供的NLP大模型访问方式。                                                                                                                                                                              |
      | 访问地址     | 填写MaaS服务中DeepSeek模型服务的"API地址"。获取方式请参见[准备工作]。                                                                                                                        |
      | 模型描述     | 模型详细信息的描述。                                                                                                                                                                                                              |
      | 昇腾云模型名称  | 填写MaaS服务中DeepSeek模型服务的"模型名称"，获取方式请参见[准备工作]。                                                                                                                         |
      | 上下文长度（K） | NLP大模型在进行一次特定的推理时可以考虑的最大令牌数。可以扩展上下文以生成更全面的响应。                                                                                                                                                                           |
      | 认证类型     | 勾选"自定义认证"，添加自定义请求头。"标头键"填写"Authorization"，"标头值"填写"Bearer+空格+DeepSeek的API Key"，例如获取到的API Key为"abcdef"，则此处填写"Bearer abcdef"。MaaS服务中DeepSeek模型服务的API Key获取方式请参见[准备工作]。 |
         
      
   
   4. 单击"确定"，在弹出来的"新建模型服务声明"弹框中勾选同意，再单击"确认"创建模型服务。
   
   5. 当模型"连通性"显示"正常"时，表示模型对接成功。
    
 
#### 体验知识问答
1. 创建知识库。
   1. 在KooSearch控制台的左侧导航栏选择"知识库管理"，进入知识库管理页面。
   
   2. 单击右上角"新建知识库"，进入新建知识库页面。
   
   3. 在"新建知识库"页面设置知识库信息。 在"模型设置"页签，设置"NLP模型服务"，选择上一步新建的模型服务。
      其他参数可以保持默认值或基于业务场景配置。
      
   
   4. 设置好后，单击"确定"完成知识库创建。
   
   5. 在知识库列表，选择新建知识库，单击操作列的"文档管理"。进入知识库详情页面。
   
   6. 选择"文档管理"页签，单击"上传"。在上传对话框中单击"选择文档"，本地选择已提前准备好的文档。重复的文档不允许上传。
      图2上传文档   
      ![](https://support.huaweicloud.com/bestpractice-koosearch/figure/zh-cn_image_0000002523842319.png)
      
      
   
   7. 单击"确认"。文档上传后，可在文档管理页签查看已上传的文档，当"文档状态"为"正常"，说明文档已上传成功。
    
2. 选择知识库。
   1. 在KooSearch控制台，左侧导航栏选择"体验平台"，进入体验平台页面。
   
   2. 单击右上角![](https://support.huaweicloud.com/bestpractice-koosearch/figure/zh-cn_image_0000002216885185.png)，在"引用来源"对话框勾选新建的知识库，单击"确定"。
    
3. 体验问答。 KooSearch同时支持由大模型自身知识回答和通过文章内容回答。
   1. 在"体验平台"页面右上角单击"问答"，切换至问答体验页面。
   
   2. 在输入框中输入问题，单击![](https://support.huaweicloud.com/bestpractice-koosearch/figure/zh-cn_image_0000002181719030.png)，查看返回的答案。
      图3体验问答   
      ![](https://support.huaweicloud.com/bestpractice-koosearch/figure/zh-cn_image_0000002392365673.png)
      
      
    
 
