LM StudioのEmbedding APIをWindowsで使う方法|/v1/embeddings・Python・RAG

公開日
2026-08-09
更新日
2026-08-09
情報確認日
2026-08-09
編集・運営
Local AI Compass

LM StudioのEmbeddingは、文章を意味ベクトルへ変換し、類似検索やRAGのindex・queryへつなぐための機能です。WindowsではDeveloper tabまたはlmsでserverを確認し、lms ls --embeddingでモデルを分け、OpenAI互換のPOST /v1/embeddings、lmstudio-python、lmstudio-jsを目的別に使います。chat用の/v1/chat/completionsや/v1/responses、native /api/v1/chatとEmbeddingのendpointを混ぜないことが最初のポイントです。

導入前に確認すること

  • Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
  • 最初は軽量モデル、短い質問、少ない同時作業から始める
  • 公式サイトの対応OS、利用規約、モデルのライセンスを確認する

先に結論:LM Studioでは/v1/embeddingsとembedding SDKを分ける

LM Studio公式のOpenAI Compatibility docsでは、Responses、Chat Completions、Completions、Embeddingsが別endpointとして案内されています。Embeddingは回答文を生成するAPIではなく、入力文をベクトルへ変換する入口です。まず1件のベクトルを作り、件数とベクトル長を確認してからbatchやRAGへ進みます。

LM Studio Embedding APIの入口選択
目的最初に見る入口確認すること
OpenAI形式のclientから使うPOST /v1/embeddingsbase URL、model、input、responseのdata[0].embedding
Python SDKで直接使うlms.embedding_model(...).embed()embedding model handle、入力、返るvector
TypeScript/JavaScript SDKで使うclient.embedding.model(...).embed()SDK package、model identifier、embedding property
回答を生成する/v1/chat/completions・/v1/responses・/api/v1/chatchatのmessages/inputとEmbeddingを混ぜない
RAGのindex/queryを作るchunk→embedding→retrievemodel、前処理、次元、距離、評価データ

LM Studioのnative v1 REST APIの一覧はchat、models、load、download、unloadなどが中心で、EmbeddingsはOpenAI互換docsとPython・TypeScript SDKで案内されています。推測で/api/v1/embeddingsを作らず、公式の/v1/embeddingsまたはSDKを使います。

Windowsでserver・embedding model・identifierを準備する

WindowsではLM StudioのDeveloper tabでserverを開始できます。公式CLIではlms server startとlms server statusも案内されています。モデルはlms ls --embeddingでLLMと分けて一覧し、GET /v1/modelsでAPIへ渡す実際のidentifierを確認します。画面表示、ダウンロード済みモデルのkey、ロード後のidentifierが一致するとは限らないため、文字列を推測しません。

  1. LM Studioを起動し、Developer tabでserverを開始する。端末運用ならlms server startとlms server statusを確認する。
  2. embedding modelがなければ公式の例を参考にlms getで取得し、lms ls --embeddingで保存済み一覧を確認する。
  3. lms psまたはDeveloper表示でロード状態を確認し、必要ならlms loadの--identifierでAPI用の名前を固定する。
  4. GET http://localhost:1234/v1/modelsでserverから見えるmodel identifierを取得する。portはDeveloper表示を優先する。
  5. 公開可能な短文を1件だけ送り、embedding responseの形を確認してから本文やPDFへ広げる。
lms get nomic-ai/nomic-embed-text-v1.5
lms ls --embedding
lms ls --embedding --json
lms ps
lms server start
lms server status

公式のPython・TypeScript Embedding docsではnomic-ai/nomic-embed-text-v1.5が例に使われています。これは固定の推奨ランキングではありません。実際のmodel key、license、容量、日本語文書との相性、RAM/VRAM負荷を手元で確認してください。

PowerShellから/v1/embeddingsを1件・batchで呼ぶ

OpenAI互換のEmbedding endpointはPOST /v1/embeddingsです。WindowsのPowerShellではInvoke-RestMethodでmodelとinputをJSONにして送れます。公式Python例はclient.embeddings.createのdata[0].embeddingを読み取る形なので、PowerShellでも最初はHTTP応答全体を保存し、dataの件数、index、embeddingの要素数を確認します。

