APIMaster.ai

BGE-M3 · リクエストを送る

多言語文書検索に適したBAAIの1024次元埋め込みモデルです。このAPIは密ベクトルを返し、疎な重みやColBERTベクトルは提供しません。検索クエリに特別な指示プレフィックスは不要です。

多言語文書検索に適したBAAIの1024次元埋め込みモデルです。このAPIは密ベクトルを返し、疎な重みやColBERTベクトルは提供しません。検索クエリに特別な指示プレフィックスは不要です。

2026-10-02確認:稼働中の経路は入力100万tokensあたり$0.01からです。APIMasterの経路価格であり、提供元の一律公式価格ではありません。最新のモデルカードを優先してください。 最新のモデルカード

リクエストを送る

POST /v1/embeddings · model: bge-m3

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": "bge-m3", "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="bge-m3",
    input=["Semantic search retrieves related documents.", "猫在窗边休息。"],
    encoding_format="float",
)
for item in result.data:
    print(item.index, len(item.embedding))  # 1024
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: "bge-m3",
    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です。長い文書は分割し、バッチを小さくしてください。制限やトークン化は経路によって異なる場合があります。

bge-m3では完全な1024次元の密ベクトルを使い、dimensionsは省略します。リクエストのモデルIDはbge-m3です。response.modelにはプロバイダーの別名が返ることがあります。

応答を読む

data[i].embeddingを読み、data[i].indexで入力に対応付けます。usage.prompt_tokensとusage.total_tokensは入力使用量です。ベクトルは生成テキストではないため出力tokensとして課金されません。base64も検証済みですが、floatの方が確認しやすい形式です。

単一入力、中国語・英語のバッチ、ベクトル長、同一入力の一貫性を実際のAPIで検証しました。API動作の検証であり、あらゆるデータの検索品質を保証するものではありません。

意味検索とRAG

文書を分割して各部分のベクトルを作成・保存します。同じモデルと次元数でクエリをベクトル化し、コサイン類似度で順位付けして、検索したテキストを別のチャットモデルに渡します。異なるモデルや次元数を同じ索引に混在させないでください。モデル変更時は索引を再作成します。

トラブルシューティング

401はAPIキーを確認します。400はモデルID、空でないinput、パラメーターを確認します。429や上流のタイムアウトでは同時リクエスト数を減らし、待機時間を増やして再試行します。経路の稼働状況と価格はモデル広場で確認してください。

次のステップと参考資料