Vector Search with OpenAI Embeddings: Lucene Is All You Need

828 篇文章

已下架不支持订阅

本文翻译了《Vector Search with OpenAI Embeddings: Lucene Is All You Need》,展示如何使用Lucene在MS MARCO排名测试集上进行向量搜索。研究发现,Lucene的HNSW索引在双编码器架构中效果良好,挑战了必须使用专用向量存储的观点。这表明,在已有搜索基础设施中,没有强烈理由引入额外的向量存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是LLM系列文章,针对《Vector Search with OpenAI Embeddings: Lucene Is All You Need》的翻译。

使用OpenAI嵌入的向量搜索:Lucence是你所需的一切

摘要

我们在流行的MS MARCO文章排名测试集上使用Lucene提供了一个可复制的、端到端的OpenAI嵌入向量搜索演示。我们工作的主要目标是挑战主流的说法,即专用向量存储是利用深度神经网络应用于搜索的最新进展所必需的。恰恰相反,我们表明Lucene中的分层可导航小世界网络(HNSW)索引足以在标准双编码器架构中提供向量搜索功能。这表明,从简单的成本效益分析来看,似乎没有令人信服的理由将专用向量存储引入现代“人工智能堆栈”中进行搜索,因为这些应用程序已经在现有的、广泛部署的基础设施中获得了大量投资。

1 引言

2 从架构到实现

3 实验

4 讨论

5 结论

毫无疑问,密集向量的操作是当今搜索的重要组成部分。我们要解决的核心争论是如何在生产系统中实施和部署这些功能。主流的说法是,你需要一个新的、独特的添加到你的企业“AI堆栈”中——一个向量存储。我们提出的另一种选择是:如果你已经构建了搜索应用程序,那么你很可能已经投资于Lucene生态系统。在这种情况下

已下架不支持订阅

OpenAI Embeddings API是一个自然语言处理API,可用于将文本转换为向量表示。以下是使用OpenAI Embeddings API的步骤: 1. 获取API密钥:访问OpenAI的网站,注册账户并获取API密钥。 2. 安装OpenAI SDK:在本地计算机上安装OpenAI SDK,以便与API进行交互。 3. 创建API客户端:使用OpenAI SDK创建API客户端,以便发送请求和接收响应。 4. 发送请求:使用API客户端发送请求,以将文本转换为向量表示。请求中需要包含要转换的文本和模型ID。 5. 处理响应:API将返回一个向量表示,可以在代码中使用该表示进行进一步的自然语言处理任务。 以下是一个使用OpenAI Embeddings API的Python示例代码: ``` import openai import json # 设置API密钥 openai.api_key = "YOUR_API_KEY" # 创建API客户端 model_engine = "text-babbage-001" client = openai.Model(model_engine) # 发送请求 text = "The quick brown fox jumps over the lazy dog." input_dict = {"text": text, "model": model_engine} response = client.generate(input_dict) # 处理响应 output_json = response.choices[0].text output_dict = json.loads(output_json) vector = output_dict["vector"] print(vector) ``` 在此示例中,我们使用了OpenAI SDK创建了一个名为`client`的API客户端,并使用`generate`方法向API发送请求。请求中包含了一个要转换的文本`text`和一个模型ID`model_engine`。API返回一个表示文本向量的JSON字符串,我们使用`json`模块将其转换为Python字典,并提取向量表示。最后,我们打印向量表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值