创建嵌入 (Create Embedding)
将文本转换为向量嵌入。
请求
POST https://www.realmrouter.cn/v1/embeddings
请求头
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| Authorization | string | 是 | Bearer Token 认证。格式: Authorization: Bearer sk-xxxxxx |
| Content-Type | string | 是 | 请求内容类型,固定为 application/json |
请求体 (application/json)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型名称,例如:text-embedding-v4 |
| input | string | array<string> | 是 | 要嵌入的文本 |
| encoding_format | string | 否 | 编码格式。默认值: "float"。可选值: "float" | "base64" |
| dimensions | integer | 否 | 输出向量维度 |
请求示例
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"
}'1
2
3
4
5
6
7
2
3
4
5
6
7
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
})1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
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))
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
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();
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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();1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
响应
响应体 (application/json)
| 参数 | 类型 | 说明 |
|---|---|---|
| object | string | 对象类型,固定为 "list" |
| data | array | 嵌入数据数组 |
| data[].object | string | 对象类型,固定为 "embedding" |
| data[].index | integer | 索引 |
| data[].embedding | array<number> | 嵌入向量 |
| model | string | 使用的模型名称 |
| usage | object | 使用情况 |
| usage.prompt_tokens | integer | 提示词token数 |
| usage.total_tokens | integer | 总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
}
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
状态码
| 状态码 | 说明 |
|---|---|
| 200 | 成功 |
| 400 | 请求参数错误 |
| 401 | 认证失败 |
| 429 | 请求过于频繁 |
| 500 | 服务器错误 |
注意事项
input参数可以是单个字符串或字符串数组encoding_format参数控制返回的嵌入向量格式:"float": 返回浮点数数组"base64": 返回Base64编码的字符串
dimensions参数可以指定输出向量的维度,具体支持的维度取决于模型- 每次请求的token消耗会计入您的配额
- 推荐使用
text-embedding-v4模型以获得最佳性能