当前位置: 首页 > 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.lryc.cn/news/600530.html

相关文章:

  • ACOT Buck的dc 精度问题及稳定性
  • HTML5 新特性:MutationObserver 详解
  • 最小生成树:Kruskal与Prim算法
  • C#其他知识点
  • 前端组件梳理
  • mount: /mnt/sd: wrong fs type, bad option, bad superblock on /dev/mmcblk1
  • 嵌入式硬件篇---有线串口通信问题
  • GitHub的免费账户的存储空间有多少?
  • PHP语法高级篇(六):面向对象编程
  • vue子组件关闭自己的方式(事件触发)
  • React入门学习——指北指南(第三节)
  • Netty中DefaultChannelPipeline源码解读
  • 「iOS」——内存五大分区
  • 【C语言】深入理解C语言中的函数栈帧:从底层揭秘函数调用机制
  • RabbitMQ--消息丢失问题及解决
  • 【Vue2】结合chrome与element-ui的网页端条码打印
  • GRE和MGRE综合实验
  • 深入解析三大Web安全威胁:文件上传漏洞、SQL注入漏洞与WebShell
  • 字节跳动扣子 Coze 宣布开源:采用 Apache 2.0 许可证,支持商用
  • 2025.7.26字节掀桌子了,把coze开源了!!!
  • 服务器被网络攻击后该如何进行处理?
  • 守护汽车“空中升级“:基于HSM/KMS的安全OTA固件签名与验证方案
  • 解决使用vscode连接服务器出现“正在下载 VS Code 服务器...”
  • [硬件电路-91]:模拟器件 - 半导体与常规导体不一样,其电阻式动态变化的,浅谈静态电阻与动态电阻
  • C++高效实现AI人工智能实例
  • 2025年7月26日训练日志
  • Arthas的使用
  • ultralytics yolov8:一种最先进的目标检测模型
  • 第十三篇:Token 与嵌入空间:AI如何“阅读”人类的语言?
  • Qt 线程同步机制:互斥锁、信号量等