埋め込み
テキストをベクトルに変換する /v1/embeddings の使い方です。
対応モデル
埋め込みは /v1/embeddings です。テキスト生成とは別サーフェスのため、これらのモデル ID は GET /v1/models には含まれません(GET /v1/embeddings/models で対応モデルと次元を確認できます)。トライアルキーは対象外です。
| モデル ID | モデル名 | 精度 | 次元 |
|---|---|---|---|
qwen3-embedding-8b | Qwen3 Embedding 8B自社DC | Q8 | 4,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)) # 4096curl 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 です。 定額プランの対象外で、クレジットから消費します。