OpsPilot功能介绍文档

快速入门

如何创建一个知识问答机器人

背景说明

企业中有大量知识和信息,包括政策、产品说明、流程文档和技术支持等。员工在日常工作中经常需要这些信息,以做出决策或解决问题。传统的查找方式(如手动搜索文档或向同事咨询)可能耗时且效率低下,可以借助OpsPilot,集中管理企业知识,并创建对外使用的机器人,结合大模型提供智能化回答,提升用户体验。

第一步:新建知识库

为了更好的使用机器人,需要对机器人引用的知识进行上传-存储-训练-检索,这些可在“OpsPilot-知识库”中实现。在“知识库”中创建一个知识库,以存储和管理机器人所需的所有信息和数据。

创建知识库

输入知识库的名称和描述,选择归属的组织(知识库的查看和操作权限和所属组织有关),选择Embed模型(用于知识库知识的存储,以便后续高效搜索)

进行知识库文档的上传

  • 知识库文档的上传分为三类,每一类上传有其对应数据需提供。
    • 本地文档(支持上传word、Excel、pdf等格式的文档)
    • 网页文档(直接引用网站信息)
    • 自定义文档(自行撰写的文档)
  • 选择——提供知识本体
    • 本地文件:点击提示区域自动打开资源管理器,打开需要上传文件夹选取文件上传;或者提前打开文件夹,选取文件直接拖拽到有效区域内。
    • 网页文档:为此文档定义名称方便理解,输入需要上传的网址链接,选择对于该网址需要跳转的网址数量(深度)。
    • 自定义文本:一些零散或者自创的内容可通过手动输入创建。
  • 预处理——文档分块设置
    • 分块解析:将大型文档切分为多个小块,设定每个小块的大小
    • 语义分块:设定分块时是否需要根据语义分块。比如:一句话,2025.3.4xx新型手机上线,按照大小,”新型“前单独一块,”新型“及以后一块,按大小分会破坏语义导致难以理解。若开启,则优先保持语义完整,再按照大小分。
    • OCR增强:开启则将图像中可识别字符转换为文本,不开启则默认保持图片原本状态。
    • Excel解析:专门处理excel文件、表格。
  • 完成阶段
    • 训练状态:返回文档列表查看上传知识的状态。文档上传-切片完成后,会对所有的文档进行切片和训练,状态为“就绪”时,说明该文档可使用。
    • 测试:文档创建好后,对该知识库的检索进行设置,并测试效果。

第二步:新建技能

接下来,需要定义机器人的技能,这些技能可以包括自然语言处理、特定领域的问答、对话管理等。根据需求设定技能的逻辑和流程,以确保机器人能够有效地响应用户请求。(注意权限分组设置)

在配置机器人的技能信息时,需要填写的参数如下:

完成设置后,用户可通过与机器人对话来测试和优化技能效果。

第三步:新建机器人

当技能创建完成后,我们需要正式创建Bot,并且把Bot发布出去,以供大家使用。

Bot需要填写名称、分析和介绍等信息,并且选择使用的模型(目前只用内置核心模型可使用),并选择这个Bot使用的技能以及发布的渠道。

Bot的渠道目前支持四类,需要提前在Channel中设置好需要使用渠道的参数信息。

全部设置完后,点击“发布”按钮,即可进行Bot的发布

第四步:使用机器人

目前OpsPilOt支持 Web,企微和钉钉三类通知渠道,可以按照设定的机器人域名/端口等信息,在三类渠道上发布。

比如在企微工作台创建应用,并且接入机器人,即可实现对话。

第五步:查看对话情况

当用户对话完成后,可以在Bot中查看所有用户的对话记录。

功能介绍

工作室

机器人管理模块主要用于对Pilot进行管理,在这里可以对Pilot进行上线、下线,回复规则与对话记录管理等操作。为了适用不同的场景,比如服务台知识库问答,运维专门问答等场景,可以设置不同的机器人,一个机器人对应一个Pilot,Pilot被K8S所调度,每个Pilot本质上是一个Pod。

机器人列表

机器人列表展示了所有创建的机器人,支持对机器人进行上线/下线。上线的机器人可以正常运行,通过配置前端对话框响应与其交互的请求;下线的机器人则停止工作,不再响应请求。

机器人基础配置

