跳转到内容

模型管理

获取模型管理器信息

POST /manager/get_model_manager

用途:启动程序时,首个调用的接口,用于检查是否安装模型管理器,和已安装的模型列表等

请求表单
参数名称数据类型默认值是否必传说明
manager_namestringall可传:ollama、ALL
响应字段说明
字段名称数据类型说明
manager_namestring管理器名称,如:ollama
versionstring管理器版本
modelsarray大模型列表,参考大模型字段说明
statusbool是否安装
大模型字段说明
字段名称数据类型说明
full_namestring完整模型名称,如:deepseek-r1:1.5b
modelstring模型名称,如:deepseek-R1
msgstring英文描述
titlestring中文描述
parametersstring参数规模,如1.5b
installbool是否安装
sizebool模型文件大小
download_sizeint下载大小(如果未安装状态)
linkstring模型介绍页URL地址
pull_countstring模型下载次数
updatedstring更新时间,如:5 days ago
updated_timeint将updated重新计算为时间戳,如:1738896215
capabilityarray模型功能,如:llm、embedding、vision、tools,这些值可能同时存在,不过embedding功能是单一的,包含vision说明支持图片识别,包含tools说明支持工具调用包含embedding说明不是大语言模型,而是向量模型,主要用于将内容转换为向量
runningbool是否为启动状态
memory_sizeint当前占用内存大小,只有running=true时有意义
memory_requireint内存大小要求,通常是最低
need_gpubool是否需要GPU
performanceint基于当前机器配置,评估模型的性能(单位tokens/s),参考:-1=未评估,0=无法运行,1-3=非常慢,4-7=慢,8-25=一般,26-40=快,40+=极速

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"模型管理信息获取成功",
    "error_msg":"",
    "message":[
        {
            "manager_name":"ollama",
            "version":"3.1",
            "status":true,
            "models":[
                {
                    "full_name": "deepseek-r1:1.5b",
                    "model": "deepseek-r1",
                    "parameters": "1.5b",
                    "download_size": "1.1GB",
                    "size": 1117322599,
                    "msg": "DeepSeek's first-generation of reasoning models with comparable performance to OpenAI-o1, including six dense models distilled from DeepSeek-R1 based on Llama and Qwen.",
                    "title": "DeepSeek第一代与OpenAI-o1性能相当的推理模型,包括六个基于Llama和Qwen从DeepSeek-R1中蒸馏出的密集模型。",
                    "link": "https://ollama.com/library/deepseek-r1:1.5b",
                    "pull_count": "14.2M",
                    "tag_count": "29",
                    "updated": "5 days ago",
                    "updated_time": 1738896215,
                    "capability": [
                      "llm"
                    ],
                    "install": true,
                    "running": false,
                    "memory_size": 0,
                    "memory_require": 0,
                    "need_gpu": false,
                    "performance": -1
                  },
                ...
            ]
        }
        ...
    ]
}

安装模型管理器

POST /manager/install_model_manager

用途:下载并安装指定模型管理器

请求表单
参数名称数据类型默认值是否必传说明
manager_namestringollama可传:ollama
models_pathstring指定ollama模型存储路径(可调用路径选择接口选择)
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"安装任务创建成功",
    "error_msg":"",
    "message":{
    }
            
}

设置ollama接口地址

POST /manager/set_ollama_host

用途:初始化时,用户可以安装,也可以设置ollama地址;此外,在本地模型管理应该也提供ollama地址设置

请求表单
参数名称数据类型默认值是否必传说明
ollama_hoststringhttp://127.0.0.1:11434ollama接口地址,如果不设置,使用默认值
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status": 0,
    "code": 200,
    "msg": "设置成功",
    "error_msg": "",
    "message":null
}

选择路径(通用)

POST /index/select_folder

用途:需要用户选择路径时

请求表单
参数名称数据类型默认值是否必传说明
响应字段说明
字段名称数据类型说明
folderstring选中的路径

响应示例:

JSON
{
    "status": 0,
    "code": 200,
    "msg": "选择成功",
    "error_msg": "",
    "message": {
        "folder": "d:\\Users\\hwl\\Documents"
    }
}

获取模型管理器安装进度

POST /manager/get_model_manager_install_progress

用途:请求安装模型管理器后,立即调用此接口显示安装进度

请求表单
参数名称数据类型默认值是否必传说明
manager_namestringollama可传:ollama
响应字段说明
字段名称数据类型说明
statusint0=等待执行 1=正在下载 2=正在安装 3=安装成功 -1=安装失败
totalint模型大小(bytes)
completedint已下载大小(bytes)
progress48下载进度,百分比
speedint下载速度(bytes) 每秒

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"获取成功",
    "error_msg":"",
    "message":{
        "status": 1,
        "progress": 48,
        "speed": 1613824,
        "total": 4683073184,
        "completed": 2256206100
  }
            
}

获取模型列表

POST /manager/get_model_list

