Embeddings API
为文本输入生成向量嵌入。适用于语义搜索、聚类和 RAG(检索增强生成)管线。兼容 OpenAI 格式。
基础 URL: https://api.jarvisclaw.ai/v1
认证
两种方式均支持 — 所有请求通过 x402 链上结算:
| 方式 | Header | 描述 |
|---|---|---|
| API Key | Authorization: Bearer sk-... | 平台自动从你的 HD 钱包签名 x402 |
| 私钥(x402) | 通过 SDK 自动 | Agent 直接从自身钱包签名 x402 |
详见 Agent 支付(x402) 了解两种方式的工作原理。
端点
POST /v1/embeddings
为一个或多个文本输入生成嵌入向量。
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
| model | string | 是 | 嵌入模型 ID(如 text-embedding-3-small、text-embedding-3-large、text-embedding-ada-002) |
| input | string | array | 是 | 待嵌入文本 — 单个字符串或字符串数组。每个字符串最大约 8191 tokens |
| encoding_format | string | 否 | 输出格式:float(默认)或 base64 |
| dimensions | integer | 否 | 期望输出维度(仅 text-embedding-3-* 模型支持)。将嵌入截断为此大小 |
| user | string | 否 | 用于滥用监控的唯一用户标识符 |
请求
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-small | 1536(可调) | 8191 tokens | $0.02 / 1M tokens |
text-embedding-3-large | 3072(可调) | 8191 tokens | $0.13 / 1M tokens |
text-embedding-ada-002 | 1536(固定) | 8191 tokens | $0.10 / 1M tokens |