对每个机器人进行基础模型和LLM技能的配置,让该机器人具备对应能力

基本信息

针对每一台机器人,可以设置其名称、描述等基本信息。基本信息有助于理解机器人的作用和状态,并且可以作为识别和搜索的条件。

模型设置

为该机器人选择一个基础模型进行服务,基础模型是机器人在进行意图识别、语言处理等任务时所依赖的基本AI模型。目前已经内置了核心模型。

LLM技能

为该机器人选择对应的LLM技能,比如开放知识问答等等,LLM是在基础模型上增加的技能包,可以提供更精细、更高级的语言理解和任务执行。

渠道

为机器人的对外沟通提供渠道,在“Channel”已经配置好,并且开启的渠道可以在这里进行勾选

保存和上线

当机器人都设置好后,可以进行发布和上线,上线后,可以通过通知渠道进行对话。

消息通道

为了满足使用者多渠道的使用需求,机器人支持设置与用户进行交互的通道,比如Web网站、企业微信、钉钉、公众号等通道配置,可以使机器人更好地为用户提供服务。OpsPilot内置了多种消息通道,让Pilot能够与用户进行交流,支持的消息通道包含:

企业微信应用

  • 参数配置:需要选择类型填写配置参数,所有参数需在企业微信的后台管理中查询到。
  • 2.根据需求,自定义机器人的logo、命名、介绍,选择本企业微信中可见本应用的成员。
  • 3.获取参数——agent id、secret
    • AgentId即agent id,直接复制粘贴即可
    • secret获取
      • 点击查看后,在弹出的弹窗中点击发送
      • 企业微信软件中收到该消息,在企业微信团队的聊天框中获取
  • 4.参数获取——corp id
    • 在”我的企业“中,找到企业ID。企业ID即corp id
  • 5.参数获取——tokenaes key
    • 回到”应用管理-应用-自建-刚刚建立的应用“中
    • 在该应用的详情页找到”功能- 设置API接收”即可生成token和aes Key
    • URL一栏填入:https://ops-pilot.canway.net/opspilot/studio,实现机器人和企业微信应用的双向交流
    • token=Token 、aes key=EncodingAESKey,点击随机生成保存即可。

钉钉

  • 1.需要填写参数如下
  • 2.创建应用以提供与机器人的交流接口
    • 进入钉钉的开发者后台,网址:https://open-dev.dingtalk.com/
    • 登陆后,进入“应用开发”页,选择创建“H5微应用”,填写基础信息
  • 3.参数获取client id、client secret

创建完成后,在“凭证与基础信息”中,可获得Client ID(即client id)、Client Secret (即client secret)

  • 4.参数enable eventbus
    • 此参数一般情况下默认为false,即仅与大模型AI进行交流,不需要更改设置。
    • 在有进一步需求的情况下设置为true。
      • 你希望 接收钉钉的事件 并自动处理(如智能回复、自动审批)。
      • 你的大模型应用 需要监听用户消息、审批流、考勤等行为 并基于此做出智能响应。

Web

可以通过嵌入WebChat组件,在网页中与Pilot进行交流

公众号

  • 1.需要填写参数如下:appid、secret、token、aes key
  • 2.登录服务号后台(企业公众号)
    • 访问微信公众平台:https://mp.weixin.qq.com/,登录企业账号
    • 若无服务号,根据企业自身信息进行填写注册后再操作

  • 3.参数获取:appid、secret
    • 找到”设置与开发“-“开发接口管理”-“基本配置”
    • 开发者ID(AppID)即appid,开发者密码(AppSecret)即secret
  • 4.参数获取:token、aes key
    • 找到”账户开发信息“下方的”服务器配置“
    • 未启用服务器配置——修改配置
  • 已启用配置:直接获取:令牌(Token)即token、消息加解密密钥 (EncodingAESKey)即aes key

机器人对话记录

对话记录里面记录了每个机器人与用户的对话记录,可以用于对话记录的审计等场景,点击详情可以查看每轮对话的细节。目前同一个渠道的同一个用户一天内的所有对话会聚合成一条记录。

技能

在OpsPilot里面,技能是指机器人的能力,比如对话、自动执行等,技能创建完成后,可以被机器人所使用。

技能列表

技能列表以卡片的形式展示用户有权限的技能,普通用户可以查看/操作自己所在组织的所有技能;超管可以查看/操作所有的技能。

