跳到主要内容

知识库使用指南

本文档旨在帮助用户创建、更新、绑定和管理知识库,便于用户高效上传和管理文档,并与机器人进行集成。

1. 创建知识库

创建知识库的步骤如下:

  1. 设置知识库名称与描述:输入清晰的名称和简短描述,以便快速识别该知识库的内容。

  2. 选择嵌入模型(Embedding Model):选择一个合适的嵌入模型,用于文档检索。

  3. 配置相似度阈值:设置检索时的相似度阈值,以影响查询结果的相关度。

  4. 调整文本分割参数

    • Chunk Size:定义每个文本块的大小。较大的 chunk_size 会包含更多的上下文,但可能导致提示(prompt)超出模型的上下文限制。如果需要进行文档级别的检索(例如 RAG),建议将 chunk_size 设置得较大(如 5000 字符或更多)。请注意,设置过大会导致模型无法处理超出其最大上下文的内容。
    • Overlap:设置文本块之间的重叠部分。适当的重叠(如块大小的 10%-20%)有助于确保上下文信息的完整性。
    • Top K:定义每次检索时返回的最相关 K 个结果。较高的 Top K 数值会返回更多的匹配结果,但也会增加计算量。

    示例

    • 若需要按整篇文档进行 RAG 检索,chunk_size 可以设置为 5000 字符,overlap 设置为 500(即每个块有 500 字符的重叠)。Top K 可以设置为 10,意味着每次检索时返回最相关的 10 个块。
  5. 点击提交:设置完成后,点击“Submit”按钮保存并创建知识库。

create_knowledge

可选配置 - Folder Path
此项为可选设置。如果填写该路径,知识库将与指定的文件夹同步,类似于个人云盘功能。如果目录不存在,将会显示错误提示。

create_knowledge_fail

创建成功后,您将看到已创建的知识库列表。

knowledge_show

2. 更新知识库

若需要更新已创建的知识库,可在知识库列表中进行更新操作。以下为更新界面截图:

update_knowledge

:更改 chunk_sizeoverlapembedding_model 时,知识库将重新建立索引。

3. 绑定机器人

为了让机器人能够访问并利用知识库,您需要将知识库与机器人绑定。操作步骤如下:

  1. 进入“Bot”页面。
  2. 点击“绑定知识库”按钮。
  3. 选择要绑定的知识库。

bind_bot

4. 上传文档

您可以通过两种方式上传文档:

4.1 直接上传至知识库

进入相应的知识库页面,点击上传按钮,支持以下两种上传方式:

  • 上传文件:直接上传本地文件。
  • 上传 URL 链接:提供文档对应的网络链接进行解析。

upload_file
upload_url

4.2 在聊天页面上传文档

绑定机器人后,您还可以通过聊天页面上传文档。在聊天页面,点击右下角的上传按钮即可。

bot_chat
上传后,系统会自动生成文档摘要。

bot_chat_upload

5. 查看文档解析进度

上传文档后,您可以查看文档的解析进度。以下是文档解析状态的显示界面:

knowledge_status

6. 如何检查知识库是否生效

6.1 查询是否成功加载

上传并创建知识库后,您可以通过执行查询来检查知识库是否已生效。查询时,系统将返回相关的 chunk。若查询结果为空或未找到相关内容,请检查以下内容:

  • 确保知识库的 chunk_sizeoverlap 设置合理。
  • 检查上传的文档是否已正确解析并存储在知识库中。
  • 参考 6.2 中的查询步骤进行验证。

6.2 查看查询的 Chunk

在知识库绑定到机器人后,您可以在聊天界面查看检索到的 chunk。以下是查看 prompt 和相关查询日志的示例:

prompt_log.png
prompt_log_detail.png

6.3 全文检索

如果您对现有知识库的检索结果不满意,且上传的文件字符数没有超过大模型的最大上下文长度,您可以尝试用大模型直接分析全文。如下所示:

full_retrive.png
full_retrive_detail.png
full_retrive_log.png

7. 在提示词中使用知识库

系统内置了一个知识库变量 {{#context#}},Prompt提示词中将引用该变量将知识库的检索内容传给大模型进行分析处理。

示例

假设你选择了一个名为 Product Knowledge 的知识库,系统自动加载以下模板,并把你输入的Prompt自动放到模版最后面:

Use the following context as your learned knowledge, inside <context></context> XML tags.

<context>
{{#context#}}
</context>

When answer to user:
- If you don't know, just say that you don't know.
- If you don't know when you are not sure, ask for clarification.
Avoid mentioning that you obtained the information from the context.
And answer according to the language of the user's question.
您好,{{user_name}},今天是 {{date}}。请告诉我您的问题。

高级模式(点击“SWITCH TO ADVANCED MODE”)

在提示词编辑的高级模式下,系统会自动加载与所选知识库相关的默认模板。在此基础上进行编辑可以帮助你更好地控制生成的内容。高级模式下,系统会显示如下的内部 Prompt 模版:

Use the following context as your learned knowledge, inside <context></context> XML tags.

<context>
{{#context#}}
</context>

When answer to user:
- If you don't know, just say that you don't know.
- If you don't know when you are not sure, ask for clarification.
Avoid mentioning that you obtained the information from the context.
And answer according to the language of the user's question.

特点

  • 配置灵活。
  • 适用于复杂或定制化的任务。

🔔提示

高级模式与普通模式切换

  • 切换到高级模式时,标准模式中的设置将被保留。
  • 在高级模式下编辑的内容,切换到普通模式时,当前编辑的内容将丢失。
  • 高级模式下,如果将{{#context#}}变量从Prompt提示词中删除,则知识库检索内容不生效。

通过以上步骤,您可以轻松创建、管理知识库,并与机器人集成,支持灵活的文档上传和解析功能。同时,您可以通过调整参数优化检索效果,并查看日志以确保知识库的正常运行。