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

向量模型

什么是embedding

文本嵌入是文本的数值表示,可用于衡量语义相似度。应用场景包括:

  • 推荐:根据输入文本字符推荐相关信息条目
  • 聚类:按相似性对文本字符串进行分组
  • 搜索:按相关性对搜索结果排序
  • 异常检测:识别出相关性较小的异常值
  • 多样性检测:分析文本字符的相似性分布
  • 分类:按照相似性对文本字符进行分类 两个向量之间的距离决定了它们的相关性。距离小表示相关性高,距离大表示相关性低。

如何使用向量模型

调用向量模型,输入文本以获取embeddings。不同模型的文本数量限制不同,具体请参考模型列表文档。model入参您想调用的向量模型,例如embedding-v1。

curl --location 'https://qianfan.baidubce.com/v2/embeddings' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer bce-v3/ALTAK-*********/614fb**********' \
--data '{
    "model": "embedding-v1",
    "input":["White T-shirt"]
}'

返回中包含了向量信息(浮点list)和一些其他元数据。您可以提取向量,保存在向量数据库中在其他场景中使用。

{
    "id": "as-xz2r36ena8",
    "object": "list",
    "created": 1737030777,
    "data": [
        {
            "object": "embedding",
            "embedding": [
                0.018346669152379036,
                0.009424751624464989,
                -0.009573426097631454,
                ...,
                -0.3628600239753723
            ],
            "index": 0
        }
    ],
    "model": "embedding-v1",
    "usage": {
        "prompt_tokens": 3,
        "total_tokens": 3
    }
}

同时,您也可以通过OpenAI的SDK来请求该模型。

from openai import OpenAI

client = OpenAI(
    api_key="bce-v3/ALTAK-xxxxx",
    base_url="https://qianfan.baidubce.com/v2" 
)

response = client.embeddings.create(
           model= "embedding-v1",
           input=["White T-shirt"])

print(response.data[0].embedding)