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

Pos Na Chresimopoiesete To Vectorstoreretrievermemory Sto Langchain



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

Αυτός ο οδηγός θα επεξηγήσει τον τρόπο χρήσης του VectorStoreRetrieverMemory χρησιμοποιώντας το πλαίσιο LangChain.

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

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







Για να μάθετε τη διαδικασία χρήσης του VectorStoreRetrieverMemory στο LangChain, απλώς μεταβείτε στον ακόλουθο οδηγό:



Βήμα 1: Εγκατάσταση μονάδων

Ξεκινήστε τη διαδικασία χρήσης του ανακτητή μνήμης εγκαθιστώντας το LangChain χρησιμοποιώντας την εντολή pip:



pip install langchain





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

pip εγκατάσταση faiss-gpu



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

pip εγκατάσταση chromadb

Απαιτείται μια άλλη μονάδα tiktoken για εγκατάσταση, η οποία μπορεί να χρησιμοποιηθεί για τη δημιουργία διακριτικών μετατρέποντας δεδομένα σε μικρότερα κομμάτια:

pip εγκατάσταση tiktoken

Εγκαταστήστε τη λειτουργική μονάδα OpenAI για να χρησιμοποιήσετε τις βιβλιοθήκες της για τη δημιουργία LLM ή chatbot χρησιμοποιώντας το περιβάλλον της:

pip εγκατάσταση openai

Ρυθμίστε το περιβάλλον στο Python IDE ή σημειωματάριο χρησιμοποιώντας το κλειδί API από το λογαριασμό OpenAI:

εισαγωγή εσείς

εισαγωγή getpass

