ドキュメントのメニュー埋め込み

埋め込み

テキストをベクトルに変換する /v1/embeddings の使い方です。

対応モデル

埋め込みは /v1/embeddings です。テキスト生成とは別サーフェスのため、これらのモデル ID は GET /v1/models には含まれません(GET /v1/embeddings/models で対応モデルと次元を確認できます)。トライアルキーは対象外です。

モデル IDモデル名精度次元
qwen3-embedding-8bQwen3 Embedding 8B自社DCQ84,096
32〜4096 で指定可

使い方

from openai import OpenAI

client = OpenAI(
    base_url="https://hai-api.hcloud.ltd/v1",
    api_key="hai_...",
)

resp = client.embeddings.create(
    model="qwen3-embedding-8b",
    input=["テキストをベクトルにする", "複数まとめて送れます"],
)
print(len(resp.data[0].embedding))  # 4096
curl https://hai-api.hcloud.ltd/v1/embeddings \
  -H "Authorization: Bearer hai_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-embedding-8b",
    "input": "テキストをベクトルにする"
  }'

仕様と課金

  • input は文字列と文字列配列のどちらも受け付けます。配列で送ると data に入力と同じ順で返ります。
  • 返るベクトルは既定で 4096 次元です。dimensions に 32〜4096 の整数を指定すると、その次元に切り詰めた(Matryoshka)ベクトルが返ります。 次元を下げるとベクトル DB のストレージと検索コストが下がります。異なる次元のベクトルは比較できないため、 1 つのインデックス内では同じ値を使ってください。
  • encoding_format に base64 を指定できます(既定は float)。
  • ストリーミングには対応していません(stream: true は 400 を返します)。
  • 課金は入力トークンのみです。出力はベクトルのためトークンを持たず、 レスポンスの usage.completion_tokens は常に 0 です。 定額プランの対象外で、クレジットから消費します。