$payload = @{
  model = "model-identifier-from-v1-models"
  input = @(
    "WindowsのローカルAIで文章検索を試す",
    "同じembedding modelで文書と質問を変換する"
  )
} | ConvertTo-Json -Depth 8

$result = Invoke-RestMethod `
  -Uri "http://localhost:1234/v1/embeddings" `
  -Method Post `
  -ContentType "application/json" `
  -Body $payload

$result.model
$result.data.Count
$result.data[0].index
$result.data[0].embedding.Count
$result | ConvertTo-Json -Depth 6
LM Studio OpenAI互換Embedding responseの確認
確認値意味最初の見方
result.data.Count入力に対応するresponse itemの数batch入力の件数と対応するか
result.data[0].embedding1件目のベクトル保存前に要素数と数値形を確認する
result.data[0].index入力との対応順を確認する値複数件の順番を取り違えない
result.modelresponseが示すモデル名requestとserverの実際の識別子を記録する

Ollama native /api/embedのtruncateやdimensionsを、そのままLM Studioの/v1/embeddingsへ追加しないでください。LM Studioの公式Embedding docsにあるrequest例と、手元のresponse・server設定を基準にします。認証を有効にしている場合は、設定したtokenを秘密情報として安全に渡します。

Python:OpenAI clientとlmstudio-pythonを使い分ける

LM Studio公式には、OpenAI互換clientへbase_urlを指定するPython例と、lmstudio-pythonのembedding_model APIが別々に掲載されています。既存のOpenAI向け処理を再利用するなら互換client、LM Studioのモデルhandleを直接扱うならSDKという境界で考えます。どちらもこのリポジトリへ依存関係を追加するものではなく、利用者側のWindows環境で準備します。

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="lm-studio",
)

response = client.embeddings.create(
    input=["WindowsでLM Studioのembeddingを試す"],
    model="model-identifier-from-v1-models",
)

print(len(response.data))
print(len(response.data[0].embedding))
import lmstudio as lms

model = lms.embedding_model("nomic-embed-text-v1.5")
embedding = model.embed("Windowsで意味検索を試す")

print(len(embedding))
  • OpenAI互換clientではbase_urlの末尾、model identifier、input形式、response.dataを確認する。
  • lmstudio-pythonではlms.embedding_modelのhandle名を、公式例とlms lsの表示に合わせる。
  • vectorを保存する前に入力ID、model名、前処理、要素数を一緒に記録する。
  • pip installやSDK versionは利用者側の判断であり、このサイトのpackage.jsonやlockfileは変更していない。

TypeScript・JavaScript:SDKとOpenAI互換を分ける

公式のlmstudio-js docsでは、@lmstudio/sdkのLMStudioClientからembedding modelを取得し、model.embedを呼ぶ例が案内されています。Node.jsアプリがLM Studio固有のmodel handleを使うならSDK、既存のOpenAI互換コードを維持するならOpenAI clientのbaseURL変更という分け方ができます。ブラウザからlocalhostへ接続する場合はCORS、認証、公開範囲を別途確認します。

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

const client = new LMStudioClient();
const model = await client.embedding.model("nomic-embed-text-v1.5");
const { embedding } = await model.embed("WindowsでRAGのqueryを作る");

console.log(embedding.length);
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://localhost:1234/v1",
  apiKey: "lm-studio",
});

const response = await client.embeddings.create({
  input: ["検索対象の文書chunk"],
  model: "model-identifier-from-v1-models",
});

console.log(response.data[0].embedding.length);
LM Studio EmbeddingのJavaScript経路選択
選択向いている入口切り分ける値
@lmstudio/sdkLM Studioのembedding model handleを使うpackage version、handle、embedding property
OpenAI互換client複数providerで同じclient形を使うbaseURL、model、input、response.data
PowerShell HTTP依存を増やさずrequestを観察するURL、JSON、HTTP status、response本文

SDKを導入したのにHTTPが届かない場合は、LM Studio server、model、SDK接続先を分けて確認します。公式コードのpackage導入は利用者側で実施し、実際のmodel identifierやAPI tokenをソースへ固定しません。

RAGのindex・queryでmodelと前処理をそろえる

EmbeddingをRAGへ使うときは、PDFや本文をchunkへ分け、各chunkをembedding化して保存し、質問も同じ条件でembedding化して候補を検索します。LM Studio公式docsはEmbeddingをRAGとsimilarity-based tasksのbuilding blockとして説明していますが、chunk規則、vector DB、距離、top-k、引用の正しさまで自動保証するものではありません。

