当前位置: 首页 > news >正文

实现网页访问/接口调用KernelMemory

1、背景

访问Kernel Memory有两种方式:客户端访问、API(或网页访问),本次以API接口进行说明

2、具体实现

2.1 部署服务端

在Kernel Memory的单独部署的使用中说明了如何单独部署一个Kernel Memory,若部署成功后,访问:http://localhost:9001/swagger/index.html,就能看到如下的界面。
在这里插入图片描述
这里面有具体的方法和参数说明
以ask方法为例,其http方法为post。消息体的参数要求为:

{"index": "string","question": "string","filters": [{"additionalProp1": ["string"],"additionalProp2": ["string"],"additionalProp3": ["string"]}],"minRelevance": 0,"stream": true,"args": {"additionalProp1": "string","additionalProp2": "string","additionalProp3": "string"}
}

以上面规定的参数进行传递,参数不一定全部用上,可以只写部分

2.2 js端调用

前端调用实现的代码如下:

const axios = require("axios");const data = {question: "北京动物园有多少只动物?",  //因为上一篇文章中,我们山传了动物和门票的信息
};axios.post("http://127.0.0.1:9001/ask", data, {headers: {"Content-Type": "application/json",},}).then((response) => {if ("text" in response.data) {console.log(response.data.text);} else {console.log("Response does not contain a 'text' property.");}}).catch((error) => {console.error(error.message);});

这里使用了node进行代码执行,但是原理是一样的。只不过需要提前安装一些axios这个包

2.3 实现的效果

在这里插入图片描述
可以看到已经进行了回答

2.4 山传文件的具体实现

同样是使用node进行程序运行,js的代码如下

const axios = require("axios"); 
const fs = require("fs");
const FormData = require("form-data");async function run() {const fileBuffer = await fs.promises.readFile("README.md"); //需要上传的文件const formData = new FormData();formData.append("file1", fileBuffer, { filename: "README.md" });formData.append("documentId", "doc01");axios.post("http://127.0.0.1:9001/upload", formData, {headers: {"Content-Type": "multipart/form-data",},}).then((response) => {console.log(response.data);}).catch((error) => {console.error(error);});
}run();

需提前安装axios和fs。使用node和其他前端调用api方式的原理是一样的。

3、参考资料

1、官网

http://www.dtcms.com/a/299643.html

相关文章:

  • cacti的命令执行和回显
  • 八股文整理——计算机网络
  • 【数据结构】队列和栈练习
  • HTTPS的基本理解以及加密流程
  • Nestjs框架: 基于Mongodb的多租户功能集成和优化
  • 顶顶通呼叫中心系统之创建与注册分机
  • 矩阵乘法计算
  • 安德鲁·卡帕西:深入探索像ChatGPT这样的大语言模型
  • 免费 PDF 转 Word 工具:无水印 / 支持批量转换,本地运行更安全【附工具下载】
  • Ubuntu系统 系统盘和数据盘扩容具体操作
  • 【第二章-数据的表示和运算】
  • vulhub Web Machine(N7)靶场攻略
  • 详解力扣高频SQL50题之1193. 每月交易 I【简单】
  • 数据恢复与备份
  • RS485转Profinet网关配置指南:高效启动JRT激光测距传感器测量模式
  • SpringMVC相关基础知识
  • HTML5 Canvas 绘制圆弧效果
  • Centos安装HAProxy搭建Mysql高可用集群负载均衡
  • 力扣112. 路径总和
  • 面试150 回文数
  • React状态管理——Dva
  • React入门指南——指北指南(第二节)
  • LeetCode——面试题 05.01 插入
  • Vue3组件通信方法清单
  • Linux——线程互斥
  • 云计算技术之docker build构建错误
  • Spring循环依赖以及三个级别缓存
  • Zama+OpenZeppelin:将机密智能合约带入 DeFi 和数字资产领域
  • ClickHouse高性能实时分析数据库-高性能的模式设计
  • JavaScript中.splice()的用法