Ανάκτηση-αυξημένη γενιά με LangChain, Amazon SageMaker JumpStart και MongoDB Atlas σημασιολογική αναζήτηση | Υπηρεσίες Ιστού της Amazon

Ανάκτηση-αυξημένη γενιά με LangChain, Amazon SageMaker JumpStart και MongoDB Atlas σημασιολογική αναζήτηση | Υπηρεσίες Ιστού της Amazon

Παραγωγική τεχνητή νοημοσύνη Τα μοντέλα έχουν τη δυνατότητα να φέρουν επανάσταση στις επιχειρηματικές δραστηριότητες, αλλά οι επιχειρήσεις πρέπει να εξετάσουν προσεκτικά πώς να εκμεταλλευτούν τη δύναμή τους, ενώ ξεπερνούν προκλήσεις όπως η προστασία δεδομένων και η διασφάλιση της ποιότητας του περιεχομένου που δημιουργείται από την τεχνητή νοημοσύνη.

Το πλαίσιο Retrieval-Augmented Generation (RAG) αυξάνει τις προτροπές με εξωτερικά δεδομένα από πολλαπλές πηγές, όπως αποθήκες εγγράφων, βάσεις δεδομένων ή API, για να κάνει τα μοντέλα θεμελίωσης αποτελεσματικά για εργασίες που αφορούν συγκεκριμένους τομείς. Αυτή η ανάρτηση παρουσιάζει τις δυνατότητες του μοντέλου RAG και τονίζει τις δυνατότητες μετασχηματισμού του MongoDB Atlas με τη δυνατότητα Vector Search.

MongoDB Άτλας είναι μια ολοκληρωμένη σουίτα υπηρεσιών δεδομένων που επιταχύνουν και απλοποιούν την ανάπτυξη εφαρμογών που βασίζονται σε δεδομένα. Η διανυσματική αποθήκευση δεδομένων του ενσωματώνεται άψογα με την αποθήκευση επιχειρησιακών δεδομένων, εξαλείφοντας την ανάγκη για ξεχωριστή βάση δεδομένων. Αυτή η ενοποίηση επιτρέπει ισχυρές δυνατότητες σημασιολογικής αναζήτησης μέσω Διανυσματική αναζήτηση, ένας γρήγορος τρόπος δημιουργίας σημασιολογικής αναζήτησης και εφαρμογών που υποστηρίζονται από AI.

Amazon Sage Maker δίνει τη δυνατότητα στις επιχειρήσεις να δημιουργούν, να εκπαιδεύουν και να αναπτύσσουν μοντέλα μηχανικής μάθησης (ML). Amazon SageMaker JumpStart παρέχει προεκπαιδευμένα μοντέλα και δεδομένα για να σας βοηθήσει να ξεκινήσετε με την ML. Μπορείτε να αποκτήσετε πρόσβαση, να προσαρμόσετε και να αναπτύξετε προεκπαιδευμένα μοντέλα και δεδομένα μέσω της σελίδας προορισμού SageMaker JumpStart στο Στούντιο Amazon SageMaker με μερικά μόνο κλικ.

Amazon-Lex είναι μια διεπαφή συνομιλίας που βοηθά τις επιχειρήσεις να δημιουργούν chatbot και ρομπότ φωνής που συμμετέχουν σε φυσικές, ρεαλιστικές αλληλεπιδράσεις. Με την ενσωμάτωση του Amazon Lex με τη γενετική τεχνητή νοημοσύνη, οι επιχειρήσεις μπορούν να δημιουργήσουν ένα ολιστικό οικοσύστημα όπου οι πληροφορίες των χρηστών μεταβαίνουν απρόσκοπτα σε συνεκτικές και συναφείς με τα συμφραζόμενα απαντήσεις.

Επισκόπηση λύσεων

Το παρακάτω διάγραμμα απεικονίζει την αρχιτεκτονική λύσεων.

Επισκόπηση λύσεων

Στις επόμενες ενότητες, περιγράφουμε τα βήματα για την εφαρμογή αυτής της λύσης και των στοιχείων της.

Ρυθμίστε ένα σύμπλεγμα MongoDB

Για να δημιουργήσετε ένα σύμπλεγμα Atlas MongoDB ελεύθερης βαθμίδας, ακολουθήστε τις οδηγίες στο Δημιουργήστε ένα σύμπλεγμα. Ρυθμίστε τη βάση δεδομένων πρόσβαση και το δίκτυο πρόσβαση.

Αναπτύξτε το μοντέλο ενσωμάτωσης SageMaker

Μπορείτε να επιλέξετε το μοντέλο ενσωμάτωσης (ALL MiniLM L6 v2) στο SageMaker JumpStart Μοντέλα, σημειωματάρια, λύσεις .

SageMaker JumpStart Μοντέλα, σημειωματάρια, λύσεις

Επιλέξτε Ανάπτυξη για την ανάπτυξη του μοντέλου.

Βεβαιωθείτε ότι το μοντέλο έχει αναπτυχθεί με επιτυχία και βεβαιωθείτε ότι έχει δημιουργηθεί το τελικό σημείο.

