+
95
-

回答

什么是embedding?

OpenAI 的文本embedding衡量文本字符串的相关性。

800_auto

嵌入通常用于:

搜索(结果按与查询字符串的相关性排序)

聚类(其中文本字符串按相似性分组)

推荐(推荐具有相关文本字符串的项目)

异常检测(识别出相关性很小的异常值)

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

分类(其中文本字符串按其最相似的标签分类)

embedding是浮点数的向量(列表)。两个向量之间的距离衡量它们的相关性。小距离表示高相关性,大距离表示低相关性。

要获得embedding,请将您的文本字符串连同选择的嵌入模型 ID发送到嵌入 API 端点text-embedding-ada-002。响应将包含一个embedding,您可以提取、保存和使用它。

示例请求:
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
}
}

python代码:

def get_embedding(text, model="text-embedding-ada-002"):
text = text.replace("\n", " ")
return openai.Embedding.create(input = [text], model=model)['data'][0]['embedding']

df['ada_embedding'] = df.combined.apply(lambda x: get_embedding(x, model='text-embedding-ada-002'))
df.to_csv('output/embedded_1k_reviews.csv', index=False)

参考:https://openai.com/blog/introducing-text-and-code-embeddings

https://platform.openai.com/docs/guides/embeddings/what-are-embeddings


网友回复

我知道答案,我要回答