OpenAI 原生格式(向量嵌入)
将文本转换为向量,常用于语义搜索、相似度匹配和检索增强生成。
请求
POST /v1/embeddings
Content-Type: application/json
Authorization: Bearer sk-your-api-key
input 可以是字符串或字符串数组。批量输入时请关注部署版本的请求大小和 Token 限制。
调用示例
- cURL
- JavaScript
- Python
- Go
- Java
curl -X POST "https://www.walmind.cn/v1/embeddings" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_KEY" \
-d '{
"model": "your-embedding-model",
"input": ["第一段文本", "第二段文本"]
}'
const response = await fetch('https://www.walmind.cn/v1/embeddings', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.API_KEY}`,
},
body: JSON.stringify({
model: 'your-embedding-model',
input: ['第一段文本', '第二段文本'],
}),
});
console.log(await response.json());
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["API_KEY"],
base_url="https://www.walmind.cn/v1",
)
response = client.embeddings.create(
model="your-embedding-model",
input=["第一段文本", "第二段文本"],
)
print(response.data)
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
body := []byte(`{"model":"your-embedding-model","input":["第一段文本","第二段文本"]}`)
req, _ := http.NewRequest("POST", "https://www.walmind.cn/v1/embeddings", bytes.NewReader(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer "+os.Getenv("API_KEY"))
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
result, _ := io.ReadAll(resp.Body)
fmt.Println(string(result))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class CreateEmbedding {
public static void main(String[] args) throws Exception {
String body = "{"model":"your-embedding-model","input":["第一段文本","第二段文本"]}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://www.walmind.cn/v1/embeddings"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer " + System.getenv("API_KEY"))
.POST(HttpRequest.BodyPublishers.ofString(body))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
响应示例
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [0.0123, -0.0456]
}
],
"model": "your-embedding-model",
"usage": {"prompt_tokens": 8, "total_tokens": 8}
}