セマンティック検索 API

API経由でセマンティック検索にアクセスするにはどうすればよいですか?

search.json にはセマンティック検索がないようですが(以前はあったと記憶していますが)、

discourse-ai/embeddings/semantic-search?q= は search.json の後に呼び出されます。クエリを含めて 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 をスキップすることが重要です。

1分あたり 4 回の hyde クエリ (検索語句を展開します) しか利用できませんが、100 回の非 hyde クエリまで利用できます (他のレート制限が緩和されている場合)。

このパラメータは必ず渡します。

私の質問は実際には次のことでした:APIキーを渡すことは、IPをレート制限から除外することと同じですか?それとも、APIキーが渡された場合にのみhyde=falseが機能するという意味でしたか?

どちらも無関係です。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.