Embeddings
文本向量化
在线 Playground
在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。
Embeddings
安装与 Client
go get github.com/LingByte/ling-base/relayimport (
"encoding/json"
"github.com/LingByte/ling-base/relay"
"github.com/LingByte/ling-base/relay/channel/openai"
)
client := relay.New(
relay.WithProvider(openai.NewProvider("sk-xxx")),
)批量向量化
方法名为 Embed(不是 Embeddings):
input, _ := json.Marshal([]string{"Hello world", "Go is awesome"})
resp, err := client.Embed(ctx, &relay.EmbedRequest{
Model: "text-embedding-3-small",
Input: input,
})
if err != nil {
log.Fatal(err)
}
for i, emb := range resp.Data {
fmt.Printf("Embedding %d: dim=%d first5=%v\n",
i, len(emb.Embedding), emb.Embedding[:5])
}单条文本
input, _ := json.Marshal("single sentence")
resp, err := client.Embed(ctx, &relay.EmbedRequest{
Model: "text-embedding-3-small",
Input: input,
})支持的 Provider
| Provider | 模型示例 |
|---|---|
| OpenAI | text-embedding-3-small / large |
| Cohere | embed-english-v3 / multilingual-v3 |
| Ali | text-embedding-v2 / v3 |
| Baidu | embedding-v1 |
| Zhipu | embedding-2 / embedding-3 |
| Jina | jina-embeddings-v3 |
| Gemini / Vertex / AWS | 各平台 embedding 模型 |
切换 provider 只需替换 relay.WithProvider(...),请求结构保持不变。