什么是Embedding?

新知榜官方账号

2023-10-07 22:16:24

什么是Embedding?

Embedding是将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称为嵌入空间(embeddingspace),而生成的向量则称为嵌入向量(embeddingvector)或向量嵌入(vectorembedding)。嵌入向量可以捕获单词、短语或文本的语义信息,使得它们可以在数学上进行比较和计算。这种比较和计算在自然语言处理和机器学习中经常被用于各种任务,例如文本分类、语义搜索、词语相似性计算等。

在中文语境下,"embeddings"通常被翻译为"词向量"或者"向量表示"。这些翻译强调了嵌入向量的特点,即将词汇转换成向量,并表示为嵌入空间中的点。

OpenAI中的文本Embedding

OpenAI中的文本Embedding衡量文本字符串之间的相关性。Embedding通常用于以下场景:

  • 搜索(结果按查询字符串的相关性进行排序)
  • 聚类(将文本字符串按相似性分组)
  • 推荐(推荐具有相关文本字符串的项目)
  • 异常检测(识别相关性较小的异常值)
  • 多样性测量(分析相似度分布)
  • 分类(文本字符串按其最相似的标签进行分类)

如何使用OpenAI的文本Embedding

使用OpenAI的文本Embedding需要先拿到OpenAI的key和url。可以通过Github项目https://github.com/xing61/xiaoyi-robot获取接口。接着,可以使用下面的Python代码进行调用:

API_SECRET_KEY="你的智增增获取的api_key";
BASE_URL="https://flag.smarttrot.com/index.php/api/v1";#智增增的base_url
defembedding(query):
    openai.api_key=API_SECRET_KEY
    openai.api_base=BASE_URL
    resp=openai.Embedding.create(model="text-embedding-ada-002",input=query)
    json_str=json.dumps(resp,ensure_ascii=False)
    print(json_str)

if__name__=='__main__':
    embedding("圆周率的前10位");

其中,API_SECRET_KEY是OpenAI的API密钥,BASE_URL是OpenAI的基础URL。调用时需要指定模型和输入文本,这里使用了text-embedding-ada-002模型和"圆周率的前10位"这个查询字符串作为输入。调用结果将以Json格式返回。

本页网址:https://www.xinzhibang.net/article_detail-15785.html

寻求报道,请 点击这里 微信扫码咨询

关键词

Embedding 词向量 向量表示

分享至微信: 微信扫码阅读

相关工具

相关文章

相关快讯