OllamaのEmbedding APIをWindowsで使う方法|/api/embed・Python・RAG
- 公開日
- 2026-08-09
- 更新日
- 2026-08-09
- 情報確認日
- 2026-08-09
- 編集・運営
- Local AI Compass
OllamaのEmbedding APIは、文章を数値ベクトルへ変換し、意味検索やRAGのindex・queryに使うための入口です。Windowsではまずembedding用モデルを用意し、native POST /api/embedをPowerShellから呼び、入力件数・ベクトル長・truncate・dimensionsを確認します。チャット回答を返す /api/chatや、OpenAI互換の /v1/embeddingsとはpathとレスポンス形式を分けて扱います。
導入前に確認すること
- Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
- 最初は軽量モデル、短い質問、少ない同時作業から始める
- 公式サイトの対応OS、利用規約、モデルのライセンスを確認する
先に結論:Windowsではnative /api/embedから最小確認する
Ollama公式のEmbeddings capabilityでは、embeddingをsemantic search、retrieval、RAGへ使う流れと、native POST /api/embedの例が案内されています。最初は短い入力を1件だけ送り、HTTP応答、model、embeddingsの件数、1ベクトルの長さを確認してからbatchとRAGへ進みます。
| 目的 | 最初に見るpath | 確認すること |
|---|---|---|
| Ollama nativeでベクトルを作る | POST /api/embed | model、input、truncate、dimensions、embeddings |
| OpenAI形式のclientを使う | POST /v1/embeddings | base URL、model、input、互換response parser |
| 文章を生成する | POST /api/chat | messages、stream、think。embeddingとは別のモデル役割 |
| RAGのindexを作る | 文書を分割して/api/embed | chunk、embedding model、vector DB、次元 |
| RAGのqueryを探す | 質問を同じmodelで/api/embed | indexとqueryのモデル・前処理・距離計算を一致させる |
Embeddingは回答文を生成するAPIではありません。embeddingモデルが文章を数値化し、vector DBや検索処理が近い文章を探し、最後にchatモデルが必要なら回答を生成します。
- 埋め込みモデルの基礎 - chatモデルとembeddingモデルの役割を分ける
- RAG・埋め込み・ベクトルDB - 検索から回答までの全体像を見る
- Ollama公式Embeddings - native APIとsemantic searchの公式例を見る
Windowsでembedding用モデルを準備する
Ollamaのchat用モデルを入れていても、embedding用途へそのまま使えるとは限りません。公式Embeddings capabilityにはembeddinggemma、qwen3-embedding、all-minilmが推奨モデルとして掲載されていますが、タグ、容量、対応言語、PC負荷は利用時点のモデル情報で確認します。
- WindowsでOllamaが起動し、localhost:11434へ接続できることを確認する。
- 公式モデル情報と用途を確認し、embedding用モデルをollama pullで取得する。
- ollama lsで保存済みの正確なmodel名・tagを確認する。
- ollama show MODELでモデル情報を確認し、短い入力で/api/embedを試す。
- index作成とqueryで同じembedding modelを使う前提を記録する。
ollama pull embeddinggemma
ollama ls
ollama show embeddinggemma
ollama psembeddinggemmaは公式docsの例に使われるモデル名です。実際に取得できるか、モデルのlicense、容量、日本語文書との相性、RAM/VRAM負荷を固定モデルの成功として一般化しないでください。
- Ollamaモデル管理 - ls、show、ps、容量整理を先に確認する
- WindowsでOllamaを入れる - 本体・localhost・最初のモデルの前提を見る
- Ollama公式CLI - pull、ls、showの現行仕様を見る
PowerShellから1件のembeddingを作る
WindowsのPowerShellではInvoke-RestMethodでJSONをPOSTできます。native /api/embedの最小requestはmodelとinputです。結果にはmodel、embeddings、処理時間、prompt_eval_countなどが返るため、まず自然文の意味を評価する前に配列の形を確認します。
$payload = @{
model = "embeddinggemma"
input = "WindowsのローカルAIで文章検索を試す"
truncate = $true
} | ConvertTo-Json -Depth 8
$result = Invoke-RestMethod `
-Uri "http://localhost:11434/api/embed" `
-Method Post `
-ContentType "application/json" `
-Body $payload
$result.model
$result.embeddings.Count
$result.embeddings[0].Count
$result | ConvertTo-Json -Depth 6
| 確認値 | 意味 | 最初の見方 |
|---|---|---|
| result.model | ベクトルを生成したモデル | requestのmodelと一致するか |
| embeddings.Count | 入力に対するベクトル数 | 1件なら1、batchなら入力件数と対応するか |
| embeddings[0].Count | 1ベクトルの要素数 | index/queryで同じ次元になるか |
| total_duration / load_duration | 処理・ロード時間の目安 | PCやモデル比較の記録。一般速度の断定はしない |
PowerShellの配列やConvertTo-JsonのDepthを変えるとrequest形が変わる場合があります。HTTPエラー時はmodel、localhost、port、bodyを一つずつ確認し、本文へ秘密情報や実文書を入れないでください。
- Ollama Embed API公式docs - request bodyとembeddingsレスポンス項目を見る
- Ollamaが起動しないとき - Windows本体・server・localhostの切り分けへ進む
- OllamaのOpenAI互換API - /v1/embeddingsとの違いを比較する
batch input・truncate・dimensionsを分けて確認する
OllamaのEmbed APIはinputへ文字列の配列を渡してbatch生成できます。公式API referenceにはtruncate、dimensions、keep_alive、optionsがrequest fieldとして掲載されています。どれも一度に追加せず、batch件数、長い入力、次元指定の順に個別確認します。
$payload = @{
model = "embeddinggemma"
input = @(
"最初の文書チャンク",
"次の文書チャンク",
"検索に使う短い質問"
)
truncate = $false
keep_alive = "5m"
} | ConvertTo-Json -Depth 8
$batch = Invoke-RestMethod `
-Uri "http://localhost:11434/api/embed" `
-Method Post `
-ContentType "application/json" `
-Body $payload
$batch.embeddings | ForEach-Object { $_.Count }
| field | 役割 | 注意点 |
|---|---|---|
| input | 1件または複数テキストを指定 | 入力順とembeddingsの順を対応づける |
| truncate | context windowを超える入力を切り詰めるか | falseなら長さ超過時にerror。文書分割で先に管理する |
| dimensions | 生成する次元数を指定するfield | model・実装の対応を確認し、indexとqueryの次元を固定する |
| keep_alive | モデルを保持する時間の指定 | メモリ占有と再ロード時間の観点で確認する |
dimensionsを変えると既存vector DBのschemaと互換しなくなる可能性があります。実運用では、embedding model名、tag、次元、前処理、chunkサイズ、truncate方針をindexのメタデータへ残します。
- コンテキスト長の基礎 - 長い入力とメモリ負荷を分けて考える
- Ollama公式API reference - truncate、dimensions、keep_aliveの現行定義を見る
- Ollama公式Embeddings - batch入力とベクトル長の説明を見る
Python・JavaScriptからembedを呼ぶ
Ollama公式Embeddings capabilityにはPythonのollama.embedとJavaScriptのollama.embed例があります。ここではSDKをこのサイトへ追加するのではなく、公式の呼び出し形をWindowsアプリへ組み込むときの確認点として示します。インストール方法やSDK versionは利用時点の公式案内を優先します。
import ollama
result = ollama.embed(
model="embeddinggemma",
input=[
"最初の文書チャンク",
"次の文書チャンク",
],
)
print(len(result["embeddings"]))
print(len(result["embeddings"][0]))import ollama from "ollama";
const result = await ollama.embed({
model: "embeddinggemma",
input: ["最初の文書チャンク", "次の文書チャンク"],
});
console.log(result.embeddings.length);
console.log(result.embeddings[0].length);- SDKがlocalhost:11434へ接続する前提、model名、入力配列、結果のembeddings件数を固定する。
- Python/JavaScriptの配列をDBへ保存する前に、ベクトル長とindex schemaを確認する。
- 例が動かないときはSDKの問題とnative HTTP APIの問題を分け、PowerShellの最小requestへ戻る。
- SDKの導入は利用者側の環境判断であり、このサイトの依存関係を追加・更新したものではない。
- Ollama公式Embeddings Python/JavaScript - 公式SDK例とbatch例を見る
- WindowsでのAPI導入 - OpenAI clientから接続する別ルートを確認する
- ローカルAI API入門 - client・server・modelの役割を整理する
OpenAI互換 /v1/embeddingsとRAGのindex/queryをそろえる
Ollamaにはnative POST /api/embedのほか、OpenAI互換POST /v1/embeddingsがあります。既存のOpenAI clientを使うなら互換path、Ollama固有のtruncateやembeddingsレスポンスを直接確認するならnative path、と目的で分けます。nativeのembeddings配列と、互換clientが返す形式を同じparserで読む前に、手元のresponseを確認してください。
$payload = @{
model = "embeddinggemma"
input = @("検索したい文書", "問い合わせの質問")
} | ConvertTo-Json -Depth 8
Invoke-RestMethod `
-Uri "http://localhost:11434/v1/embeddings" `
-Method Post `
-ContentType "application/json" `
-Body $payload
| RAGの段階 | 行うこと | 固定する値 |
|---|---|---|
| chunk | PDFや本文を検索単位へ分割 | 文字抽出、分割規則、重なり |
| index | 文書chunkをembedding化して保存 | 同じmodel、tag、次元、前処理 |
| query | 質問をembedding化して検索 | indexと同じmodel、次元、距離 |
| retrieve | cosine similarityなどで候補を取り出す | top-k、閾値、候補の根拠 |
| answer | 必要ならchat modelへ検索結果を渡す | 本文量、出典、回答検証 |
Ollama公式Embeddings capabilityでは、cosine similarityと、indexing・queryingで同じembedding modelを使う考え方が案内されています。検索結果がずれるときはchat modelだけを疑わず、chunk、embedding、次元、距離、検索候補の順に見ます。
- Ollama OpenAI互換公式docs - /v1/embeddingsのinput形式と対応fieldを見る
- RAG・埋め込み・ベクトルDB - 検索と回答の全体構造を確認する
- 日本語PDFとembedding - 日本語文書の検索品質を検証する
ベクトルが作れない・検索がずれる時の切り分け
Embedding APIの失敗は、Ollama本体、model取得、input長、request field、vector DBのschema、検索評価を別の層として確認します。RAG全体を作り直す前に、PowerShellで1件のベクトルが返るところへ戻ると原因を絞りやすくなります。
| 症状 | 原因候補 | 最初の確認 |
|---|---|---|
| connection refused | Ollama停止、port違い、localhost接続問題 | WindowsのOllama、localhost:11434、native /api/embed |
| model not found | pull前、tag違い、名前の入力ミス | ollama ls、ollama show、公式model名 |
| inputが長すぎる | context window超過、truncate=false | 短いchunk、truncate、分割規則 |
| vector lengthが違う | model変更、dimensions変更、index schema不一致 | model・次元・保存済みindexのmetadata |
| 検索結果がずれる | 日本語との相性、chunk、距離、index/query model違い | 同じmodel、cosine、固定テスト質問 |
| 互換APIのparserが失敗 | native /api/embedと/v1/embeddingsのresponse混在 | pathごとに最小responseを保存して比較 |
- 最初はlocalhostだけで検証し、embedding APIの疎通確認のためにLAN公開や認証緩和を追加しない。
- 個人情報、社内文書、秘密鍵、実データを最初のembeddingテストへ入れず、公開可能な短文で確認する。
- local model、cloud model、外部vector DB、文書チャットツールの通信・保存経路を別々に記録する。
- 固定テスト文、モデル名、tag、次元、距離計算、top-k、期待する検索結果を保存してから設定を変える。
- Ollamaの症状別トラブル - localhost、GPU、モデル、APIの共通診断へ進む
- ローカルRAGのプライバシー - 文書、embedding、DB、外部送信の確認へ進む
- Ollama API Errors公式docs - statusとerror本文の現行資料を見る
よくある質問
OllamaのEmbedding APIで使うendpointは何ですか?
Ollama native APIの中心はPOST http://localhost:11434/api/embedです。OpenAI形式のclientを使う場合はPOST /v1/embeddingsがあり、native pathとはrequestとresponse parserを分けて確認します。
Ollamaのchatモデルでembeddingを作れますか?
chat用モデルとembedding用モデルは役割が違います。Ollama公式Embeddings capabilityに掲載されたembeddinggemma、qwen3-embedding、all-minilmなどを候補にし、利用時点のmodel cardや公式表示、入力言語との相性を確認してください。
PowerShellでbatch embeddingを作るにはどうしますか?
POST /api/embedのinputへ文字列の配列を渡します。返ったembeddingsの順番が入力の順番と対応するか、件数と1ベクトルの長さを確認してからvector DBへ保存します。
truncateとdimensionsは何ですか?
truncateはcontext windowを超える入力を切り詰めるかを指定するfieldで、falseでは長さ超過時にerrorになる説明があります。dimensionsは生成する次元数を指定するfieldですが、modelや既存indexとの整合を先に確認します。
Embeddingのベクトル長は何で決まりますか?
ベクトル長はmodelやdimensions設定に関係します。index作成時とquery時でmodel・tag・dimensionsをそろえ、保存済みvector DBのschemaと一致するか確認してください。
Ollamaのnative /api/embedとOpenAI互換 /v1/embeddingsはどちらを使いますか?
Ollama固有のrequest・responseやtruncateを直接確認するならnative /api/embed、既存OpenAI clientへ接続するなら/v1/embeddingsが候補です。同じlocalhostでもpath・field・parserを混ぜません。
Embeddingを使ってもRAGの検索がずれるのはなぜですか?
embedding modelだけでなく、PDF文字抽出、chunk分割、index/queryで同じmodelを使っているか、ベクトル次元、cosine similarity、top-k、質問文が関係します。chat modelだけを変えず、検索候補を先に確認します。
次に読むおすすめルート
開発・API連携したい人
LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
- ローカルAIをAPIで使う方法
- WindowsでローカルAIコーディングを始める
- VS CodeでローカルAIを使う
- LM Studioのlms CLIを使う
- LM StudioのTool Useを使う
- LM StudioのStructured Outputを使う
- LM StudioのResponses APIを使う
- LM StudioのMCPをAPIで使う
- ローカルAIでJSON出力する方法
- LM StudioとOllamaの違い
- コンテキスト長とは
- RAG・埋め込み・ベクトルDBの仕組み
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaをWindowsのLANから使う前の確認
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- Ollama Web Search APIを使う
- OllamaのThinkingを使う
- LM StudioのEmbedding APIを使う
- RAG評価と引用確認の基礎
- faithfulness確認
- ローカルRAGのプライバシー
- MCPとは
- ローカルLLMの安全性とプライバシー
- Gemma 4 12Bの更新メモ
- Hermes Desktopとは
- Hermes DesktopとLM Studio接続
- Hermes DesktopとOllama接続
- Hermes Desktop接続トラブル
- Hermes DesktopでOpenRouterを使う
- Hermes DesktopでDeepSeek APIを使う
- Hermes DesktopでProviderを使い分ける
- Hermes DesktopとLM Studio接続の確認ポイント
- Hermes AgentとDesktopの違い
- Ollamaとは
- Windows ARMでローカルAIを使う前の確認
- WindowsでOllamaをインストールする
- Ollamaのローカルモデルとcloudモデルの違い
- Ollamaのモデル保存場所と移動
- Ollamaのモデル一覧・削除・容量整理
- OllamaのOpenAI互換APIを使う
- Ollamaのtool callingを使う
- OllamaのStructured Outputsを使う
- OllamaのResponses APIを使う
- OllamaのAPI認証を確認する
- OllamaのモデルID・能力を確認する
- OllamaのModelfileを使う
- Ollama native API streamingを使う
- LM StudioのEmbedding APIを使う
- Ollamaの解説
- 診断基準
- 比較表
あなたはどのタイプ?
- 初めてローカルAIを触る人 - まず全体像をつかみ、LM StudioとOllamaの違い、モデルサイズの考え方を順番に確認します。
- LM Studio・Ollamaの症状別トラブルを解決したい人 - 起動、モデルロード、Prompt Processing、generation、API接続、GPU確認をツール別に分けて読みます。
- GPUなし・低スペックPCの人 - 軽量モデル、メモリ別の目安、重いときの確認ポイントを先に見ます。
- PDFや資料を読ませたい人 - 先に基本を押さえ、モデル単体の確認後にAnythingLLMへ進みます。
- ローカルAIエージェントを試したい人 - Bionic、Ollama、AnythingLLM、Hermesを役割別に分け、local/cloud、tool、保存、PC負荷を順番に確認します。
- 開発・API連携したい人 - LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。
関連チェック先
- Ollama Embeddings capability - embeddingモデル、semantic search、batch、L2正規化、cosine similarity、index/queryの考え方を確認できます。
- Ollama Embed API - POST /api/embedのmodel、input、truncate、dimensions、keep_alive、embeddingsレスポンスを確認できます。
- Ollama OpenAI compatibility - POST /v1/embeddingsのinput形式とnative /api/embedとの互換API境界を確認できます。
- Ollama Windows - Windows版Ollama、localhost API、モデル利用の前提を確認できます。
- Ollama CLI Reference - pull、ls、show、psなど、モデルの取得・確認・実行状態を見る入口を確認できます。
- Ollama List models API - 保存済みモデルのname、size、digestなどを一覧する仕様を確認できます。
- Ollama API Errors - APIエラーをstatusと本文から切り分けるための公式API資料を確認できます。