Embedding - tencentcloud
腾讯云混元 Embedding
这是一个为 Eino 实现的腾讯云混元 Embedding 组件,实现了 Embedder
接口。它可以无缝集成到 Eino 的 embedding 系统中,提供文本向量化能力。
特性
- 实现了
github.com/cloudwego/eino/components/embedding.Embedder
接口 - 易于集成到 Eino 的 rag 工作流中
- 内置 token 使用量追踪
- 自动处理大规模文本数组的批处理
- 内置回调支持
安装
go get github.com/cloudwego/eino-ext/components/embedding/tencentcloud
快速开始
package main
import (
"context"
"fmt"
"os"
"github.com/cloudwego/eino-ext/components/embedding/tencentcloud"
)
func main() {
ctx := context.Background()
// 创建 embedder 配置
cfg := &tencentcloud.EmbeddingConfig{
SecretID: os.Getenv("TENCENTCLOUD_SECRET_ID"),
SecretKey: os.Getenv("TENCENTCLOUD_SECRET_KEY"),
Region: "ap-guangzhou",
}
// 创建 embedder
embedder, err := tencentcloud.NewEmbedder(ctx, cfg)
if err != nil {
panic(err)
}
// 获取文本的向量表示
embeddings, err := embedder.EmbedStrings(ctx, []string{"hello world", "bye world"})
if err != nil {
panic(err)
}
fmt.Printf("Embeddings: %v\n", embeddings)
}
配置说明
embedder 可以通过 EmbeddingConfig
结构体进行配置:
type EmbeddingConfig struct {
SecretID string // 腾讯云 Secret ID
SecretKey string // 腾讯云 Secret Key
Region string // 腾讯云地域(如 "ap-guangzhou")
}
功能详情
自动批处理
embedder 会自动处理大规模文本数组的批处理。根据腾讯云 API 的限制,每个请求最多可以处理 200 个文本。embedder 会自动将较大的数组分割成适当的批次进行处理。
Token 使用量追踪
embedder 通过 Eino 的回调系统追踪 token 使用量。token 使用信息包括:
- 输入 token 数量
- 总 token 数量
回调支持
embedder 完全支持 Eino 的回调系统,支持:
- 错误追踪
- 开始/结束事件监控
- Token 使用统计
更多信息
最后修改
April 28, 2025
: docs: update eino ext docs (#1314) (b49af87)