Vista la crescente importanza della ricerca vettoriale nelle applicazioni di intelligenza artificiale, come la ricerca semantica, i motori di raccomandazione e l’elaborazione del linguaggio naturale, 4D introduce il supporto nativo per le query vettoriali nella funzione query(). Questo miglioramento porta i confronti di similarità vettoriale direttamente nel linguaggio di DataClass.query() e EntitySelection.query().
Interrogazione per somiglianza vettoriale
È ora possibile cercare entità i cui campi vettoriali sono simili a un vettore di riferimento utilizzando i noti operatori di confronto: >, >=, < e <=.
La sintassi di base è:
// Call the OpenAI embeddings API to generate the vector for the input text
var $result:=$clientAI.embeddings.create("A general manager living in France"; $model)
Var $inputEmbedding:=$result.vector
var $results := ds.MyClass.query("myVectorField > :1"; {vector: $inputEmbedding})
Restituisce le entità la cui somiglianza con $myVector è superiore alla soglia predefinita (0,5), utilizzando la metrica di somiglianza predefinita: la somiglianza del coseno.
È possibile affinare la ricerca definendo esplicitamente entrambe le metriche:
-
Quale metrica di somiglianza è più rilevante per il vostro caso d’uso con l’attributo metrica
-
Quanto un risultato deve esseresimile al vettore di riferimento per essere considerato rilevante, con l’attributo threshold.
var $comparisonVector := {vector: $inputEmbedding; metric: mk cosine; threshold: 0.4}
var $results := ds.MyTable.query("myVectorField <= :1"; $comparisonVector)
COMBINARE LA RICERCA SEMANTICA CON LA QUERY CLASSICA
Un vantaggio fondamentale dell’approccio di 4D è che le query semantiche possono essere combinate con i filtri ORDA tradizionali nella stessa query.
Ciò consente di creare ricerche potenti e precise che combinano la scoperta basata sul significato con criteri strutturati.
var $comparisonVector := {vector: $myVector; metric: mk cosine; threshold: 0.4}
var $results := ds.MyTable.query("myVectorField <= :1 AND salary>100000"; $comparisonVector)
In questo esempio, la query recupera i dipendenti le cui descrizioni delle mansioni sono semanticamente vicine al testo in ingresso e il cui stipendio supera i 100.000 euro.
QUANDO USARE (E QUANDO NON USARE)
La ricerca semantica (query) è ideale quando si vuole che l’applicazione comprenda il significato piuttosto che le corrispondenze esatte.
È perfetta per:
-
Ricerche sfumate o contestuali (ad esempio, “trova documenti simili a questo”)
-
Query in linguaggio naturale (ad esempio, “dipendenti che lavorano nel marketing e nel design”)
-
Motori di raccomandazione e funzioni di scoperta della conoscenza
Tuttavia, non è stato progettato per attività analitiche strutturate.
Se la vostra richiesta è qualcosa come “i 10 dipendenti più pagati”, una query classica è più veloce e più appropriata.
Combinando entrambi gli approcci, è possibile creare esperienze di ricerca intelligenti e precise. La ricerca semantica aggiunge una notevole potenza e si integra perfettamente con le tradizionali query ORDA basate sugli attributi.
Conclusione
Con la ricerca semantica (query) ora integrata in 4D, è possibile creare facilmente funzioni di ricerca e scoperta guidate dall’intelligenza artificiale nelle proprie applicazioni.
Selezionate la metrica di somiglianza più adatta al vostro caso d’uso, regolate la soglia di rilevanza e combinate filtri semantici e strutturati per ottenere risultati ottimali.
Questa nuova funzionalità porta la potenza della comprensione basata sull’intelligenza artificiale direttamente nel modello di dati 4D, aprendo le porte a query più intelligenti e consapevoli del contesto.
Attualmente i campi vettoriali non sono indicizzati, ma il supporto all’indicizzazione sarà introdotto in una prossima versione di 4D. Questo miglioramento futuro migliorerà significativamente le prestazioni e renderà la ricerca semantica ancora più veloce ed efficiente per i grandi insiemi di dati.
Al momento non è possibile lasciare commenti su questo post.