API di Ricerca Semantica

Come possiamo accedere alla ricerca semantica tramite l’API?

search.json non sembra avere la ricerca semantica (anche se ricordo che una volta l’aveva?)

discourse-ai/embeddings/semantic-search?q= viene chiamato dopo search.json, i buoni risultati sono corretti quando apro l’URL includendo la query che ho appena fatto.

Ma se faccio discourse-ai/embeddings/semantic-search?q=differentQuery direttamente, i risultati non hanno alcun senso.

Cosa mi sfugge qui?

1 Mi Piace

Puoi eseguire una ricerca di embedding pura utilizzando:

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

Ciò disabilita la parte hyde, quindi è limitato molto meno aggressivamente.

Inoltre, idealmente, utilizza una chiave API per la chiamata, che allenta molti dei limiti.

3 Mi Piace

Grazie, funziona!

Ho inserito nella whitelist i miei IP per evitare il rate limiting in app.yml, credo di aver letto da qualche parte che questa fosse anche una soluzione per aggirare i limiti di frequenza, se non erro.

Non proprio, i limiti di ricerca sono generalmente implementati nell’app, saltare hyde è fondamentale qui:

Ottieni solo 4 query hyde al minuto (dove espandiamo il termine di ricerca per te), ne ottieni fino a 100 non hyde (a condizione che altri limiti di velocità siano stati allentati)

Passerò sicuramente questo parametro.

La mia domanda era in realtà: passare la chiave API è effettivamente la stessa cosa che escludere un IP dai limiti di frequenza? O intendevi che hyde=false funziona SOLO SE viene passata una chiave API?

sono entrambi non correlati. l’API ha diverse impostazioni per i limiti di frequenza, puoi rilassarlo più di altre parti dell’app nelle impostazioni globali

1 Mi Piace

Capito, il flag app.yml di cui stavo parlando sembra rimuovere i limiti di nginx (DISCOURSE_MAX_REQS_PER_IP_EXCEPTIONS)

L’argomento seguente mi ha chiarito un po’ le cose:

1 Mi Piace

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