Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Servizi Web di Amazon

Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Servizi Web di Amazon

AI generativa I modelli hanno il potenziale per rivoluzionare le operazioni aziendali, ma le aziende devono considerare attentamente come sfruttare il proprio potere superando sfide come la salvaguardia dei dati e la garanzia della qualità dei contenuti generati dall’intelligenza artificiale.

Il framework RAG (Retrieval-Augmented Generation) integra i prompt con dati esterni provenienti da più fonti, come repository di documenti, database o API, per rendere efficaci i modelli di base per attività specifiche del dominio. Questo post presenta le funzionalità del modello RAG ed evidenzia il potenziale di trasformazione di MongoDB Atlas con la sua funzionalità di ricerca vettoriale.

Atlante MongoDB è una suite integrata di servizi dati che accelera e semplifica lo sviluppo di applicazioni basate sui dati. Il suo archivio di dati vettoriali si integra perfettamente con l'archiviazione dei dati operativi, eliminando la necessità di un database separato. Questa integrazione consente potenti funzionalità di ricerca semantica attraverso Ricerca vettoriale, un modo rapido per creare ricerca semantica e applicazioni basate sull'intelligenza artificiale.

Amazon Sage Maker consente alle aziende di creare, addestrare e distribuire modelli di machine learning (ML). JumpStart di Amazon SageMaker fornisce modelli e dati preaddestrati per aiutarti a iniziare con il machine learning. Puoi accedere, personalizzare e distribuire modelli e dati pre-addestrati tramite la pagina di destinazione JumpStart di SageMaker in Amazon Sage Maker Studio con pochi clic.

Amazon-Lex è un'interfaccia conversazionale che aiuta le aziende a creare chatbot e bot vocali che si impegnano in interazioni naturali e realistiche. Integrando Amazon Lex con l'intelligenza artificiale generativa, le aziende possono creare un ecosistema olistico in cui l'input degli utenti si trasforma senza problemi in risposte coerenti e contestualmente rilevanti.

Panoramica della soluzione

Il diagramma seguente illustra l'architettura della soluzione.

Panoramica della soluzione

Nelle sezioni seguenti vengono illustrati i passaggi per implementare questa soluzione e i suoi componenti.

Configura un cluster MongoDB

Per creare un cluster MongoDB Atlas di livello gratuito, seguire le istruzioni in Crea un cluster. Configura il database accesso e rete accesso.

Distribuisci il modello di incorporamento SageMaker

È possibile scegliere il modello di incorporamento (TUTTI MiniLM L6 v2) sul SageMaker JumpStart Modelli, notebook, soluzioni .

SageMaker JumpStart Modelli, notebook, soluzioni

Scegli Schierare per distribuire il modello.

Verificare che il modello sia stato distribuito correttamente e verificare che l'endpoint sia stato creato.

il modello è stato distribuito con successo

Incorporamento di vettori

Incorporamento di vettori è un processo di conversione di un testo o di un'immagine in una rappresentazione vettoriale. Con il seguente codice possiamo generare incorporamenti di vettori con SageMaker JumpStart e aggiornare la raccolta con il vettore creato per ogni documento:

payload = {"text_inputs": [document[field_name_to_be_vectorized]]}
query_response = query_endpoint_with_json_payload(json.dumps(payload).encode('utf-8'))
embeddings = parse_response_multiple_texts(query_response) # update the document
update = {'$set': {vector_field_name :  embeddings[0]}}
collection.update_one(query, update)

Il codice sopra mostra come aggiornare un singolo oggetto in una raccolta. Per aggiornare tutti gli oggetti seguire il istruzioni.

Archivio dati vettoriali MongoDB

Ricerca vettoriale Atlas MongoDB è una nuova funzionalità che ti consente di archiviare e cercare dati vettoriali in MongoDB. I dati vettoriali sono un tipo di dati che rappresentano un punto in uno spazio ad alta dimensione. Questo tipo di dati viene spesso utilizzato nelle applicazioni ML e di intelligenza artificiale. MongoDB Atlas Vector Search utilizza una tecnica chiamata k-vicini più vicini (k-NN) per cercare vettori simili. k-NN funziona trovando i k vettori più simili a un dato vettore. I vettori più simili sono quelli più vicini al vettore dato in termini di distanza euclidea.

L'archiviazione dei dati vettoriali accanto ai dati operativi può migliorare le prestazioni riducendo la necessità di spostare i dati tra diversi sistemi di archiviazione. Ciò è particolarmente vantaggioso per le applicazioni che richiedono l'accesso in tempo reale ai dati vettoriali.

Crea un indice di ricerca vettoriale

Il prossimo passo è creare un Indice di ricerca vettoriale MongoDB sul campo vettoriale creato nel passaggio precedente. MongoDB utilizza il knnVector digitare per indicizzare gli incorporamenti di vettori. Il campo vettoriale deve essere rappresentato come una matrice di numeri (solo tipi di dati BSON int32, int64 o double).

