Dify中的高质量索引模式实现过程

思考在什么情况下会使用到高质量索引模式呢?第1种情况是在知识库中上传文档,文档被拆分为段落后需要进行编码(增加);第2种情况是在召回测试的时候,需要对query进行编码(查询);第3种情况是当文档中的段落增加和更新时需要进行编码(增加和更新)。索引模式是针对知识库设置的,即对该知识库中所有的文档都生效。本文主要解释Dify中的高质量索引模式实现过程。

一.高质量索引模式操作

调用 大模型(比如OpenAI) 的嵌入接口进行处理,以在用户查询时提供更高的准确度。可在模型供应商中设置默认的系统推理模型、Embedding模型和Rerank模型。

datasets数据表中会记录使用的embedding_modelembedding_model_providerretrieval_model。其中retrieval_model内容格式如下:

{
   
        "top_k": 2,
        "search_method": "semantic_search",
        "reranking_model": {
   
                "reranking_model_name": "",
                "reranking_provider_name": ""
        },
        "score_threshold": null,
        "reranking_enable": false,
        "score_threshold_enabled": false
}

semantic_search就是向量检索,即通过生成查询嵌入并查询与其向量表示最相似的文本分段。除此外还有全文检索(索引文档中的所有词汇,从而允许用户查询任意词汇,并返回包含这些词汇的文本片段)和混合检索(同时执行全文检索和向量检索,并应用重排序步骤,从两类查询结果中选择匹配用户问题的最佳结果,需配置Rerank模型API)。

相关推荐

  1. Qt:实现gitdiff功能

    2024-07-19 22:36:02       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 22:36:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 22:36:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 22:36:02       45 阅读
  4. Python语言-面向对象

    2024-07-19 22:36:02       55 阅读

热门阅读

  1. vue实现可拖拽dialog封装

    2024-07-19 22:36:02       19 阅读
  2. 网络安全-网络安全及其防护措施4

    2024-07-19 22:36:02       18 阅读
  3. php cms 如何适配php8.3

    2024-07-19 22:36:02       13 阅读
  4. 聚类优化:Scikit-Learn中的数据标签分配艺术

    2024-07-19 22:36:02       16 阅读
  5. 【乐吾乐2D可视化组态编辑器】切换画面

    2024-07-19 22:36:02       17 阅读
  6. 第4章 Express路由的深入理解(一)

    2024-07-19 22:36:02       17 阅读
  7. CSS实现从上往下过渡效果

    2024-07-19 22:36:02       16 阅读