In ogni caso, una volta ottenuto il vettore, è possibile iniziare immediatamente a confrontarlo utilizzando metodi come .cosineSimilarity() o .euclideanDistance().
Quando si lavora con le applicazioni moderne, soprattutto quelle che riguardano l’intelligenza artificiale, l’elaborazione del linguaggio naturale o i dati spaziali, la matematica vettoriale è fondamentale. Ecco perché 4D 20 R10 introduce un nuovo oggetto: 4D.Vectorprogettato per aiutare gli sviluppatori a memorizzare e confrontare i vettori di dati con poche righe di codice.
Ad esempio, se state costruendo una funzione per classificare le immagini in base alla loro corrispondenza con una richiesta di testo, è sufficiente generare vettori, confrontarli utilizzando la similarità del coseno e ordinare i risultati dal più rilevante al meno rilevante, il tutto direttamente in 4D.
L’integrazione dell’intelligenza artificiale non è solo una tendenza, ma sta diventando un fattore chiave per le moderne applicazioni aziendali. Ecco perché 4D sta investendo profondamente nelle funzionalità AI native per supportarvi. Con 4D 20 R10, il supporto per i dati vettoriali inizia con l’introduzione di 4D.Vector – gettando le basi per un set di funzionalità più potenti in arrivo con 4D 21.
Questa prima release offre agli sviluppatori esperti gli strumenti per iniziare a creare funzionalità più intelligenti e basate sull’AI direttamente nelle loro applicazioni 4D. Ma è solo l’inizio. Miglioramenti fondamentali come l’indice vettoriale, essenziale per scalare le prestazioni, devono ancora arrivare. Nel frattempo, ci stiamo concentrando su casi d’uso reali che mostrano ciò che è possibile fare oggi, tra cui la ricerca semantica e la corrispondenza in linguaggio naturale.
Che cos’è esattamente un vettore?
Di base, un vettore è solo un elenco di numeri, ma questi numeri rappresentano qualcosa di significativo.
Nell’intelligenza artificiale, usiamo i vettori per descrivere cose complesse come parole, immagini o persino il comportamento dei clienti in modo che le macchine possano confrontarle. Ogni numero dell’elenco cattura una parte del significato di quella cosa: il tono, lo stile, l’argomento o il contesto.
Ad esempio, la parola “mela” potrebbe diventare un vettore come [0,12, -0,45, 0,78, …]. Questi numeri riflettono il modo in cui viene usata nel linguaggio, forse in relazione alla frutta, forse all’azienda tecnologica, a seconda del contesto.
Questi vettori vivono in uno spazio ad alta densità, dove i significati simili sono vicini e quelli non correlati sono lontani.
Questa struttura rende semplice il confronto:
“Questa immagine è concettualmente vicina a quel messaggio?”.
“Questi due documenti parlano della stessa cosa?”.
Utilizziamo la matematica vettoriale, come la somiglianza del coseno, per misurare quanto sono vicini due vettori. Più sono vicini, più il significato è correlato. È così che funzionano funzioni moderne come la ricerca semantica, le raccomandazioni e la classificazione.
Introduzione a 4D.Vector: Matematica vettoriale nativa in 4D
A partire da 4D 20 R10, è ora possibile lavorare con i vettori direttamente nel codice grazie a un nuovo oggetto nativo: 4D.Vector.
È stato progettato per rendere la matematica vettoriale semplice e accessibile, in modo da poter memorizzare, confrontare e ordinare dati ad alta dimensionalità senza dover ricorrere a librerie esterne. Avete bisogno di misurare la somiglianza tra due oggetti? Basta richiamare i metodi incorporati come la somiglianza del coseno, il prodotto del punto o la distanza euclidea, il tutto direttamente in 4D.
Creare un vettore in 4D
Esistono due semplici modi per creare un vettore 4D.Vectora seconda della provenienza dei dati:
1. Generare da un testo utilizzando 4D AI Kit
Se si desidera trasformare un testo in un vettore, ad esempio per confrontare le idee o per effettuare una ricerca semantica, è possibile utilizzare il modello di incorporamento di OpenAI attraverso 4D AI Kit:
var $AIKey:="tDGWULQsrG..."
var $clientAI:=cs.AIKit.OpenAI.new($AIKey)
var $inputText:="Apple"
// Name of the embedding model to use
var $model:="text-embedding-ada-002"
// Call the OpenAI embeddings API to generate the vector for the input text
var $result:=$clientAI.embeddings.create($inputText; $model)
Var $myVector:=$result.embedding.vector
// $myVector=[0.013417294,-0.005096785,-0.001601552,-0.04005942,...]
Questo fornisce un elenco di numeri in virgola mobile che catturano il significato dell’input. A questo punto è possibile utilizzarlo in attività di confronto, classificazione o classificazione.
2. Creare direttamente da un elenco di numeri
Se si dispone già di dati vettoriali, magari provenienti da un servizio o da un modello esterno, è possibile creare manualmente un 4D.Vector manualmente:
var $vector := 4D.Vector.new([0.123; -0.456; 0.789])
Similitudine del coseno: Ideale per il confronto semantico dei testi
La somiglianza del coseno è una delle metriche di somiglianza più utilizzate nell’elaborazione del linguaggio naturale (NLP), ideale per confrontare il significato di frasi o documenti. Misura quanto due vettori puntino nella stessa direzione, basandosi sull’angolo tra di essi, non sulla loro dimensione.

var $anotherVector := 4D.Vector.new([0.598; -0.951; 0.789])
var $similarity := $vector.cosineSimilarity($anotherVector)
// $similarity = 0,8949424061203
-
Intervallo: da -1 (opposto) a 1 (identico)
-
Ideale per: confronto di embedding di frasi, ricerca semantica e classificazione di documenti.
Prodotto di punti: Direzione e grandezza combinate
La somiglianza dei punti (chiamata anche prodotto scalare) combina sia la direzione che la lunghezza dei vettori. Ciò significa che non si limita a considerare l’allineamento di due vettori, ma anche la loro forza.
Se due vettori puntano in una direzione simile e hanno grandezze elevate, il prodotto del punto sarà alto, come mostrano le frecce più spesse nel diagramma.

var $score := $vector.dotSimilarity($anotherVector)
// $score = 1,129731
-
Valori più alti = maggiore somiglianza e allineamento più forte.
-
Ideale per: motori di raccomandazione, modelli di trasformazione, embedding di precisione.
Distanza euclidea: Misura di dissimilarità
La distanza euclidea fornisce una misura reale tra i vettori. Mostra quanto sono distanti due vettori nello spazio: più sono vicini, più il loro significato è simile. Più sono distanti, più sono diversi.
È perfetta quando si ha bisogno di una vera misura di dissimilarità, ideale per il clustering, il rilevamento di anomalie o il ragionamento geospaziale.

var $distance := $vector.euclideanDistance($anotherVector)
//$distance = 0,6860393574716
-
Più basso = più simile
-
Ideale per: dati strutturati, rilevamento di anomalie o prossimità spaziale.
Scegliere la giusta metrica di somiglianza

I vettori sono solo l’inizio
L’oggetto 4D.Vector getta le basi per un’intera serie di nuove funzionalità nelle vostre applicazioni. Con poche righe di codice, è possibile:
-
Creare strumenti di ricerca in grado di comprendere l’intento
-
Alimentare le raccomandazioni con un contesto reale
-
Classificare, raggruppare e filtrare i dati in base al significato, non solo ai metadati.
E tutto questo viene eseguito in modo nativo in 4D: veloce, flessibile e pronto a scalare.
Comments are not currently available for this post.