按语义相似性搜索向量存储文档

通过语义相似性和批量操作搜索向量存储文档

Initiate a search operation with a query text and receive most semantically similar responses from the vector store.

Path parameters
vector-store-idstringRequired

The ID of the vector store.

Query parameters
qstringRequired

The search query text.

nintegerOptional

Number of chunks to return.

tnumberOptional

Matching threshold.

prev_chunksintegerOptional

Number of chunks before the matched chunk to include.

next_chunksintegerOptional

Number of chunks after the matched chunk to include.

Header parameters
x-api-keystringRequired

The API key for authentication.

Responses
200

Search results retrieved successfully.

application/json
get
/vector-stores/{vector-store-id}/documents/search
200

Search results retrieved successfully.

示例请求

curl -X GET \
  "https://api.rememberizer.ai/api/v1/vector-stores/vs_abc123/documents/search?q=如何将我们的产品与第三方系统集成&n=5&prev_chunks=1&next_chunks=1" \
  -H "x-api-key: YOUR_API_KEY"

YOUR_API_KEY 替换为您的实际向量存储 API 密钥,将 vs_abc123 替换为您的向量存储 ID。

路径参数

参数
类型
描述

vector-store-id

字符串

必填。 要搜索的向量存储的 ID。

查询参数

参数
类型
描述

q

字符串

必填。 搜索查询文本。

n

整数

返回的结果数量。默认:10。

t

数字

匹配阈值。默认:0.7。

prev_chunks

整数

包含匹配块之前的块数。默认:0。

next_chunks

整数

包含匹配块之后的块数。默认:0。

响应格式

认证

此端点需要使用 x-api-key 头中的 API 密钥进行认证。

错误响应

状态码
描述

400

错误请求 - 缺少必需的参数或格式无效

401

未授权 - API 密钥无效或缺失

404

未找到 - 找不到向量存储

500

服务器内部错误

搜索优化技巧

上下文窗口

使用 prev_chunksnext_chunks 参数来控制每个匹配包含多少上下文:

  • 将两者都设置为 0 以获得没有上下文的精确匹配

  • 将两者都设置为 1-2 以获得具有最小上下文的匹配

  • 将两者都设置为 3-5 以获得具有大量上下文的匹配

匹配阈值

t 参数控制匹配的过滤严格程度:

  • 较高的值(例如,0.9)仅返回非常接近的匹配

  • 较低的值(例如,0.5)返回更多种类的匹配

  • 默认值(0.7)提供了一种平衡的方法

批量操作

对于高吞吐量的应用,Rememberizer 支持在向量存储上进行高效的批量操作。这些方法在处理多个搜索查询时优化性能。

批量搜索实现

批量操作的性能优化

在实现向量存储搜索的批量操作时,请考虑以下最佳实践:

  1. 最佳批量大小:对于大多数应用程序,平行处理 5-10 个查询在吞吐量和资源使用之间提供了良好的平衡。

  2. 速率限制意识:在批次之间包含延迟机制(通常为 1-2 秒),以避免触及 API 速率限制。

  3. 错误处理:为可能在批次中失败的单个查询实现强大的错误处理。

  4. 连接管理:对于高流量应用程序,实施连接池以减少开销。

  5. 超时配置:为每个请求设置适当的超时,以防止长时间运行的查询阻塞整个批次。

  6. 结果处理:考虑在结果可用时异步处理结果,而不是等待所有结果。

  7. 监控:跟踪平均响应时间和成功率等性能指标,以识别优化机会。

对于查询量非常大的生产应用程序,考虑实施一个队列系统和工作进程,以高效管理大批量。

此端点允许您使用语义相似性搜索您的向量存储。它返回与您的查询在概念上相关的文档,即使它们不包含确切的关键字。这使得它在自然语言查询和问答中尤其强大。

Last updated