OpenAI嵌入

2025-03-12 42
OpenAI

类型:人工智能

简介:一家开放人工智能研究和部署公司,推出了ChatGPT。

OpenAI文本嵌入是一种将文本转化为向量的技术,这些向量能够捕捉文本的语义信息。下面介绍OpenAI文本嵌入的使用场景及用于搜索的方式和相关操作指南。

一、OpenAI嵌入使用场景

1、搜索(根据与查询字符串的相关性对结果进行排名)

2、聚类(按相似度对文本字符串进行分组)

3、推荐(推荐与相关文本字符串相关的项目)

4、异常检测(识别与相关度较低的异常值)

5、多样性测量(分析相似度分布)

6、分类(根据其最相似的标签对文本字符串进行分类)

嵌入(Embeddings)是一个浮点数向量(列表)。两个向量之间的距离测量它们之间的相关性。较小的距离表明高相关性,而较大的距离则表明低相关性。

二、嵌入获取方法

要获取嵌入(Embeddings),将文本字符串与嵌入(Embeddings)模型ID(例如text-embedding-ada-002)一起发送到嵌入(Embeddings)API终端点(Completion)(opens in a new tab)。

响应将包含一个嵌入(Embeddings),可以提取、保存和使用。

示例请求:

curl https://api.openai.com/v1/embeddings
-H "Content-Type: application/json"
-H "Authorization: Bearer $OPENAI_API_KEY"
-d '{
"input": "Your text string goes here",
"model": "text-embedding-ada-002"
}'

示例响应:

{
"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
}
}

三、OpenAI嵌入模型

OpenAI提供一个第二代嵌入(Embeddings)模型(模型ID中用-002表示),以及16个第一代模型(模型ID中用-001表示)。建议在几乎所有情况下使用text-embedding-ada-002。它更好、更便宜、更简单易用。

模型生成 分词工具 最大输入标记数 知识截止时间
V2 cl100k_base 8191 2021 年 9 月份
V1 GPT-2/GPT-3 2046 2020 年 8 月份

使用价格按输入令牌计价,每1000个令牌价格为$0.0004,或约为每美元约3,000页(假设每页约有800个令牌):

模型(Model) 一美元页数(Rough pages per dollar) BEIR评分
text-embedding-ada-002 3000 53.9
-davinci–001 6 52.8
-curie–001 60 50.9
-babbage–001 240 50.4
-ada–001 300 49

1、第二代模型

模型名称 分词工具 最大输入标记数 输出维度
text-embedding-ada-002 cl100k_base 8191 1536

2、第一代嵌入 (不推荐)

所有第一代模型(以-001结尾的)使用GPT-3分词器(opens in a new tab),最多可输入2046个令牌。第一代嵌入(Embeddings)是由五个不同的模型家族生成,针对三种不同的任务进行了调整:文本搜索、文本相似度和代码搜索。

搜索模型以一对出现:一个用于短查询,一个用于长文档。(五个:文本搜索、文本相似度和代码搜索、短查询、长文档)

每个模型家族都包括高质量高速度等四个维度:

Model output dimensions
Ada 1024
Babbage 2048
Curie 4096
Davinci 12288

Davinci 是最强大的,但比其他模型慢且更贵。Ada 是最不强大的,但速度和价格都比较快和便宜。

四、相似度嵌入

相似度模型最擅长捕捉文本之间的语义相似性。

应用场景 可用模型
聚类、回归、异常检测、可视化 text-similarity-ada-001“text-similarity-babbage-001“text-similarity-curie-001 text-similarity-davinci-001

五、文本搜索嵌入

文本搜索模型有助于衡量哪些长文档与短搜索查询最相关。文本搜索模型使用两种模型,一个用于嵌入(Embeddings)搜索查询,一个用于嵌入(Embeddings)要排序的文档。与搜索查询嵌入(Embeddings)最接近的文档嵌入(Embeddings)应该是最相关的。

应用场景 可用模型
搜索、上下文相关性、信息检索 text-search-ada-doc-001“text-search-ada-query-001“text-search-babbage-doc-001“text-search-babbage-query-001“text-search-curie-doc-001“text-search-curie-query-001“text-search-davinci-doc-001“text-search-davinci-query-001

六、检索的代码片段嵌入

与搜索嵌入(Embeddings)类似,有两种类型:一种用于嵌入(Embeddings)自然语言搜索查询,一种用于嵌入(Embeddings)要检索的代码片段。

应用场景 可用模型
代码搜索和相关性 code-search-ada-code-001“code-search-ada-text-001“code-search-babbage-code-001“code-search-babbage-text-001

对于-001文本嵌入(Embeddings)(不是-002和代码嵌入(Embeddings)),我们建议将输入中的换行符(\n)替换为单个空格,因为我们发现当存在换行符时结果更差。

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。