如何用OpenAI ChatGPT API实现Embedding
Embedding是什么?网上内容很多,不过多解释,问了下chatgpt,它的解释如下:
在自然语言处理和机器学习领域,"embeddings" 是指将单词、短语或文本转换成连续向量空间的过程。这个向量空间通常被称为嵌入空间(embedding space),而生成的向量则称为嵌入向量(embedding vector)或向量嵌入(vector embedding)。
嵌入向量可以捕获单词、短语或文本的语义信息,使得它们可以在数学上进行比较和计算。这种比较和计算在自然语言处理和机器学习中经常被用于各种任务,例如文本分类、语义搜索、词语相似性计算等。
在中文语境下,"embeddings" 通常被翻译为 "词向量" 或者 "向量表示"。这些翻译强调了嵌入向量的特点,即将词汇转换成向量,并表示为嵌入空间中的点。
OpenAI 中的文本 Embedding 衡量文本字符串之间的相关性。Embedding 通常用于以下场景:
- 搜索(结果按查询字符串的相关性进行排序)
- 聚类(将文本字符串按相似性分组)
- 推荐(推荐具有相关文本字符串的项目)
- 异常检测(识别相关性较小的异常值)
- 多样性测量(分析相似度分布)
- 分类(文本字符串按其最相似的标签进行分类)
直接上代码:
1、首先需要拿到openai的key和url,
项目github地址:https://github.com/xing61/xiaoyi-robot
-
第1步:用手机号登录智增增,获取复制出key和url,地址:https://gpt.zhizengzeng.com/#/login
-
第2步:编写代码。注意配置的base_url是:
https://flag.smarttrot.com/v1
2、开始撸python代码:(其它语言类似)
API_SECRET_KEY = "你的智增增获取的api_key";
BASE_URL = "https://flag.smarttrot.com/v1"; #智增增的base_url
def embedding(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位");
返回结果:
{
"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
}
}
完成。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...