ドキュメンテーション
メモリ内のモデルを管理
AIモデルは非常に巨大です。それらをメモリにロードするには時間がかかる場合があります。LM StudioのSDKを使用すると、このプロセスを正確に制御できます。
最も一般的な使用法
.model()
を使用します.model("model-key")
を使用します詳細 (手動モデル管理)
.load("model-key")
を使用しますmodel.unload()
を使用します.model()
で取得するLM Studioに既にモデルがロードされている場合(GUIまたはlms load
経由で)、引数なしで.model()
を呼び出すことで使用できます。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const model = await client.llm.model();
.model("model-key")
で取得する特定のモデルを使用したい場合は、.model()
の引数としてモデルキーを指定できます。
.model("model-key")
を呼び出すと、モデルがまだロードされていない場合はロードされ、既存のインスタンスが既にロードされている場合はそれを返します。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const model = await client.llm.model("llama-3.2-1b-instruct");
.load()
でロードするload()
を使用して、モデルの新しいインスタンスをロードします。たとえ既存のインスタンスがあっても同様です。これにより、同じモデルまたは異なるモデルの複数のインスタンスを同時にロードできます。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const llama = await client.llm.load("llama-3.2-1b-instruct");
const another_llama = await client.llm.load("llama-3.2-1b-instruct", {
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();
モデルをロードする際に、コンテキスト長やGPUオフロードなどのロード時設定オプションを指定することもできます。
詳細については、ロード時設定を参照してください。
ロードするモデルに「タイム・トゥ・ライブ (time to live)」を指定できます。これは、最後の要求からモデルがアンロードされるまでのアイドル時間(秒単位)です。詳細については、アイドルTTLを参照してください。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const model = await client.llm.load("llama-3.2-1b-instruct", {
ttl: 300, // 300 seconds
});
このページについて
.model()で現在のモデルを取得する
.model("model-key")で特定のモデルを取得する
- ロードされていれば取得、そうでなければロード
.load()でモデルの新しいインスタンスをロードする
インスタンス識別子に関する注意
.unload()でメモリからモデルをアンロードする
カスタムロード設定パラメータを設定する
自動アンロードタイマー (TTL) を設定する