用途:获取指定管理器下的所有可用模型(含未安装的)

请求表单
参数名称数据类型默认值是否必传说明
manager_namestringollama管理器名称,默认:ollama
响应字段说明
字段名称数据类型说明
modelstring模型名称,如:deepseek-R1
titlestring中文描述
parametersstring参数规模,如1.5b
installbool是否安装
sizebool模型文件大小
runningbool是否为启动状态
memory_sizeint当前占用内存大小,只有running=true时有意义
memory_requireint内存大小要求,通常是最低
need_gpubool是否需要GPU
performanceint基于当前机器配置,评估模型的性能(单位tokens/s),参考:-1=未评估,0=无法运行,1-3=非常慢,4-7=慢,8-25=一般,26-40=快,40+=极速
is_defaultbool是否默认模型,如果为默认模型,下次打开对话自动选择此模型

获取机器配置信息

GET/POST /manager/get_configuration_info

用途:引导安装,安装模型,其它用户需要查看时

请求表单
参数名称数据类型默认值是否必传说明
响应字段说明
字段名称数据类型说明
cpu_modelstringCPU型号
cpu_coresintCPU核心数
cpu_clockstringCPU主频速度,如4.9GHz
memory_sizeint内存大小
free_memory_sizeint可用内存大小
gpu_modelstringGPU型号
gpu_typestringGPU类型,如:Nvidia、AMD、Intel等
is_cudabool是否支持cuda
gpu_memoryintGPU内存大小
gpu_free_memory_sizeintGPU可用内存大小
os_typestring操作系统类型:Windows、Linux、MacOS
os_namestring操作系统名称:Ubuntu 20.04 LTS
os_versionstring20.04.1
recommendstring模型选择建议(文字描述)
JSON
{
  "status": 0,
  "code": 200,
  "msg": "获取配置信息成功",
  "error_msg": "",
  "message": {
    "cpu_model": "AMD Ryzen 9 3900X 12-Core Processor            ",
    "cpu_cores": 24,
    "cpu_clock": "3.793GHz",
    "memory_size": 68628742144,
    "free_memory_size": 39185162240,
    "gpu_model": "NVIDIA GeForce RTX 4090",
    "gpu_type": "Nvidia",
    "is_cuda": true,
    "gpu_memory": 24564,
    "gpu_free_memory_size": 21751,
    "os_type": "Windows",
    "os_name": "Microsoft Windows 11 专业版",
    "os_version": "10.0.26100",
    "recommend": "根据您的硬件配置,可以流畅运行大部分中大规模的模型,如:32b、27b、24b、14b、7b 等"
  }
}

安装指定大模型

POST /manager/install_model

用途:引导安装,安装模型

请求表单
参数名称数据类型默认值是否必传说明
modelstring要安装的模型名称
parametersstring要安装的参数参数规模版本
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"安装任务创建成功",
    "error_msg":"",
    "message":null
            
}

获取大模型安装进度

POST /manager/get_model_install_progress

用途:请求安装大模型后,立即调用此接口显示安装进度

请求表单
参数名称数据类型默认值是否必传说明
modelstring要安装的模型名称
parametersstring要安装的参数参数规模版本
响应字段说明
字段名称数据类型说明
statusint0=等待执行 1=正在下载 2=正在安装 3=安装成功 -1=安装失败
digeststring文件名
totalint模型大小(bytes)
completedint已下载大小(bytes)
progress48下载进度,百分比
speedint下载速度(bytes) 每秒

响应示例:

JSON
{
  "status": 0,
  "code": 200,
  "msg": "获取安装进度成功",
  "error_msg": "",
  "message": {
    "digest": "sha256:96c415656d377afbff962f6cdb2394ab092ccbcbaab4b82525bc4ca800fe8a49",
    "status": 1,
    "progress": 48,
    "speed": 1613824,
    "total": 4683073184,
    "completed": 2256206100
  }
}

重新选择下载节点

POST /manager/reconnect_model_download

作用:当模型下载速度变得很慢时调用,比如从10MB速度降到200KB这种

PS:重新开始下载后,将从断点续传此前的进度,不会从头开始下载。

请求表单
参数名称数据类型默认值是否必传说明
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"将为您重新下载,并断点续传。",
    "error_msg":"",
    "message":null
}

删除指定大模型

POST /manager/remove_model

用途:删除大模型

请求表单
参数名称数据类型默认值是否必传说明
modelstring模型名称,示例:deepseek-R1
parametersstring要安装的参数参数规模版本
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"删除成功",
    "error_msg":"",
    "message":null
}

提交前端日志

POST /index/write_logs

用途:前端报错时

PS: %appdata%/aingdesk/logs 目录查看日志内容

请求表单
参数名称数据类型默认值是否必传说明
logsstring错误信息
响应字段说明
字段名称数据类型说明

响应示例:

JSON
{
    "status":0,
    "code":200,
    "msg":"写入成功",
    "error_msg":"",
    "message":null
            
}