技能创建/编辑

这个页面的功能主要是用于添加新的技能。用户可以输入相关信息:

技能设置

基本信息

可以对技能的基本信息进行配置

聊天增强

对于LLM技能,侧重于对话过程,所以可以在这里对对话的相关参数进行配置,以增强对话的准确度和体验。

技能测试

当基础信息和对话增强设置好后,可以通过与机器人对话的方式,测试一下效果。

知识库

知识管理模块提供了对知识库的管理,支持用户上传文件型知识、人工录入的知识、URL爬取的知识,由多个种类的知识聚合而成,并且利用各种算法提升知识索引的准确性。

知识库管理解决了以下问题

  • 1、哪些知识组成了这个知识库:支持上传/爬取多种类型、多个领域的专业知识。
  • 2、如何对知识使用怎么样的分块模式:内置
  • 3、如何检索准确:使用混合检索+ReRank,让检索变得更加准确,混合搜索的时候,语义检索和文本检索的权重可以灵活分配

总的来说,在知识库这里对知识进行上传、管理和加工,进行精细化的配置,以供LLM技能使用。

知识库列表

知识库列表以卡片的形式展示用户有权限的知识库,普通用户可以查看/操作自己所在组织的所有知识库;超管可以查看/操作所有的知识库

知识库创建

知识库编辑/删除

知识库可以进行内容的重新编辑,包括重新更新名称/分组/简介,其中可以切换Embed模型,切换后整个知识库将会根据新选择的Embed模型进行所有知识的重新训练,训练的进度可在知识库详情中查看。

知识库文档管理

OpsPilot能够管理知识,包括 文件知识手工录入网页知识,并供知识库使用。

文档上传

新增知识的第一步是知识上传,包括三类,文本类的知识可以直接上传、网页知识需要填写对应URL、自定义文本需要手动录入

文本知识

在日常运维过程中,会产生多种类型的知识,他们一般会以文件类型存在,这也是OpsPilot知识库中最主要的私域知识来源,根据需求自行上传多个本地文件。

网页知识
  • 互联网上有非常多有用的知识,例如RabbitMQ的官方文档、Redis的官方文档,这些软件会因为对应版本的不一样,具备不一样的特性,或者具备不一样的命令行参数,可以使用网页知识,对他们进行快速、持续的知识捕获。
  • 深度:输入的网址内部有多个可以进一步跳转的网址,以此类推深入,选择需要跳转多少次。1次——只打开输入的网址,获取此页面内容;2次——获取输入网址的页面内容,并打开此网址内可跳转的链接,打开这些链接去获取这些页面的内容。以此类推。
自定义文本

运维脚本的代码段、零散的碎片知识,都适合用手工录入的方式形成知识,让OpsPilot能够对其进行使用

文档处理配置

新增知识的第二步是知识的预处理,对传入的知识进行分块处理,通过将知识进行分块,可以更有效地组织和存储数据,使得搜索引擎在查找相关信息时能够更快地定位目标数据,从而提高检索效率。

设置项包括分块解析、语义分块解析、OCR增强和Excel解析等多种算法,以提取和优化信息。设置完成,可以点击“查看块”,预览文档分块的情况,若不符合预期,则可以再次调整分块的算法。

文档分片和训练

新增知识的第三步是知识的分片和训练,知识上传完成后,点击“完成”即自动进入“上传-分块-训练”的阶段,可以在知识库的左下角查看每个文档的训练进度。

知识库测试

为了测试知识库分块和检索的效果,可以输入关键词进行检索,测试搜索到的结果。

测试时需要填写知识库相关配置,包括Embed模型(选择后,请在知识库的卡片页面进行编辑修改)、检索设置,调整完成后需要点击“应用配置”,该配置信息才会被保存,关于检索设置的解释说明如下:

知识库设置

支持对知识库进行配置

  1. 基础配置:包括名称、简介等基本信息的修改
  2. 检索配置:检索配置与“知识库-测试”一致

供应商

在供应商功能块,可以对OpsPilot能够使用的相关模型进行管理和配置,目前已经内置常用模型,仅支持配置,不支持新增。

LLM模型

LLM模型用于配置模型的基础配置,如凭据,方便后续的“技能”所使用,OpsPilot内置以下LLM模型的支持:

DeepSeekOpenAI
DeepSeekGPT-1.3
DEEP-SEEKGPT-3.5-Turbo-16K
DeepSeek-R1:1.5bGPT-4-32K
GTP-4o

LLM模型支持编辑和开关等操作:

配置URL:用户可以通过配置特定的API URL来接入供应商的LLM模型,这样应用程序能够与模型进行通信,从而发送请求和接收响应。

API密钥 :为了确保数据安全和访问控制,用户需要配置API密钥。这个密钥用于验证用户的身份,确保只有授权的用户能够访问和使用模型。

开启/关闭功能 :用户可以根据需要启用或禁用LLM模型,这样可以灵活使用相关模型。

Embed模型

Embed模型为知识提供向量化的能力,是知识库能够进行语义检索的支撑功能,OpsPilot内置以下Embed模型,内置的这些模块可以在“知识库“中进行使用。

ReRank模型

ReRank模型可以对检索出来的知识进行重排序,让大模型在使用RAG能力的时候,知识检索效果更好。OpsPilot内置以下ReRank模型,内置的这些模块可以在“知识库”中进行使用,用于知识库检索效果的优化。

  • BCEReranker
    • bce-reranker-base_v1

OCR模型

OCR(光学字符识别)模型是一种用于将图像中的文本信息转化为可编辑文本数据的技术,广泛应用于文档数字化和信息提取。主要用于“知识库-知识上传”时,识别知识时使用。OpsPilot内置以下模型

  • PaddleOCR
  • AzureOCR

API调用说明

技能API调用

API调用说明

提供技能的对外接口,用户可以调用接口实现技能的使用。

API调用示例

获取技能列表

请求参数

参数名称是否必须示例
name技能1
page_size10
page1

返回数据

字段说明如下:

  • result: true 指示请求是否成功。
  • code: "20000" 状态码,表示请求成功。
  • message: "success" 请求结果的描述信息。
  • data: 数据对象,包含具体的返回数据。
  • count: 1 返回的条目数量。
  • items: [...] 数据条目的数组,包含具体的记录信息。
  • id: 10 唯一标识符,表示该对象的 ID。
  • team_name: ["游客"] 团队名称的数组,表示该对象所属的团队。
  • created_by: "1406489435@qq.com" 创建该记录的用户的邮箱地址。
  • updated_by: "1406489435@qq.com" 最后更新该记录的用户的邮箱地址。
  • name: "你好hello" 名称。
  • skill_id: null 技能标识符,当前为空,表示没有关联技能。
  • skill_prompt: null 技能提示,当前为空,表示没有关联技能提示。
  • enable_conversation_history: false 布尔值,指示是否启用对话历史。
  • conversation_window_size: 10 指定对话窗口的大小,即可回顾的聊天记录条数。
  • enable_rag: false 布尔值,指示是否启用 RAG(Retrieval-Augmented Generation)。
  • enable_rag_knowledge_source: false 布尔值,指示是否启用 RAG 知识来源。
  • rag_score_threshold: 0.7 RAG 分数阈值,决定哪些知识被纳入对话中。
  • introduction: "56" 记录的简介信息。
  • team: ["8bb5627e-3a25-45b9-850b-62d570a9282b"] 团队的唯一标识 ID,用于关联团队。
  • llm_model: null 大语言模型的标识符,当前为空。
  • knowledge_base: [] 知识库的数组,当前为空,表示没有关联的知识内容。

技能测试

请求参数

Headers:

参数名称是否必须示例
Content-Typeapplication/json

Query:

参数名称是否必须示例
name技能1
page_size10
page1

Body:

字段说明:

  • user_message: "你好" 用户消息,表示传递给大模型的信息。
  • llm_model: 1 大模型ID,表示选择的大语言模型的标识符。
  • skill_prompt: "abc" Prompt,用于引导大语言模型的提示信息。
  • enable_rag: true 布尔值,指示是否启用RAG(Retrieval-Augmented Generation)。
  • enable_rag_knowledge_source: true 布尔值,指示是否显示RAG知识来源。
  • rag_score_threshold: [{"knowledge_base": 1, "score": 0.7}] RAG分数阈值,包含知识库ID和分数的数组。
  • chat_history: [{"event": "user", "text": "abc"}, {"event": "bot", "text": "ab"}] 对话历史,包含用户和机器人的聊天记录。
  • conversation_window_size: 10 对话窗口大小,即可回顾的聊天记录条数。
  • temperature: 0.7 大语言模型生成文本时的温度参数,控制输出的随机性。
  • show_think: true 布尔值,指示是否展示think内容,`false`时不展示思考过程。
  • tools: ["shell", "duckduckgo-search", "prometheus-search"] 工具的数组,目前支持shell, duckduckgo-search, prometheus-search。