Fare riferimento a Esaminare le limitazioni del tipo di vettore knn per ulteriori informazioni sulle limitazioni di knnVector tipo.

Il codice seguente è una definizione di indice di esempio:

{ "mappings": { "dynamic": true, "fields": { "egVector": { "dimensions": 384, "similarity": "euclidean", "type": "knnVector" } } }
}

Tieni presente che la dimensione deve corrispondere alla dimensione del modello di incorporamento.

Interrogare l'archivio dati vettoriali

È possibile eseguire query sull'archivio dati vettoriali utilizzando il file Pipeline di aggregazione di ricerca vettoriale. Utilizza l'indice di ricerca vettoriale ed esegue a ricerca semantica nell'archivio dati vettoriali.

Il codice seguente è una definizione di ricerca di esempio:

{ $search: { "index": "<index name>", // optional, defaults to "default" "knnBeta": { "vector": [<array-of-numbers>], "path": "<field-to-search>", "filter": {<filter-specification>}, "k": <number>, "score": {<options>} } }
}

Distribuisci il modello linguistico di grandi dimensioni SageMaker

Modelli di base SageMaker JumpStart sono modelli di linguaggio di grandi dimensioni (LLM) preaddestrati che vengono utilizzati per risolvere una varietà di attività di elaborazione del linguaggio naturale (NLP), come il riepilogo del testo, la risposta alle domande e l'inferenza del linguaggio naturale. Sono disponibili in una varietà di dimensioni e configurazioni. In questa soluzione utilizziamo il file Abbracciare il viso Modello FLAN-T5-XL.

Cerca il modello FLAN-T5-XL in SageMaker JumpStart.

Cerca FLAN-T5-XL

Scegli Schierare per configurare il modello FLAN-T5-XL.

Schierare

Verificare che il modello sia distribuito correttamente e che l'endpoint sia attivo.

Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Crea un bot Amazon Lex

Per creare un bot Amazon Lex, completa i seguenti passaggi:

  1. Sulla console Amazon Lex, selezionare Crea bot.

Crea bot

  1. Nel Nome del bot, inserisci un nome.
  2. Nel Ruolo di runtime, selezionare Crea un ruolo con le autorizzazioni di base di Amazon Lex.
    Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  3. Specifica le impostazioni della lingua, quindi scegli Fatto.
    Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  4. Aggiungi un'espressione di esempio nel file NewIntent UI e scegli Salva intento.
    Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  5. Passare alla FallbackIntent che è stato creato per te per impostazione predefinita e attiva/disattiva Attivo nel Adempimento .
    attiva/disattiva Attivo
  6. Scegli Costruire e dopo che la compilazione ha avuto successo, scegli Test.
    Costruisci e prova
  7. Prima del test, scegli l'icona dell'ingranaggio.
    Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.
  8. specificare la AWS Lambda funzione che interagirà con MongoDB Atlas e LLM per fornire risposte. Per creare la funzione lambda seguire questi passaggi.
    9. Specificare la funzione AWS Lambda
  9. Ora puoi interagire con LLM.

ripulire

Per ripulire le tue risorse, completa i seguenti passaggi:

  1. Elimina il bot Amazon Lex.
  2. Elimina la funzione Lambda.
  3. Elimina l'endpoint LLM SageMaker.
  4. Elimina l'endpoint SageMaker del modello di incorporamento.
  5. Elimina il cluster MongoDB Atlas.

Conclusione

Nel post, abbiamo mostrato come creare un semplice bot che utilizza la ricerca semantica MongoDB Atlas e si integra con un modello di SageMaker JumpStart. Questo bot ti consente di prototipare rapidamente l'interazione dell'utente con diversi LLM in SageMaker Jumpstart abbinandoli al contesto originario di MongoDB Atlas.

Come sempre, AWS accoglie volentieri i feedback. Si prega di lasciare il vostro feedback e domande nella sezione commenti.


Circa gli autori

Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Igor Alekseev è Senior Partner Solution Architect presso AWS nel dominio Dati e analisi. Nel suo ruolo Igor sta lavorando con partner strategici aiutandoli a costruire complesse architetture ottimizzate per AWS. Prima di entrare in AWS, come Data/Solution Architect ha implementato molti progetti nel dominio dei Big Data, inclusi diversi data lake nell'ecosistema Hadoop. In qualità di Data Engineer, è stato coinvolto nell'applicazione di AI/ML al rilevamento delle frodi e all'automazione dell'ufficio.


Generazione aumentata di recupero con LangChain, Amazon SageMaker JumpStart e ricerca semantica MongoDB Atlas | Amazon Web Services PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Babu Srivasan
è Senior Partner Solutions Architect presso MongoDB. Nel suo ruolo attuale, sta lavorando con AWS per creare le integrazioni tecniche e le architetture di riferimento per le soluzioni AWS e MongoDB. Ha più di due decenni di esperienza nelle tecnologie Database e Cloud. È appassionato di fornire soluzioni tecniche ai clienti che lavorano con più Global System Integrator (GSI) in più aree geografiche.

Timestamp:

Di più da Apprendimento automatico di AWS