• Kernel Memory 入门系列:Kernel Memory Service


    Kernel Memory 入门系列:Kernel Memory Service

    在 Kernel Memory 的 GitHub 仓库中有一个单独的项目 Service , 用于提供独立的Kernel Memory OpenAPI 服务。可以用于独立的部署后台,也可以为其他语言提供接口调用服务。

    1. 初始化

    使用 Kernel Memory Service 需要先下载该项目的源码。使用Git Clone 命令下载源码到本地即可。

    git clone https://github.com/microsoft/kernel-memory.git

    然后打开/service/Service目录,根据操作系统选择执行使用setup.sh或者setup.cmd,就可以进行快速的初始化了。
    也可以直接执行dotnet run setup命令进行初始化。

    这个过程会调用初始化服务,将所有选择的配置项都存储到appsettings.Development.json文件中。

    当然也可以直接通过修改appsettings.json文件,来修改配置项。该文件中包含详细的配置说明。

    这其中的大部分的配置项都和Kernel Memory的组件有关,例如ContentStorageTypeTextGeneratorType
    MemoryDbTypes等等。大部分的组件将会在后续的文章中进行介绍。如果测试的话,可以选择Simple开头的选项,基本都是使用本地文件作为存储。

    这其中需要注意的 TextGeneratorTypeEmbeddingGeneratorType 及其相关配置是必须的,因为这部分是调用大语言模型的需要的配置。

    2. 启动服务

    完成配置之后,就可以启动服务了。运行项目下的run.cmd或者run.sh即可启动服务。

    Alt text

    这里为了演示方便,启用了Swagger和同步处理,使用了本地的文件存储和向量存储。

    3. 使用服务

    服务其中后,如果是在本地运行,可以通过http://localhost:9001/swagger/index.html访问服务的Swagger页面。

    Alt text

    其他语言可以使用Swagger.json 生成OpenAPI的客户端代码,也可以直接使用HTTP请求调用接口。

    C# 可以使用 Microsoft.KernelMemory.WebClient 包来调用接口。

    var memory = new MemoryWebClient("http://127.0.0.1:9001");

    这里的memory 的使用和 ServerlessMemory 一样。

    4. 一些其他的工具脚本

    在该项目的另外一个目录下提供了一些工具脚本,可以更加方便的使用 Kernel Memory Service。

    • run-qdrant.sh 用于启动 Qdrant 服务,该服务是用于提供向量数据库,用于存储生成的向量。使用Docker 运行,因此需要提前安装好Docker。

    • run-rabbitmq.sh 用于启动 RabbitMQ 服务,该服务是用于提供消息队列服务,用于异步管理文件上传和处理进度。也是使用Docker 运行。

    • setup-service.sh 用于初始化 Kernel Memory Service,和上面的setup.sh是一样的。

    • run-service.sh 用于启动 Kernel Memory Service,和上面的run.sh是一样的。

    • upload-file.sh 用于上传文件到 Kernel Memory Service,需要提供服务地址(默认是http://localhost:9001)和文件路径。

    • ask.sh 用于向 Kernel Memory Service 提问,需要提供服务地址和问题文本。

    • search.sh 用于向 Kernel Memory Service 搜索,需要提供服务地址和问题文本。

    参考

  • 相关阅读:
    uni app 树状结构数据展示
    雷达天线、信号链路、大气衰减基本概念
    Python对于时间相关模块的学习记录(time,datetime等模块)
    dreamweaver网页设计作业制作 小米商城官网商城购物网页设计 WEB静态网页作业模板 大学生个人购物商城网页代码 dw个人网页作业
    DM8表空间管理
    Java之线程状态
    计算点云每个点的高斯曲率(附open3d python代码)
    java计算机毕业设计企业客户管理系统源码+mysql数据库+系统+lw文档+部署
    【giszz笔记】产品设计标准流程【8】
    Excel 每 N 行拼成一行
  • 原文地址:https://www.cnblogs.com/xbotter/p/kernel_memory_service.html