dify的知识库如何通过API调用操作

大家在基于dify开发Workflow和Agent的过程中,都会用到知识库,dify提供了相应的功能实现知识库的管理,但有时候需要我们通过调用知识库的API服务接口,实现对知识库的管控,那么该如何实现呢?本文主要基于dify的API编写的演示示例,供大家参考。主要实现获取知识库,指定知识库文件的上传、知识库包含数据集的增删、分块内容的更新删除,标签更新删除等等。具体如下。

一、知识库文件上传

实现将指定文件上传到dify后端服务器中,为后续知识库中数据集构建做准备。如下图上方是请求部分,下方是返回结果,id是上传文件后的指定编号,后续在创建数据集时使用。

二、知识库的数据集操作
1.新增数据集

输入参数,详见下图。这里url里面的id是指定知识库id(相当于创建知识库后返回的知识库id),输入参数中的file_ids为上一步上传文件后分配的文件id,目的是将该文件作为数据集加载到指定知识库,并指定embedding模型、分块模式等参数,详见body里面指定的具体参数值。

输出结果,详见下图,这里的id是创建的数据集id。

2.删除数据集

将指定知识库下的数据集删除掉,这里url中的前一个id是知识库id,后一个id是数据集id(即:可以是上一步创建的数据集id)

三、知识库数据集的分块操作
1.增加更新分块

实现增加或更新单一分块,详见下图。
输入参数,这里url的第一个id是知识库id,第二个id是数据集id。body内容中指定了分块内容文本,主要关键词作为标签。

输出结果,这里的id是分块id,content是分块内容,keywords是关键词标签。

2.批量添加分块

在指定数据集下批量添加分块,详见下图。批量添加分块需要一个csv格式的固定模版,如下图,相当于按照给模版整理数据,并将该模版文件每一行分别添加到指定知识库的数据集中,并自动生成标签。这里url中的第一个id是知识库id,第二个id是数据集id。

3.删除分块

实现知识库数据集中指定分块的删除,这里url的第一个id是知识库id,第二个id是数据集id,第三个id很清楚,是分块id。

4.获取所有分块
相关推荐
胡西风_foxww2 天前
ObsidianAI_学习一个陌生知识领域_建立学习路径和知识库框架_写一本书
人工智能·笔记·学习·知识库·obsidian·notebooklm·写一本书
千桐科技3 天前
qKnow 知识平台商业版 v2.6.1 正式发布:移除对第三方 LLM 应用框架的依赖,一次真正走向自主可控的里程碑升级
大模型·知识图谱·图数据库·知识库·rag·qknow·知识平台
钱多多先森3 天前
【Dify】使用 python 调用 Dify 的 API 服务,查看“知识检索”返回内容,用于前端溯源展示
开发语言·前端·python·dify
用什么都重名3 天前
【Dify学习笔记】:Dify插件离线转换教程
插件·dify·ollama
中杯可乐多加冰4 天前
RAG 深度实践系列(三):RAG 技术演变与核心架构的深度剖析
人工智能·深度学习·大模型·llm·知识库·rag·graphrag
摸鱼仙人~5 天前
Dify 应用用户隔离与会话管理技术方案
dify
大脑经常闹风暴@小猿6 天前
Coze开源了!! 扣子(Coze) 和 dify怎么选?
dify·coze
在线打码7 天前
禅道二次开发:项目月报整合Dify工作流实现AI智能分析
人工智能·ai·禅道·工作流·dify
装不满的克莱因瓶9 天前
【Dify实战】情感陪伴机器人 从零制作教程
人工智能·ai·agent·agi·dify·智能体
JEECG低代码平台11 天前
Jeecg-AI 开源的 AI 应用平台,实现 n8n 的循环节点
低代码·智能问答·知识库·ai平台·ai流程编排·循环节点