Skip to content

创建嵌入 (Create Embedding)

将文本转换为向量嵌入。

请求

POST https://www.realmrouter.cn/v1/embeddings

请求头

参数类型必填说明
AuthorizationstringBearer Token 认证。格式: Authorization: Bearer sk-xxxxxx
Content-Typestring请求内容类型,固定为 application/json

请求体 (application/json)

参数类型必填说明
modelstring模型名称,例如:text-embedding-v4
inputstring | array<string>要嵌入的文本
encoding_formatstring编码格式。默认值: "float"。可选值: "float" | "base64"
dimensionsinteger输出向量维度

请求示例

cURL

bash
curl -X POST "https://www.realmrouter.cn/v1/embeddings" \
  -H "Authorization: Bearer " \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-v4",
    "input": "string"
  }'

JavaScript

javascript
const body = JSON.stringify({
  "model": "text-embedding-v4",
  "input": "string"
})

fetch("https://www.realmrouter.cn/v1/embeddings", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer "
  },
  body
})

Go

go
package main

import (
  "fmt"
  "net/http"
  "io/ioutil"
  "strings"
)

func main() {
  url := "https://www.realmrouter.cn/v1/embeddings"
  body := strings.NewReader(`{
    "model": "text-embedding-v4",
    "input": "string"
  }`)
  req, _ := http.NewRequest("POST", url, body)
  req.Header.Add("Authorization", "Bearer ")
  req.Header.Add("Content-Type", "application/json")
  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  body, _ := ioutil.ReadAll(res.Body)

  fmt.Println(res)
  fmt.Println(string(body))
}

Python

python
import requests

url = "https://www.realmrouter.cn/v1/embeddings"
body = """{
  "model": "text-embedding-v4",
  "input": "string"
}"""
response = requests.request("POST", url, data = body, headers = {
  "Content-Type": "application/json",
  "Authorization": "Bearer "
})

print(response.text)

Java

java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;

var body = BodyPublishers.ofString("""{
  "model": "text-embedding-v4",
  "input": "string"
}""");
HttpClient client = HttpClient.newBuilder()
  .connectTimeout(Duration.ofSeconds(10))
  .build();

HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
  .uri(URI.create("https://www.realmrouter.cn/v1/embeddings"))
  .header("Authorization", "Bearer ")
  .header("Content-Type", "application/json")
  .POST(body)
  .build();

try {
  HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
  System.out.println("Status code: " + response.statusCode());
  System.out.println("Response body: " + response.body());
} catch (Exception e) {
  e.printStackTrace();
}

C#

csharp
using System;
using System.Net.Http;
using System.Text;

var body = new StringContent("""
{
  "model": "text-embedding-v4",
  "input": "string"
}
""", Encoding.UTF8, "application/json");

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer ");
var response = await client.PostAsync("https://www.realmrouter.cn/v1/embeddings", body);
var responseBody = await response.Content.ReadAsStringAsync();

响应

响应体 (application/json)

参数类型说明
objectstring对象类型,固定为 "list"
dataarray嵌入数据数组
data[].objectstring对象类型,固定为 "embedding"
data[].indexinteger索引
data[].embeddingarray<number>嵌入向量
modelstring使用的模型名称
usageobject使用情况
usage.prompt_tokensinteger提示词token数
usage.total_tokensinteger总token数

响应示例

json
{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "index": 0,
      "embedding": [0.0023, -0.0251, 0.0921, ...]
    }
  ],
  "model": "text-embedding-v4",
  "usage": {
    "prompt_tokens": 4,
    "total_tokens": 4
  }
}

状态码

状态码说明
200成功
400请求参数错误
401认证失败
429请求过于频繁
500服务器错误

注意事项

  1. input 参数可以是单个字符串或字符串数组
  2. encoding_format 参数控制返回的嵌入向量格式:
    • "float": 返回浮点数数组
    • "base64": 返回Base64编码的字符串
  3. dimensions 参数可以指定输出向量的维度,具体支持的维度取决于模型
  4. 每次请求的token消耗会计入您的配额
  5. 推荐使用 text-embedding-v4 模型以获得最佳性能

基于 MIT 许可发布 厦门界云聚算网络科技有限公司