QAnything接口文档

QAnything接口主要包括7个接口:新建知识库、查看知识库、删除知识库;上传文件、获取文件列表、删除文件;问答。

一.新建知识库(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/new_knowledge_base

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id (如需使用前端填zzp不要更换)
kb_name“kb_test”String知识库名称 (可以随意指定)

3.请求示例

{"user_id": "zzp",  //用户id"kb_name": "kb_test"  //知识库名称
}

4.响应示例

{"code": 200, //状态码"msg": "success", //提示信息"data": {"kb_id": "KB4c50de98d6b548af9aa0bc5e10b2e3a7", //知识库id"kb_name": "kb_test" //知识库名称}
}

二.上传文件(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/upload_files

说明:Content-Type: multipart/form-data

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
files文件二进制[文件类型]需要上传的文件,可多选(当use_lcoal_file为true时,选择无效)
user_id“zzp”String用户id
kb_id“KBb1dd58e8485443ce81166d24f6febda7”String知识库id
mode“strong”String上传模式,soft:文件名重复的文件不再上传,strong:文件名重复的文件强制上传
use_local_fileFALSEBoolean是否使用本地目录上传文件:「source/data」,可选:【true,false】

3.请求示例

同步请求示例:

import os
import requestsurl = "http://{your_host}:8777/api/local_doc_qa/upload_files"
folder_path = "./docx_data"
data = {"user_id": "zzp","kb_id": "KB6dae785cdd5d47a997e890521acbe1c9"
}files = []
for root, dirs, file_names in os.walk(folder_path):for file_name in file_names:if file_name.endswith(".md"):  # 只上传md文件file_path = os.path.join(root, file_name)files.append(("files", open(file_path, "rb")))response = requests.post(url, files=files, data=data)
print(response.text)

异步请求示例:

import argparse
import os
import sys
import json
import aiohttp
import asyncio
import time
import random
import string
import hashlib
import statisticsfiles = []
for root, dirs, file_names in os.walk("./docx_data"):for file_name in file_names:if file_name.endswith(".docx"):  # 只上传docx文件file_path = os.path.join(root, file_name)# if len(file_path) < 50:# print(file_path)files.append(file_path)
print(len(files))
response_times = []async def send_request(round_, files):print(len(files))url = 'http://{your_host}:8777/api/local_doc_qa/upload_files'data = aiohttp.FormData()data.add_field('user_id', 'zzp')data.add_field('kb_id', 'KBf1dafefdb08742f89530acb7e9ed66dd')data.add_field('mode', 'soft')total_size = 0for file_path in files:# print(file_path)file_size = os.path.getsize(file_path)total_size += file_sizedata.add_field('files', open(file_path, 'rb'))print('size:', total_size / (1024 * 1024))try:start_time = time.time()async with aiohttp.ClientSession() as session:async with session.post(url, data=data) as response:end_time = time.time()response_times.append(end_time - start_time)print(f"round_:{round_}, 响应状态码: {response.status}, 响应时间: {end_time - start_time}秒")#print(await response.json())except Exception as e:print(f"请求发送失败: {e}")async def main():start_time = time.time()num = int(sys.argv[1])  // 一次上传数量,http协议限制一次请求data不能大于100M,请自行控制数量round_ = 0r_files = files[:num]tasks = []task = asyncio.create_task(send_request(round_, r_files))tasks.append(task)await asyncio.gather(*tasks)print(f"请求完成")end_time = time.time()total_requests = len(response_times)total_time = end_time - start_timeqps = total_requests / total_timeprint(f"total_time:{total_time}")if __name__ == '__main__':asyncio.run(main())

4.响应示例

{"code": 200,  //状态码"msg": "success,后台正在飞速上传文件,请耐心等待",  //提示信息"data": [{"file_id": "1b6c0781fb9245b2973504cb031cc2f3",  //文件id"file_name": "网易有道智云平台产品介绍2023.6.ppt",  //文件名"status": "gray"  //文件状态(red:入库失败-切分失败,green,成功入库,yellow:入库失败-milvus失败,gray:正在入库)},{"file_id": "aeaec708c7a34952b7de484fb3374f5d","file_name": "有道知识库问答产品介绍.pptx","status": "gray"},{"file_id": "8ee98a88457c414a986a09c536fedde9","file_name": "韦小宝身份证.jpg","status": "gray"},{"file_id": "67af479f907b497cadb30c6e4b2d3fbc","file_name": "成长中心-辅导老师日常问题文档.pdf","status": "gray"}]  //文件列表
}

三.查看知识库(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/list_knowledge_base

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id

3.请求示例

{"user_id": "zzp" //用户id
}

4.响应示例

{"code": 200,  //状态码"msg": "success",  //提示信息"data": [{"kb_id": "KB973d4aea07f14c60ae1974404a636ad4",  //知识库id"kb_name": "kb_test"  //知识库名称}]   //知识库列表
}

四.获取文件列表(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/list_files

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id
kb_id“KBb1dd58e8485443ce81166d24f6febda7”String知识库id

3.请求示例

{"user_id": "zzp", //用户id  注意需要满足 只含有字母 数字 和下划线且字母开头 的要求"kb_id": "KBb1dd58e8485443ce81166d24f6febda7" //知识库id
}

4.响应示例

{"code": 200, //状态码"msg": "success", //提示信息"data": {"total": {  // 知识库所有文件状态"green": 100,"red": 1,"gray": 1,"yellow": 1,},        "details": {  // 每个文件的具体状态{"file_id": "21a9f13832594b0f936b62a54254543b", //文件id"file_name": "有道知识库问答产品介绍.pptx", //文件名"status": "green" //文件状态(red:入库失败-切分失败,green,成功入库,yellow:入库失败-milvus失败,gray:正在入库)},{"file_id": "333e69374a8d4b9bac54f274291f313e", //文件id"file_name": "网易有道智云平台产品介绍2023.6.ppt", //文件名"status": "green" //文件状态(red:入库失败-切分失败,green,成功入库,yellow:入库失败-milvus失败,gray:正在入库)},{"file_id": "709d6c3e071947038645f1f26ad99c6f", //文件id"file_name": "韦小宝身份证.jpg", //文件名"status": "green" //文件状态(red:入库失败-切分失败,green,成功入库,yellow:入库失败-milvus失败,gray:正在入库)},{"file_id": "85297c0b56104028913e89b6834c1a39", //文件id"file_name": "成长中心-辅导老师日常问题文档.pdf", //文件名"status": "green" //文件状态(red:入库失败-切分失败,green,成功入库,yellow:入库失败-milvus失败,gray:正在入库)},}}
}                

五.问答(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/local_doc_chat

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id
kb_ids[“KBb1dd58e8485443ce81166d24f6febda7”]Array知识库id的列表,支持多个知识库联合问答
question“保险单号是多少?”String知识库id的列表,支持多个知识库联合问答
history[[“question1”,“answer1”],[“question2”,“answer2”]]Array历史对话

3.请求示例

{"user_id": "zzp", //用户id"kb_ids": ["KBb1dd58e8485443ce81166d24f6febda7"], //知识库id,支持多个知识库联合问答"question": "保险单号是多少?", //用户问题"history": [] //历史对话:List[str]
}

4.响应示例

{"code": 200, //状态码"msg": "success", //提示信息"question": "保险单号是多少?", //用户问题"response": "保险单号是601J389343982022000536",  //模型回答"related_questions": [],  //相关问题"history": [["保险单号是多少?","保险单号是601J389343982022000536。"]], //历史对话:List[List[str]]"source_documents": [{"file_id": "f9b794233c304dd5b5a010f2ead67f51", //文本内容对应的文件id"file_name": "一嗨案件支付三者车损、人伤保险赔款及权益转让授权书.docx", //文本内容对应的文件名"content": "未支付第三者车损、人伤赔款及同意直赔第三者确认书 华泰财产保险有限公司  北京   分公司: 本人租用一嗨在贵司承保车辆(车牌号:京KML920)商业险保单号: 601J389343982022000536、交强险保单号:  601J310028493882022000570, 对 2023 年 03 月 25日所发生的保险事故(事故号:  9010020230325004124)中所涉及的交强险和商业险的保险赔款总金额 (依:三者京AFT5538定损金额), 同意支付给本次事故中第三者方。 在此本人确认:本人从未支付给第三者方任何赔偿,且承诺不就本次事故再向贵司及一嗨进行索赔。 同时本人保证如上述内容不属实、违反承诺,造成保险人损失的,由本人承担赔偿责任。 确认人(驾驶员)签字:              第三者方签字: 联系电话:                        联系电话: 确认日期:    年    月    日", //文本内容"retrieval_query": "保险单号是多少?", //文本内容对应的问题"score": "3.5585756", //相关性得分,分数越高越相关"embed_version": "local_v0.0.1_20230525_6d4019f1559aef84abc2ab8257e1ad4c" //embedding模型版本号}], //知识库相关文本内容"rematched_source_documents": [] //重新匹配的文本内容
}

六.删除文件(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/delete_files

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id
kb_id“KB1271e71c36ec4028a6542586946a3906”String知识库id
file_ids[“73ff7cf76ff34c8aa3a5a0b4ba3cf534”]Array要删除文件的id,支持批量删除

3.请求示例

{"user_id": "zzp", //用户id"kb_id": "KB1271e71c36ec4028a6542586946a3906", //知识库id"file_ids": ["73ff7cf76ff34c8aa3a5a0b4ba3cf534"] //文件id列表
}

4.响应示例

{"code": 200, //状态码"msg": "documents ['73ff7cf76ff34c8aa3a5a0b4ba3cf534'] delete success" //提示信息
}

七.删除知识库(POST)

1.URL

http://{your_host}:8777/api/local_doc_qa/delete_knowledge_base

2.请求参数(Body)

参数名示例参数值是否必填参数类型描述说明
user_id“zzp”String用户id
kb_ids[“KB1cd81f2bc515437294bda1934a20b235”]Array要删除的知识库id,支持批量删除

3.请求示例

{"user_id": "zzp", //用户id"kb_ids": ["KB1cd81f2bc515437294bda1934a20b235"] //知识库id列表
}

4.响应示例

{"code": 200, //状态码"msg": "Knowledge Base [('KB1cd81f2bc515437294bda1934a20b235',)] delete success" //提示信息
}

参考文献

[1] https://github.com/netease-youdao/QAnything/blob/develop_for_v1.2.2/docs/API.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/365881.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-4o文科成绩超一本线,理科为何表现不佳?

目录 01 评测榜单 02 实际效果 什么&#xff1f;许多大模型的文科成绩竟然超过了一本线&#xff0c;还是在竞争激烈的河南省&#xff1f; 没错&#xff0c;最近有一项大模型“高考大摸底”评测引起了广泛关注。 河南高考文科今年的一本线是521分&#xff0c;根据这项评测&…

《塔瑞斯世界》国服震撼登场!AOC助力玩家开启游戏新征途!

一款真正高画质、重机制、轻数值的MMORPG大作&#xff01; 你是否厌倦了在MMORPG游戏中被“氪金大佬”碾压&#xff1f;你是否渴望一个纯粹依靠技术和策略就能获得成就感的游戏世界&#xff1f;如果你对这两个问题的答案都是肯定的&#xff0c;那么《塔瑞斯世界》或许值得你一…

C++ initializer_list类型推导

目录 initializer_list C自动类型推断 auto typeid decltype initializer_list<T> C支持统一初始化{ }&#xff0c;出现了一个新的类型initializer_list<T>&#xff0c;一切类型都可以用列表初始化。提供了一种更加灵活、安全和明确的方式来初始化对象。 class…

2024年道路运输安全员(企业管理人员)备考题库资料。

46.危险货物道路运输随车携带的单据&#xff0c;下列选项不属于的是&#xff08;&#xff09;。 A.道路运输危险货物安全卡 B.运单或者电子运单 C.道路危险货物运输从业资格证 D.车辆检测报告 答案&#xff1a;D 47.危险货物运输驾驶人员在24小时内实际驾驶车辆时间累计不…

老挝-海外媒体发稿:媒体宣发超给力,打造完美产业链

引言 老挝新闻网&#xff08;laosnews&#xff09;通过海外媒体发稿的方式&#xff0c;取得了显著的成就。借助媒体宣发的力量&#xff0c;老挝成功打造了一个完美的产业链&#xff0c;进一步推动了本国经济的发展。本文将探讨老挝-海外媒体发稿的优势以及产业链的构建和发展。…

完美世界|单机版合集(共22个版本)

前言 我是研究单机的老罗&#xff0c;今天给大家带来的是完美世界的单机版合集&#xff0c;一共22个版本。本人亲自测试了一个版本&#xff0c;运行视频如下&#xff1a; 完美世界|单机版合集 先看所有的版本的文件&#xff0c;文件比较大&#xff0c;准备好空间&#xff0c;差…

2024上海CDIE 参展预告 | 一站式云原生数字化平台已成趋势

为什么企业需要进行数字化转型&#xff1f;大家都在讨论的数字化转型面临哪些困境&#xff1f;2024.6.25-26 CDIE数字化创新博览会现场&#xff0c;展位【A18】&#xff0c;期待与您相遇&#xff0c;共同探讨企业如何利用数字化技术驱动业务增长。 一、展会介绍——CDIE数字化…

论坛万能粘贴手(可将任意文件转为文本)

该软件可将任意文件转为文本。 还原为原文件的方法&#xff1a;将得到的文本粘贴到记事本&#xff0c;另存为UUE格式&#xff0c;再用压缩软件如winrar解压即可得到原文件。建议用于小软件。 下载地址&#xff1a;https://download.csdn.net/download/wgxds/89505015 使用演示…

C#中的时间数据格式化详解与应用示例

文章目录 1、基本概念基本格式化方法 2、实用的时间格式化方法格式化日期格式化时间格式化时间戳解析日期时间字符串 3、实际应用4、应用示例结论 在软件开发中&#xff0c;时间数据是无处不在的。无论是用户登录时间、数据备份时间&#xff0c;还是日志记录&#xff0c;都需要…

复制完若依后,idea没有maven窗口

右击项目 添加框架 添加maven框架就可以了

高斯过程的数学理解

目录 一、说明 二、初步&#xff1a;多元高斯分布 三、 线性回归模型与维度的诅咒 四、高斯过程的数学背景 五、高斯过程的应用&#xff1a;高斯过程回归 5.1 如何拟合和推理高斯过程模型 5.2 示例&#xff1a;一维数据的高斯过程模型 5.3 示例&#xff1a;多维数据的高斯过程模…

Kubernetes的发展历程:从Google内部项目到云原生计算的基石

目录 一、起源与背景 1.1 Google的内部项目 1.2 Omega的出现 二、Kubernetes的诞生 2.1 开源的决策 2.2 初期发布 三、Kubernetes的发展历程 3.1 社区的成长 3.2 生态系统的壮大 3.3 重大版本和功能 3.4 多云和混合云的支持 四、Kubernetes的核心概念 4.1 Pod 4.…

Mustango——音乐领域知识生成模型探索

Mustango&#xff1a;利用领域知识的音乐生成模型 论文地址&#xff1a;https://arxiv.org/pdf/2311.08355.pdf 源码地址&#xff1a;https://github.com/amaai-lab/mustango 论文题为**“**利用音乐领域知识开发文本到音乐模型’Mustango’”。它利用音乐领域的知识从文本指…

明日周刊-第14期

不好意思又拖更了哈哈哈。不过赶在7月的第一天&#xff0c;打算更新一下。建党节&#xff0c;值得纪念的一天。 文章目录 一周热点资源分享言论歌曲推荐 一周热点 国内科技新闻 深中通道建成通车 时间&#xff1a;2024年6月30日 内容&#xff1a;深圳至中山跨江通道正式建成开…

【Spring Boot】spring boot环境搭建

1、环境准备 JDK安装&#xff1a;确保安装了Java Development Kit (JDK) 1.8或更高版本。JDK是Java编程的基础&#xff0c;Spring Boot项目需要它来编译和运行。Maven或Gradle安装&#xff1a;选择并安装Maven或Gradle作为项目构建工具。Maven通过pom.xml文件来管理项目的依赖…

PCL 基于点云RGB颜色的区域生长算法

RGB颜色的区域生长算法 一、概述1.1 算法定义1.2 算法特点1.3 算法实现二、代码示例三、运行结果🙋 结果预览 一、概述 1.1 算法定义 点云RGB区域生长算法: 是一个基于RGB颜色信息的区域生长算法,用于点云分割。该算法利用了点云中相邻点之间的颜色相似性来将点云分割成…

nodejs--【Express基本使用】

10 【Express基本使用】 https://www.expressjs.com.cn/ 基于 Node.js 平台&#xff0c;快速、开放、极简的 web 开发框架。 1.Express的安装方式 Express的安装可直接使用npm包管理器上的项目&#xff0c;在安装npm之前可先安装淘宝镜像&#xff1a; npm install -g cnpm -…

【从零开始学架构 架构基础】五 架构设计的复杂度来源:低成本、安全、规模

架构设计的复杂度来源其实就是架构设计要解决的问题&#xff0c;主要有如下几个&#xff1a;高性能、高可用、可扩展、低成本、安全、规模。复杂度的关键&#xff0c;就是新旧技术之间不是完全的替代关系&#xff0c;有交叉&#xff0c;有各自的特点&#xff0c;所以才需要具体…

vue中路由来回切换页面直接卡死

今天发现一个很严重的问题&#xff0c;项目好不容易做好了&#xff0c;结果页面多了&#xff0c;切换之后卡死。页面所有的交互效果都失效了。 排查了许久的错误原因最后发现原来是路由名称重复了。 如上图当页面跳转到riskdetails详细页面之后&#xff0c;框架则被这个详情页…

rga_mm: RGA_MMU unsupported Memory larger than 4G!解决

目录 报错完整log如下:解决方案:报错完整log如下: [ 3668.824164] rga_mm: RGA_MMU unsupported Memory larger than 4G! [ 3668.824305] rga_mm: scheduler core[4] unsupported mm_flag[0x0]! [ 3668.824320] rga_mm: rga_mm_map_buffer map dma_buf err