Πώς να χρησιμοποιήσετε τα Retriever στο LangChain;

Pos Na Chresimopoiesete Ta Retriever Sto Langchain



Το LangChain είναι το πλαίσιο που επιτρέπει στους προγραμματιστές να δημιουργήσουν μοντέλα μεγάλων γλωσσών (LLM) που μπορούν να χρησιμοποιηθούν για αλληλεπίδραση με ανθρώπους. Οι μηχανές πρέπει να μάθουν ανθρώπινες γλώσσες για να αλληλεπιδράσουν μαζί τους χρησιμοποιώντας το LangChain καθώς παρέχει όλες τις απαραίτητες βιβλιοθήκες και εξαρτήσεις για τη δημιουργία αυτών των μοντέλων.

Αυτή η ανάρτηση θα δείξει τη διαδικασία χρήσης των retriever στο LangChain.

Πώς να χρησιμοποιήσετε τα Retriever στο LangChain;

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







Ωστόσο, τα retriever είναι πιο γενικά από αυτές τις βάσεις δεδομένων. Δεν αποθηκεύουν δεδομένα και χρησιμοποιούνται μόνο για τη λήψη ή την ανάκτηση δεδομένων για τους χρήστες. Για να μάθετε τη διαδικασία κατασκευής και χρήσης των retriever μέσω του LangChain, δείτε τα παρακάτω βήματα:



Βήμα 1: Εγκατάσταση μονάδων
Αρχικά, εγκαταστήστε τις απαιτούμενες ενότητες όπως το LangChain για να συνεχίσετε τη διαδικασία με τις βιβλιοθήκες και τις εξαρτήσεις του:



κουκούτσι εγκαθιστώ langchain





Εγκαταστήστε το chromadb vector store που μπορεί να χρησιμοποιηθεί σε δεδομένα βάσης δεδομένων για το retriever για ανάκτηση δεδομένων από το χώρο αποθήκευσης:

κουκούτσι εγκαθιστώ chromadb



Τώρα, εγκαταστήστε το OpenAI πλαίσιο για να αποκτήσετε τις βιβλιοθήκες του για χρήση της ενσωμάτωσης κειμένου πριν δημιουργήσετε ένα retriever:

κουκούτσι εγκαθιστώ openai

Αφού εγκαταστήσετε όλες τις απαιτούμενες μονάδες, απλώς ρυθμίστε το περιβάλλον χρησιμοποιώντας το κλειδί OpenAI API:

εισάγετε μας
εισαγωγή getpass

os.περιβάλλον [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'Κλειδί OpenAI API:' )

Βήμα 2: Μεταφόρτωση συνόλου δεδομένων
Τώρα, εκτελέστε τον παρακάτω κώδικα για να κάνετε κλικ στο 'Επιλογή αρχείων' κουμπί και μεταφορτώστε το έγγραφο ή το αρχείο από το τοπικό σύστημα:

από τα αρχεία εισαγωγής google.colab
ανεβασμένος = αρχεία.ανεβάζω ( )

Βήμα 3: Εισαγωγή βιβλιοθηκών
Εισαγάγετε τις απαιτούμενες βιβλιοθήκες για να δημιουργήσετε και να χρησιμοποιήσετε τα retriever στο LangChain όπως ' Λίστα ',' Επανακλήσεις ', και πολλά άλλα:

από την εισαγωγή abc ABC, abstractmethod
από την πληκτρολόγηση import Any, List
από το έγγραφο εισαγωγής langchain.schema
από το langchain.callbacks.manager εισαγωγή Επανακλήσεις

Βήμα 4: Δημιουργία δημιουργίας ευρετηρίου μίας γραμμής
Αυτό το βήμα δημιουργεί το ευρετήριο για το retriever που μπορεί να χρησιμοποιηθεί για τη λήψη των δεδομένων για το σχηματισμό του διανυσματικού χώρου, εισάγοντας τις απαιτούμενες βιβλιοθήκες:

από το langchain.chains εισαγωγή RetrievalQA
από το langchain.llms εισαγωγή OpenAI

Εδώ, φορτώστε τα δεδομένα χρησιμοποιώντας το TextLoader() μέθοδος με τη διαδρομή του αρχείου που μεταφορτώθηκε στο βήμα 2:

εισαγάγετε το TextLoader από το langchain.document_loaders
loader = TextLoader ( 'state_of_the_union.txt' , κωδικοποίηση = 'utf8' )

Εισαγωγή βιβλιοθήκης VectorstoreIndexCreator από το LangChain για να δημιουργήσετε ένα ευρετήριο για τη βάση δεδομένων:

εισαγωγή VectorstoreIndexCreator από το langchain.indexes

Ορίστε το δείκτης μεταβλητή χρησιμοποιώντας τη μέθοδο VectorstoreIndexCreator() χρησιμοποιώντας το φορτωτής μεταβλητός:

index = VectorstoreIndexCreator ( ) .from_loaders ( [ φορτωτής ] )

Εφαρμόστε το ερώτημα για να δοκιμάσετε το ευρετήριο λαμβάνοντας δεδομένα από το έγγραφο:

