一架梯子,一头程序猿,仰望星空!
文本嵌入模型 > 内容正文

OpenAI Embeddings 文本嵌入模型


embeddings是什么?

OpenAI 的文本嵌入模型可以计算文本字符串的特征向量,通过向量计算字符串之间的语义相关性。嵌入通常用于:

  • 搜索(其中搜索结果按与查询字符串的相关性排序)
  • 聚类(其中文本字符串按相似性分组)
  • 推荐(其中推荐具相似的内容)
  • 异常检测(识别具有很少相关性的异常值)
  • 多样性测量(分析相似性分布)
  • 分类(按它们最相似的标签对文本字符串进行分类)

embeddings模型计算出来的向量数据是浮点数数组。两个向量之间的距离可以表达它们之间的相关性。距离越近表明相关性越高,距离越远表明相关性越低。

  • 提示:目前业界在文本向量计算这块,OpenAI的embedding模型效果是比较好的,缺点就是要花钱,不过目前价格还是很便宜,目前大概$0.0001/1K tokens。

如何使用embeddings模型?

使用openai的嵌入模型很简单,一个接口调用就可以搞定,目前OpenAI最新的嵌入模型是ext-embedding-ada-002

HTTP API调用例子:

curl https://api.openai.com/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "input": "欢迎浏览www.tizi365.com的文本嵌入模型教程",
    "model": "text-embedding-ada-002"
  }'

参数就两个input就是需要计算向量的文本,model就是我们选择的嵌入模型,OPENAI_API_KEY就是API KEY,这个需要申请。

返回结果示例:

{
  "data": [
    {
      "embedding": [
        -0.006929283495992422,
        -0.005336422007530928,
        ...
        -4.547132266452536e-05,
        -0.024047505110502243
      ],
      "index": 0,
      "object": "embedding"
    }
  ],
  "model": "text-embedding-ada-002",
  "object": "list",
  "usage": {
    "prompt_tokens": 5,
    "total_tokens": 5
  }
}

embedding字段就是返回的特征向量数组。


关联主题