εσείς . κατά προσέγγιση [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Κλειδί OpenAI API:' )

Βήμα 2: Εισαγωγή βιβλιοθηκών

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

από langchain. προτρέπει εισαγωγή PromptTemplate

από ημερομηνία ώρα εισαγωγή ημερομηνία ώρα

από langchain. llms εισαγωγή OpenAI

από langchain. ενσωματώσεις . openai εισαγωγή OpenAIEmbeddings

από langchain. αλυσίδες εισαγωγή Αλυσίδα συνομιλίας

από langchain. μνήμη εισαγωγή VectorStoreRetrieverMemory

Βήμα 3: Εκκίνηση του Vector Store

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

εισαγωγή faiss

από langchain. docstore εισαγωγή ΣτοMemoryDocstore
#importing libraries για τη διαμόρφωση των βάσεων δεδομένων ή των διανυσματικών καταστημάτων
από langchain. διανυσματικά καταστήματα εισαγωγή FAISS

#create embeddings και texts για να τα αποθηκεύσετε στα vector stores
embedding_size = 1536
δείκτης = faiss. ΕυρετήριοFlatL2 ( embedding_size )
embedding_fn = OpenAIEmbeddings ( ) . embed_query
vectorstore = FAISS ( embedding_fn , δείκτης , ΣτοMemoryDocstore ( { } ) , { } )

Βήμα 4: Δημιουργία Retriever που υποστηρίζεται από Vector Store

Δημιουργήστε τη μνήμη για να αποθηκεύσετε τα πιο πρόσφατα μηνύματα στη συνομιλία και να λάβετε το πλαίσιο της συνομιλίας:

ανακτών = vectorstore. as_retriever ( search_kwargs = υπαγόρευση ( κ = 1 ) )
μνήμη = VectorStoreRetrieverMemory ( ανακτών = ανακτών )

μνήμη. save_context ( { 'εισαγωγή' : 'Μου αρέσει να τρώω πίτσα' } , { 'παραγωγή' : 'φανταστικός' } )
μνήμη. save_context ( { 'εισαγωγή' : «Είμαι καλός στο ποδόσφαιρο» } , { 'παραγωγή' : 'Εντάξει' } )
μνήμη. save_context ( { 'εισαγωγή' : «Δεν μου αρέσει η πολιτική» } , { 'παραγωγή' : 'σίγουρος' } )

Ελέγξτε τη μνήμη του μοντέλου χρησιμοποιώντας την είσοδο που παρέχεται από τον χρήστη με το ιστορικό του:

Τυπώνω ( μνήμη. load_memory_variables ( { 'προτροπή' : 'Τι άθλημα να δω;' } ) [ 'ιστορία' ] )

Βήμα 5: Χρήση Retriever σε μια αλυσίδα

Το επόμενο βήμα είναι η χρήση ενός ανακτητή μνήμης με τις αλυσίδες δημιουργώντας το LLM χρησιμοποιώντας τη μέθοδο OpenAI() και διαμορφώνοντας το πρότυπο προτροπής:

llm = OpenAI ( θερμοκρασία = 0 )
_DEFAULT_TEMPLATE = '''Είναι μια αλληλεπίδραση μεταξύ ενός ανθρώπου και μιας μηχανής
Το σύστημα παράγει χρήσιμες πληροφορίες με λεπτομέρειες χρησιμοποιώντας το πλαίσιο
Εάν το σύστημα δεν έχει την απάντηση για εσάς, λέει απλά δεν έχω την απάντηση

Σημαντικές πληροφορίες από τη συνομιλία:
{ιστορία}
(αν το κείμενο δεν είναι σχετικό μην το χρησιμοποιήσετε)

Τρέχουσα συνομιλία:
Άνθρωπος: {input}
ΟΛΑ ΣΥΜΠΕΡΙΛΑΜΒΑΝΟΝΤΑΙ:'''

ΠΡΟΤΡΟΠΗ = PromptTemplate (
input_variables = [ 'ιστορία' , 'εισαγωγή' ] , πρότυπο = _DEFAULT_TEMPLATE
)
#configure το ConversationChain() χρησιμοποιώντας τις τιμές για τις παραμέτρους του
συνομιλία_με_σύνοψη = Αλυσίδα συνομιλίας (
llm = llm ,
προτροπή = ΠΡΟΤΡΟΠΗ ,
μνήμη = μνήμη ,
πολύλογος = Αληθής
)
συνομιλία_με_σύνοψη. προλέγω ( εισαγωγή = 'Γεια, με λένε Perry, τι συμβαίνει;' )

Παραγωγή

Η εκτέλεση της εντολής εκτελεί την αλυσίδα και εμφανίζει την απάντηση που παρέχεται από το μοντέλο ή το LLM:

Συνεχίστε τη συνομιλία χρησιμοποιώντας την προτροπή με βάση τα δεδομένα που είναι αποθηκευμένα στο vector store:

συνομιλία_με_σύνοψη. προλέγω ( εισαγωγή = 'Ποιο είναι το αγαπημένο μου άθλημα;' )

Τα προηγούμενα μηνύματα αποθηκεύονται στη μνήμη του μοντέλου, η οποία μπορεί να χρησιμοποιηθεί από το μοντέλο για να κατανοήσει το πλαίσιο του μηνύματος:

συνομιλία_με_σύνοψη. προλέγω ( εισαγωγή = 'Ποιο είναι το αγαπημένο μου φαγητό' )

Λάβετε την απάντηση που παρέχεται στο μοντέλο σε ένα από τα προηγούμενα μηνύματα για να ελέγξετε πώς λειτουργεί το πρόγραμμα ανάκτησης μνήμης με το μοντέλο συνομιλίας:

συνομιλία_με_σύνοψη. προλέγω ( εισαγωγή = 'Ποιο ειναι το όνομα μου?' )

Το μοντέλο έχει εμφανίσει σωστά την έξοδο χρησιμοποιώντας την αναζήτηση ομοιότητας από τα δεδομένα που είναι αποθηκευμένα στη μνήμη:

Αυτό αφορά τη χρήση του vector store retriever στο LangChain.

συμπέρασμα

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