按语义相似性搜索文档

具有批处理能力的语义搜索端点

Initiate a search operation with a query text of up to 400 words and receive the most semantically similar responses from the stored knowledge. For question-answering, convert your question into an ideal answer and submit it to receive similar real answers.

Query parameters
qstringOptional

Up to 400 words sentence for which you wish to find semantically similar chunks of knowledge.

nintegerOptional

Number of semantically similar chunks of text to return. Use 'n=3' for up to 5, and 'n=10' for more information. If you do not receive enough information, consider trying again with a larger 'n' value.

fromstring · date-timeOptional

Start of the time range for documents to be searched, in ISO 8601 format.

tostring · date-timeOptional

End of the time range for documents to be searched, in ISO 8601 format.

Responses
200

Successful retrieval of documents

application/json
get
/documents/search/

示例请求

curl -X GET \
  "https://api.rememberizer.ai/api/v1/documents/search/?q=如何将Rememberizer与自定义应用程序集成&n=5&from=2023-01-01T00:00:00Z&to=2023-12-31T23:59:59Z" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

YOUR_JWT_TOKEN 替换为您的实际 JWT 令牌。

查询参数

参数
类型
描述

q

字符串

必填。 搜索查询文本(最多 400 个单词)。

n

整数

要返回的结果数量。默认值:3。使用更高的值(例如,10)以获取更全面的结果。

from

字符串

要搜索的文档的时间范围开始,采用 ISO 8601 格式。

to

字符串

要搜索的文档的时间范围结束,采用 ISO 8601 格式。

prev_chunks

整数

包含的前面块的数量以提供上下文。默认值:2。

next_chunks

整数

包含的后面块的数量以提供上下文。默认值:2。

响应格式

搜索优化技巧

用于问答

在寻找问题的答案时,尝试将查询表述为理想答案。例如:

而不是:“什么是向量嵌入?” 尝试:“向量嵌入是一种将文本转换为高维空间中的数值向量的技术。”

要深入了解向量嵌入的工作原理以及为什么这种搜索方法有效,请参见 什么是向量嵌入和向量数据库?

调整结果数量

  • n=3 开始,以获得快速、高相关性的结果

  • 增加到 n=10 或更高,以获取更全面的信息

  • 如果搜索返回的信息不足,请尝试增加 n 参数

基于时间的过滤

使用 fromto 参数专注于特定时间段的文档:

  • 最近的文档:将 from 设置为最近的日期

  • 历史分析:指定特定的日期范围

  • 排除过时的信息:设置合适的 to 日期

批量操作

为了高效处理大量搜索查询,Rememberizer 支持批量操作以优化性能并减少 API 调用开销。

批量搜索

性能考虑

在实施批量操作时,请考虑以下最佳实践:

  1. 最佳批量大小:从5-10个查询的批量大小开始,根据您应用程序的性能特征进行调整。

  2. 速率限制:在批次之间包含延迟,以防止API限流。一个好的起点是在批次之间等待1秒。

  3. 错误处理:实施强大的错误处理,以管理批次内的失败请求。

  4. 资源管理:监控客户端资源使用情况,特别是在大批量大小时,以防止过度内存消耗。

  5. 响应处理:尽可能异步处理批量结果,以改善用户体验。

对于高流量应用程序,请考虑实施队列系统,以有效管理大量搜索请求。

此端点提供强大的语义搜索功能,覆盖您整个知识库。它使用向量嵌入根据意义而非精确关键字匹配来查找内容。

Last updated