文档

管理模型

管理内存中的模型

用于从内存中加载、访问和卸载模型的 API

AI 模型非常庞大。将它们加载到内存中可能需要一些时间。LM Studio 的 SDK 允许你精确控制这一过程。

最常见的情况

  • 使用 .model() 获取当前已加载的任何模型
  • 使用 .model("model-key") 使用特定的模型

进阶用法(手动模型管理)

  • 使用 .load("model-key") 加载模型的新实例
  • 使用 model.unload() 将模型从内存中卸载

使用 .model() 获取当前模型

如果你已经在 LM Studio 中加载了模型(通过图形界面或 lms load),你可以通过调用不带参数的 .model() 来使用它。

import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();

const model = await client.llm.model();

使用 .model("model-key") 获取特定模型

如果你想使用特定的模型,可以将模型键 (model key) 作为参数传递给 .model()

如果已加载则获取,否则进行加载

调用 .model("model-key") 会在模型未加载时将其加载,如果已加载则返回现有实例。

import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();

const model = await client.llm.model("qwen/qwen3-4b-2507");

使用 .load() 加载模型的新实例

使用 load() 可以加载模型的一个新实例,即使该模型已经存在。这允许你同时加载同一模型或不同模型的多个实例。

import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();

const llama = await client.llm.load("qwen/qwen3-4b-2507");
const another_llama = await client.llm.load("qwen/qwen3-4b-2507", {
  identifier: "second-llama"
});

关于实例标识符的说明

如果你提供的实例标识符已存在,服务器将报错。因此,如果你并不关心标识符,最好不要提供,这样服务器会自动为你生成一个。你也可以随时在 LM Studio 的服务器标签页中查看!

使用 .unload() 从内存中卸载模型

当你不再需要某个模型时,只需在其句柄上调用 unload() 即可将其卸载。

import { LMStudioClient } from "@lmstudio/sdk";

const client = new LMStudioClient();

const model = await client.llm.model();
await model.unload();

设置自定义加载配置参数

你还可以在加载模型时指定相同的加载时配置选项,例如上下文长度 (Context Length) 和 GPU 卸载 (GPU offload)。

更多信息请参阅 加载时配置

设置自动卸载计时器 (TTL)

你可以为你加载的模型指定一个*生存时间* (TTL),即自上次请求后的空闲时间(以秒为单位),超过该时间后模型将自动卸载。更多信息请参阅 空闲生存时间 (Idle TTL)

import { LMStudioClient } from "@lmstudio/sdk";

const client = new LMStudioClient();

const model = await client.llm.load("qwen/qwen3-4b-2507", {
  ttl: 300, // 300 seconds
});

本页面的源代码可在 GitHub 上找到