το μοντέλο έχει αναπτυχθεί με επιτυχία

Διάνυσμα ενσωμάτωση

Διάνυσμα ενσωμάτωση είναι μια διαδικασία μετατροπής κειμένου ή εικόνας σε διανυσματική αναπαράσταση. Με τον ακόλουθο κώδικα, μπορούμε να δημιουργήσουμε διανυσματικές ενσωματώσεις με το SageMaker JumpStart και να ενημερώσουμε τη συλλογή με το δημιουργημένο διάνυσμα για κάθε έγγραφο:

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)

Ο παραπάνω κώδικας δείχνει πώς να ενημερώσετε ένα μεμονωμένο αντικείμενο σε μια συλλογή. Για να ενημερώσετε όλα τα αντικείμενα ακολουθήστε το οδηγίες.

Διανυσματική αποθήκευση δεδομένων MongoDB

Διανυσματική αναζήτηση Atlas MongoDB είναι μια νέα δυνατότητα που σας επιτρέπει να αποθηκεύετε και να αναζητάτε διανυσματικά δεδομένα στο MongoDB. Τα διανυσματικά δεδομένα είναι ένας τύπος δεδομένων που αντιπροσωπεύουν ένα σημείο σε ένα χώρο υψηλών διαστάσεων. Αυτός ο τύπος δεδομένων χρησιμοποιείται συχνά σε εφαρμογές ML και τεχνητής νοημοσύνης. Το MongoDB Atlas Vector Search χρησιμοποιεί μια τεχνική που ονομάζεται k-πλησιέστεροι γείτονες (k-NN) για αναζήτηση παρόμοιων διανυσμάτων. Το k-NN λειτουργεί βρίσκοντας τα k πιο παρόμοια διανύσματα με ένα δεδομένο διάνυσμα. Τα πιο παρόμοια διανύσματα είναι αυτά που είναι πιο κοντά στο δεδομένο διάνυσμα ως προς την Ευκλείδεια απόσταση.

Η αποθήκευση διανυσματικών δεδομένων δίπλα σε λειτουργικά δεδομένα μπορεί να βελτιώσει την απόδοση μειώνοντας την ανάγκη μετακίνησης δεδομένων μεταξύ διαφορετικών συστημάτων αποθήκευσης. Αυτό είναι ιδιαίτερα ωφέλιμο για εφαρμογές που απαιτούν πρόσβαση σε διανυσματικά δεδομένα σε πραγματικό χρόνο.

Δημιουργήστε ένα ευρετήριο διανυσματικής αναζήτησης

Το επόμενο βήμα είναι να δημιουργήσετε ένα Ευρετήριο διανυσματικής αναζήτησης MongoDB στο διανυσματικό πεδίο που δημιουργήσατε στο προηγούμενο βήμα. Το MongoDB χρησιμοποιεί το knnVector ενσωματώσεις διανυσμάτων τύπου σε ευρετήριο. Το διανυσματικό πεδίο πρέπει να αναπαρίσταται ως πίνακας αριθμών (μόνο BSON int32, int64 ή διπλοί τύποι δεδομένων).

Αναφέρομαι σε Αναθεώρηση knnVector Type Limitations για περισσότερες πληροφορίες σχετικά με τους περιορισμούς του knnVector τύπος.

Ο παρακάτω κώδικας είναι ένα δείγμα ορισμού ευρετηρίου:

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

Λάβετε υπόψη ότι η διάσταση πρέπει να ταιριάζει με τη διάσταση του μοντέλου των ενσωματώσεων.

Ερώτηση για το διανυσματικό χώρο αποθήκευσης δεδομένων

Μπορείτε να υποβάλετε ερώτημα στον χώρο αποθήκευσης διανυσματικών δεδομένων χρησιμοποιώντας το Διάνυσμα αγωγός συγκέντρωσης αναζήτησης. Χρησιμοποιεί το ευρετήριο διανυσματικής αναζήτησης και εκτελεί α σημασιολογική αναζήτηση στο διανυσματικό χώρο αποθήκευσης δεδομένων.

Ο παρακάτω κώδικας είναι ένα δείγμα ορισμού αναζήτησης:

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

Αναπτύξτε το μοντέλο μεγάλης γλώσσας SageMaker

Μοντέλα βάσης SageMaker JumpStart είναι προεκπαιδευμένα μοντέλα μεγάλων γλωσσών (LLM) που χρησιμοποιούνται για την επίλυση μιας ποικιλίας εργασιών επεξεργασίας φυσικής γλώσσας (NLP), όπως η σύνοψη κειμένου, η απάντηση σε ερωτήσεις και η εξαγωγή συμπερασμάτων φυσικής γλώσσας. Διατίθενται σε διάφορα μεγέθη και διαμορφώσεις. Σε αυτή τη λύση, χρησιμοποιούμε το Αγκαλιάζοντας το πρόσωπο Μοντέλο FLAN-T5-XL.

Αναζητήστε το μοντέλο FLAN-T5-XL στο SageMaker JumpStart.

Αναζητήστε το FLAN-T5-XL

Επιλέξτε Ανάπτυξη για να ρυθμίσετε το μοντέλο FLAN-T5-XL.