ερώτηση = «Τι είπε ο πρόεδρος Ζελένσκι στην ομιλία του»
ευρετήριο.ερώτημα ( ερώτηση )

Λάβετε τις λεπτομέρειες του ευρετηρίου ως προς το ποια βάση δεδομένων έχει το δείκτης χρησιμοποιώντας τον παρακάτω κώδικα:

ευρετήριο.vectorstore

Ο παρακάτω κώδικας θα εξηγήσει όλες τις λεπτομέρειες σχετικά με το ευρετήριο, τον τύπο του και τη βάση δεδομένων:

index.vectorstore.as_retriever ( )

Χρησιμοποιήστε τη μέθοδο index with query() ζητώντας τη σύνοψη του εγγράφου χρησιμοποιώντας το όρισμα προέλευσης για να χρησιμοποιήσετε το όνομα του εγγράφου:

ευρετήριο.ερώτημα ( 'Γενική περίληψη δεδομένων από αυτό το έγγραφο' , retriever_kwargs = { 'search_kwargs' : { 'φίλτρο' : { 'πηγή' : 'state_of_the_union.txt' } } } )

Βήμα 5: Δημιουργία ενσωματώσεων
Φορτώστε το έγγραφο για τη δημιουργία της ενσωμάτωσής του και αποθηκεύστε το κείμενο σε αριθμητική μορφή χρησιμοποιώντας το διανυσματικό χώρο αποθήκευσης:

έγγραφα = φορτωτής.φόρτωση ( )

Ξεκινήστε τη διαδικασία ενσωμάτωσης χρησιμοποιώντας το text_splitter με τα επιχειρήματα μεγέθους κομματιών και επικάλυψης:

από το langchain.text_splitter εισαγωγή CharacterTextSplitter
#using text_splitter για τη δημιουργία μικρών τμημάτων του εγγράφου για χρήση του retriever
text_splitter = CharacterTextSplitter ( τεμάχιο_μέγεθος = 1000 , chunk_overlap = 0 )
texts = text_splitter.split_documents ( έγγραφα )

Εφαρμόστε τη μέθοδο OpenAIEmbeddings() που μπορεί να εισαχθεί από το LangChain:

από το langchain.embeddings εισαγωγή OpenAIEmbeddings
embeddings = OpenAIEembeddings ( )

Χρησιμοποιήστε το κατάστημα chromadb για να αποθηκεύσετε τις ενσωματώσεις που δημιουργήθηκαν από το έγγραφο:

από το langchain.vectorstores εισαγωγή Chroma
db = Chroma.from_documents ( κείμενα, ενσωματώσεις )

Βήμα 6: Δοκιμάστε το Retriever
Μόλις δημιουργηθούν και αποθηκευτούν οι ενσωματώσεις στη βάση δεδομένων, ορίστε απλώς τη μεταβλητή retriever:

retriever = db.as_retriever ( )

Καλέστε τις αλυσίδες χρησιμοποιώντας τη μέθοδο RetrievalQA() με τη συνάρτηση OpenAI() και το retriever ως ορίσματά της:

qa = RetrievalQA.from_chain_type ( llm =OpenAI ( ) , chain_type = 'υλικό' , ανακτών =ρετριβερ )

Δώστε την είσοδο για να δοκιμάσετε το retriever χρησιμοποιώντας το ερώτηση μεταβλητή μέσα στη μέθοδο qa.run():

ερώτηση = «Τι είπε ο πρόεδρος Ζελένσκι στην ομιλία του»
qa.τρέξτε ( ερώτηση )

Απλώς προσαρμόστε το VectorstoreIndexCreator () χρησιμοποιώντας τα ορίσματά του για να ορίσετε διαφορετικές τιμές:

index_creator = VectorstoreIndexCreator (
vectorstore_cls =Χρώμα,
ενσωμάτωση =OpenAIEmbeddings ( ) ,
text_splitter =CharacterTextSplitter ( τεμάχιο_μέγεθος = 1000 , chunk_overlap = 0 )
)

Αυτό αφορά τη διαδικασία έναρξης με τα ριτρίβερ στο LangChain.

συμπέρασμα

Για να χρησιμοποιήσετε τα retriever στο LangChain, απλώς εγκαταστήστε τις εξαρτήσεις που απαιτούνται για τη ρύθμιση του περιβάλλοντος OpenAI και, στη συνέχεια, ανεβάστε το έγγραφο για να δοκιμάσετε τα retriever. Μετά από αυτό, δημιουργήστε το retriever χρησιμοποιώντας μια αφηρημένη βασική κλάση ή βιβλιοθήκη ABC και, στη συνέχεια, δημιουργήστε το ευρετήριο για τη βάση δεδομένων για την ανάκτηση των δεδομένων. Διαμορφώστε τις ενσωματώσεις για το έγγραφο και εκτελέστε το retriever για να λάβετε συγκρίσιμα αποτελέσματα από τη βάση δεδομένων. Αυτή η ανάρτηση έχει επεξεργαστεί τη διαδικασία χρήσης των retriever στο LangChain.