Incontra Chroma un database vettoriale open-source nativo di IA per LLM un modo più veloce per creare app LLM Python o JavaScript con memoria

Incontra Chroma, un database vettoriale open-source di IA per creare app LLM Python o JavaScript più velocemente.

I database di vettori di Word embedding sono diventati sempre più popolari a causa della proliferazione di modelli di linguaggio massicci. Utilizzando la potenza di sofisticate tecniche di apprendimento automatico, i dati vengono memorizzati in un database di vettori. Ciò consente una ricerca di similarità molto rapida, essenziale per molti utilizzi dell’IA come i sistemi di raccomandazione, il riconoscimento delle immagini e l’elaborazione del linguaggio naturale (NLP).

L’essenza dei dati complessi viene catturata in un database di vettori rappresentando ogni punto dati come un vettore multidimensionale. Il recupero rapido dei vettori correlati è reso possibile dalle moderne tecniche di indicizzazione come gli alberi k-d e l’hashing. Per trasformare l’analisi dei big data, questa architettura genera soluzioni altamente scalabili ed efficienti per settori con un grande volume di dati.

Diamo un’occhiata a Chroma, un piccolo database di vettori open source gratuito.

Chroma può essere utilizzato per creare word embedding utilizzando il linguaggio di programmazione Python o JavaScript. Il backend del database, che sia in modalità di memoria o client/server, può essere accessibile tramite un’API semplice. L’installazione di Chroma e l’utilizzo dell’API in un quaderno Jupyter durante il prototipazione consente agli sviluppatori di utilizzare lo stesso codice in un ambiente di produzione, in cui il database può essere eseguito in modalità client/server.

I set di dati di Chroma possono essere salvati su disco nel formato Apache Parquet quando si opera in memoria. Il tempo e le risorse necessarie per generare i word embedding possono essere ridotti al minimo memorizzandoli per recuperarli successivamente.

Ogni stringa di riferimento può avere metadati aggiuntivi che descrivono il documento originale. È possibile saltare questo passo se si preferisce. I ricercatori hanno creato alcuni metadati da utilizzare nel tutorial. In particolare, sono organizzati come una collezione di oggetti dizionario.

Chroma si riferisce a gruppi di media correlati come collezioni. Ogni collezione include documenti, che sono semplicemente elenchi di stringhe, ID, che fungono da identificatori univoci per i documenti, e metadati (che non sono obbligatori). Le collezioni sarebbero complete solo con i word embedding. Possono essere generati in modo implicito utilizzando il modello di word embedding integrato di Chroma o in modo esplicito utilizzando un modello esterno basato su OpenAI, PaLM o Cohere. Chroma facilita l’incorporazione di API di terze parti, rendendo la generazione e lo storage degli embedding una procedura automatizzata.

Per impostazione predefinita, Chroma genera word embedding con un modello Sentence Transformers all-MiniLM-L6-v2. Questo modello di embedding può produrre embedding di frasi e documenti per diverse applicazioni. A seconda della situazione, questa funzione di embedding potrebbe richiedere il download automatico dei file del modello ed essere eseguita localmente sul PC.

I metadati (o gli ID) possono anche essere interrogati nel database di Chroma. Ciò facilita la ricerca in base all’origine dei documenti.

Caratteristiche chiave

  • È facile: quando tutto è digitato, testato e documentato.
  • Tutti e tre gli ambienti (sviluppo, test e produzione) possono utilizzare la stessa API nel quaderno.
  • Ricco di funzionalità: ricerche, filtri ed stima della densità.
  • Software open source con licenza Apache 2.0.