Ανάπτυξη

Βεβαιωθείτε ότι το μοντέλο έχει αναπτυχθεί με επιτυχία και ότι το τελικό σημείο είναι ενεργό.

Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Δημιουργήστε ένα bot Amazon Lex

Για να δημιουργήσετε ένα bot Amazon Lex, ολοκληρώστε τα παρακάτω βήματα:

  1. Στην κονσόλα Amazon Lex, επιλέξτε Δημιουργία bot.

Δημιουργία bot

  1. Για Όνομα bot, πληκτρολογήστε ένα όνομα.
  2. Για Ρόλος χρόνου εκτέλεσης, Επιλέξτε Δημιουργήστε έναν ρόλο με βασικά δικαιώματα Amazon Lex.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  3. Καθορίστε τις ρυθμίσεις γλώσσας και, στη συνέχεια, επιλέξτε Ολοκληρώθηκε.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  4. Προσθέστε ένα δείγμα έκφρασης στο NewIntent UI και επιλέξτε Αποθηκεύστε την πρόθεση.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  5. Πλοηγηθείτε με το FallbackIntent που δημιουργήθηκε για εσάς από προεπιλογή και κάντε εναλλαγή Ενεργή στο Εκπλήρωση τμήμα.
    εναλλαγή Ενεργό
  6. Επιλέξτε Χτίστε και αφού η κατασκευή είναι επιτυχής, επιλέξτε Δοκιμή.
    Κατασκευή και δοκιμή
  7. Πριν από τη δοκιμή, επιλέξτε το εικονίδιο με το γρανάζι.
    Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.
  8. Καθορίστε το AWS Lambda λειτουργία που θα αλληλεπιδράσει με το MongoDB Atlas και το LLM για να παρέχει απαντήσεις. Για να δημιουργήσετε τη συνάρτηση λάμδα ακολουθήστε αυτά τα βήματα.
    9. Καθορίστε τη συνάρτηση AWS Lambda
  9. Τώρα μπορείτε να αλληλεπιδράσετε με το LLM.

εκκαθάριση

Για να καθαρίσετε τους πόρους σας, ακολουθήστε τα παρακάτω βήματα:

  1. Διαγράψτε το bot Amazon Lex.
  2. Διαγράψτε τη συνάρτηση Λάμδα.
  3. Διαγράψτε το τελικό σημείο LLM SageMaker.
  4. Διαγράψτε το τελικό σημείο του μοντέλου ενσωματώσεων SageMaker.
  5. Διαγράψτε το σύμπλεγμα Atlas MongoDB.

Συμπέρασμα

Στην ανάρτηση, δείξαμε πώς να δημιουργήσετε ένα απλό bot που χρησιμοποιεί τη σημασιολογική αναζήτηση MongoDB Atlas και ενσωματώνεται με ένα μοντέλο από το SageMaker JumpStart. Αυτό το bot σάς επιτρέπει να πρωτοτυποποιήσετε γρήγορα την αλληλεπίδραση χρήστη με διαφορετικά LLM στο SageMaker Jumpstart ενώ τα συνδυάζετε με το περιβάλλον που προέρχεται από το MongoDB Atlas.

Όπως πάντα, το AWS καλωσορίζει τα σχόλια. Αφήστε τα σχόλιά σας και τις ερωτήσεις σας στην ενότητα σχολίων.


Σχετικά με τους συγγραφείς

Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Ιγκόρ Αλεξέεφ είναι Senior Partner Solution Architect στην AWS στον τομέα δεδομένων και Analytics. Στο ρόλο του, ο Igor συνεργάζεται με στρατηγικούς εταίρους βοηθώντας τους να δημιουργήσουν περίπλοκες, βελτιστοποιημένες για AWS αρχιτεκτονικές. Πριν ενταχθεί στην AWS, ως Αρχιτέκτονας Δεδομένων/Λύσεων, υλοποίησε πολλά έργα στον τομέα Big Data, συμπεριλαμβανομένων πολλών λιμνών δεδομένων στο οικοσύστημα Hadoop. Ως Μηχανικός Δεδομένων συμμετείχε στην εφαρμογή AI/ML στον εντοπισμό απάτης και στον αυτοματισμό γραφείου.


Retrieval-Augmented Generation with LangChain, Amazon SageMaker JumpStart, and MongoDB Atlas semantic search | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.Μπάμπου Σρινιβασάν
είναι Senior Partner Solutions Architect στη MongoDB. Στον τρέχοντα ρόλο του, εργάζεται με το AWS για να δημιουργήσει τις τεχνικές ενσωματώσεις και τις αρχιτεκτονικές αναφοράς για τις λύσεις AWS και MongoDB. Έχει πάνω από δύο δεκαετίες εμπειρίας στις τεχνολογίες Βάσεων Δεδομένων και Cloud. Είναι παθιασμένος με την παροχή τεχνικών λύσεων σε πελάτες που εργάζονται με πολλαπλούς Global System Integrators (GSI) σε πολλές γεωγραφικές περιοχές.

Σφραγίδα ώρας:

Περισσότερα από Μηχανική εκμάθηση AWS