LM Studio EmbeddingとRAGのindex query
段階行うこと固定・記録する値
chunkPDF・HTML・本文を検索単位へ分割文字抽出、分割規則、重なり、source ID
index文書chunkをembedding化して保存model identifier、model version、vector length、metadata
query質問を同じ条件でembedding化前処理、model、vector length、質問ID
retrievevector DBや検索処理で候補を並べる距離・類似度、top-k、threshold、評価質問
answer必要ならchat modelへ候補を渡す引用source、context量、回答の検証
index:  chunks -> embedding model -> vector store
query:  question -> same embedding model -> similarity search
answer: retrieved chunks -> chat model -> cited response
  • indexとqueryで同じembedding model、前処理、ベクトル要素数を使う。modelを変えたら既存indexをそのまま使えると決めつけない。
  • cosine similarityなどの距離を選ぶ場合はvector libraryの仕様と正規化条件を確認し、固定質問で検索順位を比較する。
  • 日本語PDFではOCR・文字抽出・chunk分割の失敗をembedding modelの問題と混同しない。
  • 必要な候補だけをchat modelへ渡し、embedding APIが回答の正しさや引用を保証すると断定しない。

404・model not found・検索ずれをWindowsで切り分ける

Embeddingの失敗は、LM Studio server、モデル一覧、endpoint path、model identifier、SDK接続先、RAGのindex schemaを別の層として確認します。最初からPDFや実データを投入せず、PowerShellの短文requestで1件のresponseが返るところまで戻ると原因を絞りやすくなります。

LM Studio Embedding APIのWindowsトラブル分岐
症状原因候補最初の確認
connection refusedserver停止、port違い、Developer tab未開始lms server status、Developer表示、localhost
404 /api/v1/embeddingsnative RESTとOpenAI互換pathの取り違え公式のPOST /v1/embeddingsへ戻る
model not foundmodel keyとAPI identifierの混同lms ls --embedding、GET /v1/models、lms ps
dataが空・parser失敗input形式、client、response shapeの違いPowerShellでresponse全体を保存して比較する
vector lengthが合わないmodel変更、index schema不一致、別provider混在model・要素数・index metadata
検索結果がずれる抽出、chunk、前処理、距離、top-k、評価不足固定質問と候補sourceを順番に確認する
  • 最初はlocalhostだけで検証し、疎通確認のためにLAN公開や認証無効化を追加しない。
  • 個人情報、社内文書、秘密鍵、実データを最初のembeddingテストへ入れず、公開可能な短文を使う。
  • local model、外部provider、OpenAI互換client、外部vector DB、文書チャットツールの通信・保存経路を別々に記録する。
  • モデル名、SDK version、server port、vector length、距離計算、top-k、期待する検索結果を変更前に保存する。

よくある質問

LM StudioのEmbedding APIで使うendpointは何ですか?

OpenAI互換のPOST /v1/embeddingsが中心です。LM Studio公式にはPython・TypeScript SDKのembedding model APIもあるため、native /api/v1/embeddingsを推測せず、互換endpointかSDKを目的別に選びます。

LM Studioでembedding modelを探すにはどうしますか?

lms ls --embeddingでダウンロード済みのembedding modelだけを一覧し、GET /v1/modelsでserverから見えるAPI用identifierを確認します。公式例のmodel名を自分の環境へ固定せず、実際の表示を使ってください。

PowerShellからLM Studioのembeddingを呼べますか?

呼べます。Invoke-RestMethodでhttp://localhost:1234/v1/embeddingsへmodelとinputをJSONでPOSTし、まずresponse.dataの件数とdata[0].embeddingの形を確認します。portと認証はDeveloper表示・server設定を優先します。

lmstudio-pythonとOpenAI Python clientはどちらを使いますか?

既存のOpenAI互換コードを再利用するならbase_urlをLM Studioへ向けるclient、LM Studioのembedding model handleを直接扱うならlmstudio-pythonが候補です。SDKと互換APIでmodel identifierやresponseの読み方を混ぜません。

Embeddingのベクトル長は固定ですか?

