ling-baseling-base

Embeddings

文本向量化

在线 Playground

在浏览器中直接体验本页相关 API,无需本地安装 Go 环境。

Embeddings

安装与 Client

go get github.com/LingByte/ling-base/relay
import (
    "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模型示例
OpenAItext-embedding-3-small / large
Cohereembed-english-v3 / multilingual-v3
Alitext-embedding-v2 / v3
Baiduembedding-v1
Zhipuembedding-2 / embedding-3
Jinajina-embeddings-v3
Gemini / Vertex / AWS各平台 embedding 模型

切换 provider 只需替换 relay.WithProvider(...),请求结构保持不变。

On this page