返回数据

字段说明

  • result: true 指示请求是否成功。
  • code: "20000" 状态码,表示请求成功。
  • message: "success" 请求结果的描述信息。
  • data: 数据对象,包含具体的返回数据。
  • count: 1 返回的条目数量。
  • items: [...] 数据条目的数组,包含具体的记录信息。
  • id: 10 唯一标识符,用于标识该数据对象。
  • team_name: ["游客"] 团队名称的数组,表示该记录所属的团队是“游客”。
  • created_by: "1406489435@qq.com" 创建用户的邮箱地址。
  • updated_by: "1406489435@qq.com" 最后更新该记录的用户的邮箱地址。
  • name: "你好hello" 名称,表明这是一个对话主题或标识。
  • skill_id: null 技能标识符,当前为空,表示此记录并未指定任何技能。
  • skill_prompt: null 技能提示,当前为空,表示没有为该记录提供技能提示。
  • enable_conversation_history: false 布尔值,指示是否启用对话历史记录。
  • conversation_window_size: 10 对话窗口大小,即可回顾的聊天记录条数。
  • enable_rag: false 布尔值,指示是否启用 RAG(Retrieval-Augmented Generation)。
  • enable_rag_knowledge_source: false 布尔值,指示是否启用 RAG 知识来源。
  • rag_score_threshold: 0.7 RAG 分数阈值,决定哪些知识会被纳入对话中。
  • introduction: "56" 记录的简介信息。
  • team: ["8bb5627e-3a25-45b9-850b-62d570a9282b"] 团队的唯一标识 ID,用于关联团队。
  • llm_model: null 大语言模型的标识符,当前为空。
  • knowledge_base: [] 知识库的数组,当前为空,表示没有关联的知识内容。

技能设置保存

请求参数

路径参数:

参数名称示例备注
id1

Headers:

参数名称参数值是否必须
Content-Typeapplication/json

Query:

参数名称是否必须示例
name技能1
page_size10
page1

Body:

返回数据

知识库API调用

API调用说明

提供知识库的对外接口,用户可以基于关键字进行检索相关知识库内容

API调用示例

1.查询知识库

请求参数

参数名称是否必须示例
name12

输出示例

字段说明如下:

  • result: `true` 请求是否成功,`true` 为成功。
  • data: `[...]` 数据条目的数组,包含具体的记录信息。
  • id: `1` 唯一标识符,表示该对象的 ID。
  • team_name: `["admin"]` 团队名称的数组,表示该对象所属的团队。
  • created_at: `"2024-09-04 15:52:21"` 创建时间。
  • updated_at: `"2024-09-04 15:52:21"` 最后更新时间。
  • created_by: `"admin"` 创建该记录的用户。
  • updated_by: `""` 最后更新该记录的用户。
  • name: `"知识库测试"` 知识库名称。
  • introduction: `"abcjde"` 知识库简介。
  • team: `"2135b2b5-cbb4-4aea-8350-7329dcb6671a"` 团队的唯一标识 ID,用于关联团队。
  • enable_vector_search: `true` 布尔值,指示是否启用向量搜索。
  • vector_search_weight: `0.1` 向量搜索权重,取值0.0~1.0。
  • enable_text_search: `true` 布尔值,指示是否启用文本搜索。
  • text_search_weight: `0.9` 文本搜索权重,取值0.0~1.0。
  • enable_rerank: `false` 布尔值,指示是否启用重新排序。
  • embed_model: `2` 嵌入模型的标识符。
  • rerank_model: `1` 重新排序模型的标识符。

2. 查询知识库文章

请求参数

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
knowledge_source_typefile知识来源类型,file, web_page, manual
train_status00:正在训练,1: 训练完成,2: 训练失败

返回数据

