text-embedding-3-small · リクエストを送る
標準で1536次元を返すOpenAIの埋め込みモデルです。意味検索とナレッジベースの索引作成に適しています。APIMasterではdimensionsによる512次元の出力も実測済みです。
標準で1536次元を返すOpenAIの埋め込みモデルです。意味検索とナレッジベースの索引作成に適しています。APIMasterではdimensionsによる512次元の出力も実測済みです。
2026-10-02確認:稼働中の経路は入力100万tokensあたり$0.02からです。APIMasterの経路価格であり、提供元の一律公式価格ではありません。最新のモデルカードを優先してください。 最新のモデルカード
リクエストを送る
POST /v1/embeddings · model: text-embedding-3-small
cURL
export APIMASTER_API_KEY="YOUR_APIMASTER_API_KEY"
curl --fail-with-body "https://apimaster.ai/v1/embeddings" \
-H "Authorization: Bearer $APIMASTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "text-embedding-3-small", "input": "Semantic search retrieves related documents.", "encoding_format": "float"}'
Python · OpenAI SDK
pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["APIMASTER_API_KEY"],
base_url="https://apimaster.ai/v1",
)
result = client.embeddings.create(
model="text-embedding-3-small",
input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format="float",
)
for item in result.data:
print(item.index, len(item.embedding)) # 1536
print(result.usage.prompt_tokens)
JavaScript · Node.js
const response = await fetch("https://apimaster.ai/v1/embeddings", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.APIMASTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "text-embedding-3-small",
input: ["Semantic search retrieves related documents.", "猫在窗边休息。"],
encoding_format: "float",
}),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
console.log(result.data.map((item) => [item.index, item.embedding.length]));
console.log(result.usage.prompt_tokens);
パラメーターと制限
inputには空でない文字列、または空でない文字列の配列を指定します。encoding_format: floatで数値配列を取得できます。messages、max_tokens、streamは送信しません。モデルの参考上限はテキストごとに8192 tokensです。長い文書は分割し、バッチを小さくしてください。制限やトークン化は経路によって異なる場合があります。
ここでdimensionsを案内するのはtext-embedding-3-smallのみです。標準は1536次元で、512次元も検証済みです。文書とクエリには同じ次元数を使ってください。
次元を減らす
compact = client.embeddings.create(
model="text-embedding-3-small",
input="Semantic search retrieves related documents.",
encoding_format="float",
dimensions=512,
)
print(len(compact.data[0].embedding)) # 512
応答を読む
data[i].embeddingを読み、data[i].indexで入力に対応付けます。usage.prompt_tokensとusage.total_tokensは入力使用量です。ベクトルは生成テキストではないため出力tokensとして課金されません。base64も検証済みですが、floatの方が確認しやすい形式です。
単一入力、中国語・英語のバッチ、ベクトル長、同一入力の一貫性を実際のAPIで検証しました。API動作の検証であり、あらゆるデータの検索品質を保証するものではありません。
意味検索とRAG
文書を分割して各部分のベクトルを作成・保存します。同じモデルと次元数でクエリをベクトル化し、コサイン類似度で順位付けして、検索したテキストを別のチャットモデルに渡します。異なるモデルや次元数を同じ索引に混在させないでください。モデル変更時は索引を再作成します。
トラブルシューティング
401はAPIキーを確認します。400はモデルID、空でないinput、パラメーターを確認します。429や上流のタイムアウトでは同時リクエスト数を減らし、待機時間を増やして再試行します。経路の稼働状況と価格はモデル広場で確認してください。
