Salta ai contenuti

Retrieval (RETRIEVE)

Il retrieval è una sorgente di relazione dentro OSL-SQL: la table function RETRIEVE(...). Non c’è più un endpoint /osl/retrieve separato — fai SELECT da RETRIEVE(...) in un body POST /osl/query.

SELECT text, score, customer_id
FROM RETRIEVE(facet => 'meeting_transcripts',
query => 'european equity exposure',
top_k => 5)
  • facet — una UnstructuredFacet dichiarata.
  • query — testo naturale; il motore lo embedda con il modello dichiarato nel facet.
  • top_k — deve soddisfare ≤ facet.retrieval.max_top_k.
  • I filtri di metadata sono applicati dallo store governato (predicati di riga per soggetto) prima del trim di overfetch dell’ACL.

Ogni passage restituito porta un blocco cite (source · doc · chunk) e la sua chiave di entità denormalizzata, così i risultati possono essere attribuiti e correlati.

{
"text": "Anna wants to increase EU equity exposure […]",
"score": 0.91,
"customer_id": "9c1e…f04a",
"cite": { "source": "gong://…", "doc_id": "meet-2026-05-08-7a3c", "chunk_id": "chk-…" },
"redacted_fields": []
}
  • Versione di oscuramento. Il facet è servito alla versione di oscuramento richiesta dal soggetto — exact-or-deny. I campi di metadata oscurati sono elencati in redacted_fields.
  • ACL row-level. Deny-by-default: un attore senza concessione ottiene zero passages.
  • Isolamento. La query apre solo la tabella Lance della versione selezionata — nessun side-channel verso vettori meno oscurati.