{
  "result": true,
  "data": {
    "count": 11,
    "items": [
      {
        "name": "文章1.doc",
        "status": "Training",
        "chunk_size": 11,
        "created_at": "2021-12-12 12:12:12",
        "created_by": "admin"
      }
    ]
  }
}
  • count: `11` 数据条目数量。
  • items: `[...]` 数据条目的数组,包含具体的记录信息。
  • name: `"文章1.doc"` 文章名称。
  • status: `"Training"` 文章状态。
  • chunk_size: `11` 文章分块大小。
  • created_at: `"2021-12-12 12:12:12"` 文章创建时间。
  • created_by: `"admin"` 创建该文章的用户。

3. 文件上传

请求参数

Headers:

参数名称参数值是否必须示例备注
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
source_typefile知识来源类型,file, web_page, manual

Body:

{
  "knowledge_base_id": 1,
  "files": [] // 文件列表,以file的形式传参,多选
}

返回数据

{
  "result": true,
  "data": [1, 2, 3, 4] // 文件的ID列表
}

字段说明

  • knowledge_base_id: 1 知识库的唯一标识符,用于与具体知识库关联。
  • files: [] 文件列表,以 file 的形式传参,可以多选上传。
  • result: `true` 请求是否成功。
  • data: `[1, 2, 3, 4]` 文件的ID列表。

4. 新增网页

请求参数

Headers:

参数名称参数值是否必须示例备注
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
source_typefile知识来源类型,file, web_page, manual

Body:

{
  "knowledge_base_id": 1,
  "name": "abcd",
  "url": "http://wewewe.wewe",
  "max_depth": 1
}

返回数据

{
  "result": true,
  "data": 1 // 网页知识库的ID
}

字段说明

  • knowledge_base_id: 1 知识库的唯一标识符,用于与具体知识库关联。
  • name: "abcd" 新增网页数据的名称。
  • url: "http://wewewe.wewe" 网页地址的 URL。
  • max_depth: 1 网页爬取的最大深度,限制爬取范围。
  • result: `true` 请求是否成功。
  • data: `1` 新增网页的ID。

5. 新增自定义内容

请求参数

Headers:

参数名称参数值是否必须示例备注
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
source_typefile知识来源类型,file, web_page, manual

Body:

{
  "knowledge_base_id": 1,
  "name": "abcd",
  "content": "abcd"
}

返回数据

{
  "result": true,
  "data": 1 // 自定义内容的ID
}

字段说明

  • knowledge_base_id: 1 知识库的唯一标识符,用于与具体知识库关联。
  • name: "abcd" 自定义内容的名称。
  • content: "abcd" 自定义添加的内容,文本记录。
  • result: `true` 请求是否成功。
  • data: `1` 自定义内容的ID。

6. 知识库文章批量训练

请求参数

Headers:

参数名称参数值是否必须
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
source_typefile知识来源类型,file, web_page, manual

Body:

{
  "knowledge_document_ids": [
    1,
    2,
    3
  ]
}

返回数据

{
  "result": true
}

字段说明

  • knowledge_document_ids: [1, 2, 3] 知识文档的 ID 列表,指定要训练的文档。
  • result: `true` 请求是否成功。

7. 知识库文章Testing

请求参数

Headers:

参数名称参数值是否必须
Content-Typeapplication/json

Body:

{
  "knowledge_base_id": 1,
  "query": "",
  "embed_model": 1, // 所选的模型
  "enable_rerank": true, // 启用rerank
  "rerank_model": 1, // 所选的rerank_model
  "enable_text_search": true,
  "text_search_weight": 0.9, // 文本权重
  "enable_vector_search": true,
  "vector_search_weight": 0.1, // 混合权重
  "rag_k": 50, // 返回结果数量
  "rag_num_candidates": 1000, //候选数量
  "text_search_mode": "match" // match 模糊,match_phrase 完整匹配
}

返回数据

{
  "result": true,
  "data": [
    {
      "id": 1,
      "name": "acb",
      "knowledge_source_type": "file",
      "created_by": "admin",
      "created_at": "2020-12-12 12:21:12",
      "content": "",
      "score": 1000,
    }   
  ]
}

