资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

bge-large-zh

bge-large-zh是由智源研究院研发的中文版文本表示模型,可将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。本文介绍了相关API,本接口不限制商用。

功能介绍

根据输入内容生成对应的向量表示。

使用说明

支持通过Python SDK、Go SDK、Java SDK和Node.js SDK调用,调用流程请查看SDK安装及使用流程

SDK调用

请求示例

import os
import qianfan

# 使用安全认证AK/SK鉴权,通过环境变量方式初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

emb = qianfan.Embedding()

resp = emb.do(model="bge-large-zh", texts=[ 
    "推荐一些美食","给我讲个故事"
])
print(resp["body"])
package main

import (
	"context"
	"fmt"
	"os"

	"github.com/baidubce/bce-qianfan-sdk/go/qianfan"
)

func main() {
    // 使用安全认证AK/SK鉴权,通过环境变量初始化;替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
	os.Setenv("QIANFAN_ACCESS_KEY", "your_iam_ak")
	os.Setenv("QIANFAN_SECRET_KEY", "your_iam_sk")

	embed := qianfan.NewEmbedding(
        qianfan.WithModel("bge-large-zh"),
    )
	resp, _ := embed.Do(
		context.TODO(),
		&qianfan.EmbeddingRequest{
			Input: []string{"你好啊", "明天天气多云"},
		},
	)
	for _, value := range resp.Data {
		fmt.Println(value.Embedding)
	}
}
import com.baidubce.qianfan.Qianfan;
import com.baidubce.qianfan.model.embedding.EmbeddingData;
import com.baidubce.qianfan.model.embedding.EmbeddingResponse;
import java.util.Arrays;

public class Demo {
    public static void main(String[] args) {
        // 使用安全认证AK/SK鉴权,替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
        Qianfan qianfan = new Qianfan("your_iam_ak", "your_iam_sk");
        
        EmbeddingResponse resp = qianfan.embedding()
                .model("bge-large-zh")
                .input(Arrays.asList("晚饭味道很不错", "晚餐真好吃"))
                .execute();
        for (EmbeddingData data : resp.getData()) {
            System.out.println(data.getEmbedding());
        }
    }
}
import {Embedding} from "@baiducloud/qianfan";

//使用安全认证AK/SK鉴权(注意:不是应用API Key与Secret Key),替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk
const client = new Embedding({ QIANFAN_ACCESS_KEY: 'your_iam_ak', QIANFAN_SECRET_KEY: 'your_iam_sk' });
async function main() {
    const resp = await client.embedding({
        input: ['介绍下你自己吧', '你有什么爱好吗?'],
    }, 'bge-large-zh');
    const rs = resp.data;
    rs.forEach((data) => {
        console.log(data.embedding);
    })
}

main();

返回示例

{
	'id': 'as-tnrbsnpabg', 
	'object': 'embedding_list', 
	'created': 1716861892, 
	'data': [
		{
		    'object': 'embedding', 
			'embedding': [0.022463463246822357, -0.02337547577917576, -0.005518416874110699, ...],
  			'index': 0
  		}, 
  		{
  		    'object': 'embedding', 
  			'embedding': [0.01029676478356123, -0.014536388218402863, -0.025878649204969406, ...], 
  			'index': 1
        }
  	], 
  	'usage': {
  		'prompt_tokens': 6, 
  		'total_tokens': 6
  	}
}
[0.03457361087203026 -0.04170110821723938 -0.021686555817723274 ...]
[0.025493871420621872 -0.015965722501277924 -0.027504676952958107...]
[0.06842433661222458, 0.05259920656681061, -0.01780703105032444, ...]
[0.06406816840171814, 0.04901014640927315, -0.021046847105026245, ...]
[0.13463850319385529,  -0.010635782964527607,   0.024348171427845955...]

请求参数

注意:以下为Python SDK参数说明,Go、Java、Node.js SDK参数相关说明请参考Go SDK-向量Embeddings参数相关说明Java SDK参数相关说明Node.js SDK参数相关说明

名称 类型 必填 描述
model str 模型名称,说明:调用本文API,该字段值为固定值bge-large-zh
texts List[str] 填写文本,说明:
(1)文本数量不超过16
(2)每个文本token数不超过512且长度不超过2000个字符
(3)输入文本不能为空,如果为空会报错
retry_count int 重试次数,默认1次
request_timeout float 请求超时时间,默认60秒
backoff_factor float 请求重试参数,用于指定重试的策略,默认为0
user_id str 表示最终用户的唯一标识符

返回参数

名称 类型 描述
id str 本轮对话的id
object str 回包类型,固定值“embedding_list”
created int 时间戳
data List[EmbeddingData] embedding信息,data成员数和文本数量保持一致
usage Usage token统计信息,token数 = 汉字数+单词数*1.3 (仅为估算逻辑)

EmbeddingData说明

名称 类型 描述
object str 固定值"embedding"
embedding List[float] embedding 内容
index int 序号

Usage说明

名称 类型 描述
prompt_tokens int 问题tokens数(包含历史QA)
total_tokens int tokens总数
上一篇
Embedding-V1
下一篇
bge-large-en