Skip to content

Embeddings API

为文本输入生成向量嵌入。适用于语义搜索、聚类和 RAG(检索增强生成)管线。兼容 OpenAI 格式。

基础 URL: https://api.jarvisclaw.ai/v1

认证

两种方式均支持 — 所有请求通过 x402 链上结算:

方式Header描述
API KeyAuthorization: Bearer sk-...平台自动从你的 HD 钱包签名 x402
私钥(x402)通过 SDK 自动Agent 直接从自身钱包签名 x402

详见 Agent 支付(x402) 了解两种方式的工作原理。

端点

POST /v1/embeddings

为一个或多个文本输入生成嵌入向量。

参数类型必填描述
modelstring嵌入模型 ID(如 text-embedding-3-smalltext-embedding-3-largetext-embedding-ada-002
inputstring | array待嵌入文本 — 单个字符串或字符串数组。每个字符串最大约 8191 tokens
encoding_formatstring输出格式:float(默认)或 base64
dimensionsinteger期望输出维度(仅 text-embedding-3-* 模型支持)。将嵌入截断为此大小
userstring用于滥用监控的唯一用户标识符

请求

json
{
  "model": "text-embedding-3-small",
  "input": "The quick brown fox jumps over the lazy dog",
  "dimensions": 512
}

响应

json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [0.0023064255, -0.009327292, ...]
    }
  ],
  "model": "text-embedding-3-small",
  "usage": {
    "prompt_tokens": 9,
    "total_tokens": 9
  }
}

批量请求

json
{
  "model": "text-embedding-3-small",
  "input": [
    "First document to embed",
    "Second document to embed",
    "Third document to embed"
  ],
  "dimensions": 256
}

代码示例

python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.jarvisclaw.ai/v1",
    api_key="sk-your-api-key",
)

# 单文本嵌入
response = client.embeddings.create(
    model="text-embedding-3-small",
    input="Hello world",
    dimensions=512
)
embedding = response.data[0].embedding
print(f"维度: {len(embedding)}")
python
# SDK 中没有 EmbeddingClient —— 用 OpenAI 兼容入口,
# 它自带同样的认证与 x402 处理。
from jarvisclaw import OpenAI

client = OpenAI(private_key="0x<evm-private-key>")

resp = client._post("/v1/embeddings", json={
    "model": "text-embedding-3-small",
    "input": "Hello world",
    "dimensions": 512,
})
print(f"维度: {len(resp['data'][0]['embedding'])}")
bash
curl https://api.jarvisclaw.ai/v1/embeddings \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "Hello world",
    "dimensions": 512
  }'

可用模型

当前没有上架任何向量化模型

/v1/embeddings 路由已注册且兼容 OpenAI 格式,但当前模型清单(GET /v1/models)中不含任何 向量化模型 —— 因此指定下表模型的请求会被判为未知模型,直到你的部署启用了向量化渠道。

构建之前请先查询 GET /v1/models。AIP 解析器自身的语义匹配使用内部 embedding 后端,不通过 此端点暴露。

以下是此端点设计代理的 OpenAI 模型的参考数据:

模型维度最大输入价格
text-embedding-3-small1536(可调)8191 tokens$0.02 / 1M tokens
text-embedding-3-large3072(可调)8191 tokens$0.13 / 1M tokens
text-embedding-ada-0021536(固定)8191 tokens$0.10 / 1M tokens