字段说明

  • knowledge_base_id: 1 知识库的唯一标识符,用于与具体知识库关联。
  • query: "" 查询关键字。
  • embed_model: 1 指定特定嵌入模型的 ID。
  • enable_rerank: true 是否启用重排序功能。
  • rerank_model: 1 重排序启用时所选的模型 ID。
  • enable_text_search: true 是否启用文本搜索功能。
  • text_search_weight: 0.9 文本搜索的权重。
  • enable_vector_search: true 是否启用向量搜索功能。
  • vector_search_weight: 0.1 向量搜索的权重。
  • rag_k: 50 返回结果的数量。
  • rag_num_candidates: 1000 候选结果数量。
  • text_search_mode: "match" 文本搜索模式,match 表示模糊匹配,match_phrase 表示完整匹配。
  • result: `true` 请求是否成功。
  • data: `[...]` 数据条目的数组,包含具体的记录信息。
  • id: `1` 唯一标识符,表示该对象的 ID。
  • name: `"acb"` 文章名称。
  • knowledge_source_type: `"file"` 文章来源类型。
  • created_by: `"admin"` 创建该记录的用户。
  • created_at: `"2020-12-12 12:21:12"` 创建时间。
  • content: `""` 文章内容。
  • score: `1000` 文章评分。

8. 知识库文章块删除

请求参数

路径参数:

参数名称示例备注
id1文档ID

Headers:

参数名称参数值是否必须示例备注
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
search_text123查询文本

Body:

{
  "chunk_id": "35196cd0-bda7-49be-91f0-8b2983109685"
}

返回数据

{
  "result": true
}

字段说明

  • chunk_id: "35196cd0-bda7-49be-91f0-8b2983109685" 要删除的块的唯一标识符。
  • result: `true` 请求是否成功。

9. 知识库文章配置调整

请求参数

Headers:

参数名称参数值是否必须示例备注
Content-Typeapplication/json

Query:

参数名称是否必须示例备注
knowledge_base_id1知识库ID
nameaa
page1当前页码
page_size1每页条数
source_typefile知识来源类型,file, web_page, manual

Body:

{
  "preview": false, // 是否预览,预览为true的情况下会文档分块返回
  "knowledge_source_type": "file", // 本地文件:file, 网络链接: web_page, 自定义文本: manual
  "knowledge_document_ids": [1, 2, 3], // 文章ID列表,文件上传时是多个,其它两个为单数字列表
  "enable_general_parse": true, // 开启分块解析
  "general_parse_chunk_size": 256, // 块大小
  "general_parse_chunk_overlap": 32, // 分块重叠
  "enable_semantic_chunk_parse": true,
  "semantic_chunk_parse_embedding_model": 1,
  "enable_ocr_parse": true,
  "ocr_model": 1,
  "enable_excel_parse": true,
  "excel_header_row_parse": true,
  "excel_full_content_parse": false,
  "is_save_only": false  // 是否仅保存
}

返回数据

{
  "result": true,
  "data": []
}

字段说明

  • preview: false 是否预览,预览状态下文档会分块返回。
  • knowledge_source_type: "file" 知识源类型,可选值为:本地文件(file)、网络链接(web_page)、自定义文本(manual)。
  • knowledge_document_ids: [1, 2, 3] 知识文档的 ID 列表,设置训练或配置的文档。
  • enable_general_parse: true 是否启用分块解析。
  • general_parse_chunk_size: 256 块大小,定义每块的最大字符数。
  • general_parse_chunk_overlap: 32 块重叠大小,定义块之间的重叠字符数。
  • enable_semantic_chunk_parse: true 是否启用语义分块解析。
  • semantic_chunk_parse_embedding_model: 1 使用的语义嵌入模型 ID。
  • enable_ocr_parse: true 是否启用 OCR(光学字符识别)解析。
  • ocr_model: 1 OCR 模型的 ID。
  • enable_excel_parse: true 是否启用 Excel 文件解析。
  • excel_header_row_parse: true 是否仅解析 Excel 文件的标题行。
  • excel_full_content_parse: false 是否解析 Excel 的完整内容。
  • is_save_only: false 是否仅保存配置,false 表示执行配置调整。
  • result: `true` 请求是否成功。
  • data: `[]` 返回的数据,当前为空。

设置

管理凭据

在此界面可以根据自身权限为不同角色设置不同的配额

我的凭据

显示我的总配额使用量。当配额不足时,可以联系管理员申请增加

接口秘密值

暂无评论

发送评论 编辑评论


				
上一篇
下一篇