固定値を記事側で決めないでください。modelやSDK・serverの実際のresponseから1ベクトルの要素数を読み、index作成時とquery時、vector DB schemaへ同じ値を記録します。

LM StudioのEmbeddingをRAGで使うときの注意点は何ですか?

文書chunkと質問で同じembedding model、前処理、ベクトル要素数、距離計算を使います。検索結果の正しさはPDF抽出、chunk、top-k、引用確認にも左右されるため、固定質問で候補を評価してください。

LM StudioのEmbeddingなら外部へデータは送信されませんか?

localhostのモデルだけを使う構成では外部送信を減らせる可能性がありますが、LM Studioの設定、外部provider、client、vector DB、文書ツールで通信経路は変わります。server公開、認証、保存先、実データを別々に確認してください。

次に読むおすすめルート

開発・API連携したい人

LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。

  1. ローカルAIをAPIで使う方法
  2. WindowsでローカルAIコーディングを始める
  3. VS CodeでローカルAIを使う
  4. LM Studioのlms CLIを使う
  5. LM StudioのTool Useを使う
  6. LM StudioのStructured Outputを使う
  7. LM StudioのResponses APIを使う
  8. LM StudioのMCPをAPIで使う
  9. ローカルAIでJSON出力する方法
  10. LM StudioとOllamaの違い
  11. コンテキスト長とは
  12. RAG・埋め込み・ベクトルDBの仕組み
  13. OllamaのEmbedding APIを使う
  14. OllamaのResponses APIを使う
  15. OllamaのAPI認証を確認する
  16. OllamaをWindowsのLANから使う前の確認
  17. OllamaのモデルID・能力を確認する
  18. OllamaのModelfileを使う
  19. Ollama native API streamingを使う
  20. Ollama Web Search APIを使う
  21. OllamaのThinkingを使う
  22. RAG評価と引用確認の基礎
  23. faithfulness確認
  24. ローカルRAGのプライバシー
  25. MCPとは
  26. ローカルLLMの安全性とプライバシー
  27. Gemma 4 12Bの更新メモ
  28. Hermes Desktopとは
  29. Hermes DesktopとLM Studio接続
  30. Hermes DesktopとOllama接続
  31. Hermes Desktop接続トラブル
  32. Hermes DesktopでOpenRouterを使う
  33. Hermes DesktopでDeepSeek APIを使う
  34. Hermes DesktopでProviderを使い分ける
  35. Hermes DesktopとLM Studio接続の確認ポイント
  36. Hermes AgentとDesktopの違い
  37. Ollamaとは
  38. Windows ARMでローカルAIを使う前の確認
  39. WindowsでOllamaをインストールする
  40. Ollamaのローカルモデルとcloudモデルの違い
  41. Ollamaのモデル保存場所と移動
  42. Ollamaのモデル一覧・削除・容量整理
  43. OllamaのOpenAI互換APIを使う
  44. Ollamaのtool callingを使う
  45. OllamaのStructured Outputsを使う
  46. OllamaのEmbedding APIを使う
  47. OllamaのResponses APIを使う
  48. OllamaのAPI認証を確認する
  49. OllamaのモデルID・能力を確認する
  50. OllamaのModelfileを使う
  51. Ollama native API streamingを使う
  52. Ollamaの解説
  53. 診断基準
  54. 比較表

あなたはどのタイプ?

関連チェック先

  • LM Studio Embeddings - OpenAI互換のEmbeddings endpointとPython clientの公式例を確認できます。
  • LM Studio OpenAI Compatibility - /v1/embeddings、base URL、localhost:1234、model identifierの互換API入口を確認できます。
  • LM Studio List Models - GET /v1/modelsでserverから見えるモデルを確認する公式例です。
  • lmstudio-python Embedding - lms.embedding_modelとembed methodによるPython SDKの公式例を確認できます。
  • lmstudio-js Embedding - LMStudioClientのembedding model handleとembed methodによるTypeScript SDKの公式例です。
  • LM Studio REST API - native /api/v1/*の対応範囲とOpenAI互換endpointとの機能境界を確認できます。
  • LM Studio local server - Developer tab、localhost server、lms server startの前提を確認できます。
  • LM Studio lms CLI - lms ls、lms ps、server操作、モデル取得のCLI入口を確認できます。

関連ツール

比較表を見る / 最初に検討しやすいツールを確認する