ドキュメント
エージェントフロー
インテグレーション
テキスト埋め込み
トークン化
モデル情報
エージェントフロー
インテグレーション
テキスト埋め込み
トークン化
モデル情報
モデルの管理
メモリ内のモデルを管理
モデルをメモリにロード、アクセス、アンロードするためのAPI
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オフロードなど、モデルをロードする際に同じロード時構成オプションを指定することもできます。
詳細については、ロード時構成を参照してください。
ロードしたモデルに*有効期間*を指定できます。これは、最後の要求からモデルがアンロードされるまでのアイドル時間(秒)です。これについての詳細は、アイドル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
});
このページのソースはGitHubで利用可能です。