ドキュメンテーション
エージェント的フロー
テキスト埋め込み
トークン化
モデルの管理
モデル情報
APIリファレンス
エージェント的フロー
テキスト埋め込み
トークン化
モデルの管理
モデル情報
APIリファレンス
テキスト補完
ロードされた言語モデルからテキスト補完を生成するには、llm.complete(...)
を使用します。テキスト補完とは、モデルがテキストを補完することを期待して、書式設定されていない文字列をモデルに送信することを意味します。
これは、複数ターンのチャット会話とは異なります。チャット補完の詳細については、チャット補完を参照してください。
まず、補完を生成するためにモデルをロードする必要があります。これは、llm
ハンドルでmodel
メソッドを使用して行うことができます。
import { LMStudioClient } from "@lmstudio/sdk";
const client = new LMStudioClient();
const model = await client.llm.model("qwen2.5-7b-instruct");
モデルをロードしたら、llm
ハンドルでcomplete
メソッドに文字列を渡すことで補完を生成できます。
const completion = model.complete("My name is", {
maxTokens: 100,
});
for await (const { content } of completion) {
process.stdout.write(content);
}
console.info(); // Write a new line for cosmetic purposes
また、生成に使用されたモデル、生成されたトークンの数、最初のトークンまでの時間、停止理由などの予測メタデータも表示できます。
console.info("Model used:", completion.modelInfo.displayName);
console.info("Predicted tokens:", completion.stats.predictedTokensCount);
console.info("Time to first token (seconds):", completion.stats.timeToFirstTokenSec);
console.info("Stop reason:", completion.stats.stopReason);
これは、complete
メソッドを使用してターミナルをシミュレートする例です。
import { LMStudioClient } from "@lmstudio/sdk";
import { createInterface } from "node:readline/promises";
const rl = createInterface({ input: process.stdin, output: process.stdout });
const client = new LMStudioClient();
const model = await client.llm.model();
let history = "";
while (true) {
const command = await rl.question("$ ");
history += "$ " + command + "\n";
const prediction = model.complete(history, { stopStrings: ["$"] });
for await (const { content } of prediction) {
process.stdout.write(content);
}
process.stdout.write("\n");
const { content } = await prediction.result();
history += content;
}
このページ
1. モデルのインスタンス化
2. 補完の生成
3. 予測統計の表示
例: LLMにターミナルをシミュレートさせる