语义搜索API

如何通过 API 访问语义搜索?

search.json 似乎没有语义搜索(尽管我记得它们曾经有过?)

search.json 之后会调用 discourse-ai/embeddings/semantic-search?q=,当我打开包含我刚刚进行的查询的 URL 时,结果是正确的。

但是,如果我直接使用 discourse-ai/embeddings/semantic-search?q=differentQuery,结果完全没有意义。

我在这里错过了什么?

1 个赞

您可以使用以下方式进行纯嵌入搜索:

https://DOMAIN/discourse-ai/embeddings/semantic-search.json?hyde=false&q=....

这会禁用 hyde 部分,因此速率限制会宽松得多。

此外,最好为调用使用 API 密钥,这样可以放宽许多限制。

3 个赞

太好了,这管用!

我在 app.yml 中将我的 IP 列入了白名单,免受速率限制。我想我曾在某处读到过,这也是绕过速率限制的一种解决方案,如果我没记错的话。

并非如此,搜索限制通常在应用程序中实现,跳过 hyde 在这里至关重要:

您每分钟只能进行 4 次 hyde 查询(我们为您扩展搜索词),您可以进行多达 100 次非 hyde 查询(前提是放宽其他速率限制)。

我一定会传递此参数。

我的问题实际上是:传递 API 密钥是否等同于将 IP 地址排除在速率限制之外?或者你的意思是 hyde=false 仅在传递 API 密钥时才有效?

两者都无关。API 对速率限制有不同的设置,您可以在全局设置中比应用程序的其他部分更宽松地设置它。

1 个赞

明白了,我之前提到的 app.yml 标志似乎可以解除 nginx 的速率限制(DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS)。

下面的主题让我对此有了更清晰的认识:

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.