Πώς να εργαστείτε με την προσωρινή αποθήκευση στο LangChain;

Pos Na Ergasteite Me Ten Prosorine Apothekeuse Sto Langchain



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

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







Πώς να εργαστείτε με την προσωρινή αποθήκευση στο LangChain;

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



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



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





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

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



κουκούτσι εγκαθιστώ faiss-gpu

Η τελευταία ενότητα για αυτόν τον οδηγό που απαιτείται για εγκατάσταση είναι το OpenAI, το οποίο μπορεί να χρησιμοποιηθεί για τη δημιουργία ενσωματώσεων των δεδομένων χρησιμοποιώντας τη μέθοδο OpenAIEmbeddings():

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

Μετά την εγκατάσταση όλων των μονάδων, απλώς ρυθμίστε το περιβάλλον χρησιμοποιώντας το κλειδί API από το περιβάλλον OpenAI χρησιμοποιώντας το ' εσείς ' και ' getpass ” βιβλιοθήκες:

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

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

Βήμα 2: Εισαγωγή Βιβλιοθηκών
Μόλις ολοκληρωθεί η εγκατάσταση, απλώς εισαγάγετε τις βιβλιοθήκες για εργασία με τεχνικές προσωρινής αποθήκευσης στο LangChain:

από το langchain.storage εισαγωγή InMemoryStore
από το langchain.embeddings εισαγωγή CacheBackedEmbeddings
από το langchain.storage εισαγωγή LocalFileStore
από το langchain.embeddings εισαγωγή OpenAIEmbeddings
από το langchain.document_loaders εισάγετε το TextLoader
από το langchain.embeddings.openai εισαγωγή OpenAIEmbeddings
από το langchain.text_splitter εισαγωγή CharacterTextSplitter
από το langchain.vectorstores εισαγωγή FAISS

Βήμα 3: Δημιουργία μοντέλου προσωρινής αποθήκευσης
Μετά την εισαγωγή των βιβλιοθηκών, απλώς καλέστε τη μέθοδο OpenAIEmbeddings() για να δημιουργήσετε το μοντέλο και να το αποθηκεύσετε στη μεταβλητή:

underlying_embeddings = OpenAIEmbeddings ( )

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

fs = LocalFileStore ( './κρύπτη/' )

cached_embedder = CacheBackedEmbeddings.from_bytes_store (
underlying_embeddings, fs, χώρο ονομάτων =underlying_embeddings.model
)

Απλώς λάβετε τη λίστα με τις ενσωματώσεις και προς το παρόν, η λίστα είναι κενή καθώς οι ενσωματώσεις δεν αποθηκεύονται στη λίστα:

λίστα ( fs.yield_keys ( ) )

Βήμα 4: Δημιουργία Vector Store
Αποκτήστε το αρχείο από το τοπικό σύστημα χρησιμοποιώντας τη βιβλιοθήκη αρχείων και κάντε κλικ στο ' Επιλέξτε Αρχεία ” μετά την εκτέλεση του κώδικα:

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

Τώρα, απλώς δημιουργήστε ένα διανυσματικό χώρο αποθήκευσης που μπορεί να χρησιμοποιηθεί για την αποθήκευση των ενσωματώσεων χρησιμοποιώντας τη μέθοδο TextLoader() με το όνομα του εγγράφου. Μετά από αυτό, εφαρμόστε τις μεθόδους διαχωρισμού κειμένου με το μέγεθος των τμημάτων και χωρίστε τα δεδομένα σε μικρότερα κομμάτια:

raw_documents = TextLoader ( 'state_of_the_union.txt' ) .φορτώνω ( )
text_splitter = CharacterTextSplitter ( τεμάχιο_μέγεθος = 1000 , chunk_overlap = 0 )
έγγραφα = text_splitter.split_documents ( ακατέργαστα_έγγραφα )

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

db = FAISS.from_documents ( έγγραφα, cached_embedder )

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

λίστα ( fs.yield_keys ( ) ) [ : 5 ]

Βήμα 5: Χρήση προσωρινής αποθήκευσης στη μνήμη
Η επόμενη προσωρινή αποθήκευση μπορεί να χρησιμοποιηθεί μέσω των μεθόδων InMemoryStore() για τον ορισμό της μεταβλητής αποθήκευσης:

store = InMemoryStore ( )

Δημιουργήστε το μοντέλο προσωρινής αποθήκευσης χρησιμοποιώντας τις μεθόδους OpenAIEmbeddings() και CacheBackedEmbeddings() με παραμέτρους το μοντέλο, το χώρο αποθήκευσης και τον χώρο ονομάτων:

underlying_embeddings = OpenAIEmbeddings ( )
embedder = CacheBackedEmbeddings.from_bytes_store (
underlying_embeddings, αποθήκευση, χώρο ονομάτων =underlying_embeddings.model
)

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

embeddings = embedder.embed_documents ( [ 'Γειά σου' , 'αντιο σας' ] )

Τώρα, εφαρμόστε προσωρινή μνήμη στις ενσωματώσεις για γρήγορη ανάκτηση δεδομένων από τα έγγραφα:

embeddings_from_cache = embedder.embed_documents ( [ 'Γειά σου' , 'αντιο σας' ] )

Αποθηκεύστε τις ενσωματώσεις κρυφής μνήμης στη μεταβλητή ενσωματώσεις, έτσι ώστε η μεταβλητή ενσωματώσεις να έχει αποθηκευμένες τις ενσωματωμένες στην κρυφή μνήμη:

embeddings == embeddings_from_cache

Βήμα 6: Χρήση προσωρινής αποθήκευσης συστήματος αρχείων
Η τελευταία μέθοδος για την εφαρμογή προσωρινής αποθήκευσης στις ενσωματώσεις από το έγγραφο test_cache χρησιμοποιώντας το File System Store:

fs = LocalFileStore ( './test_cache/' )

Εφαρμόστε ενσωματώσεις χρησιμοποιώντας τη μέθοδο CacheBackedEmbeddings() με το μοντέλο ενσωμάτωσης, το χώρο αποθήκευσης δεδομένων και τον χώρο ονομάτων ως παραμέτρους:

embedder2 = CacheBackedEmbeddings.from_bytes_store (
underlying_embeddings, fs, χώρο ονομάτων =underlying_embeddings.model
)

Χρησιμοποιήστε τη μεταβλητή embeddings με τα αποθηκευμένα δεδομένα που είναι αποθηκευμένα σε αυτήν για να καλέσετε τη μέθοδο embedder():

embeddings = embedder2.embed_documents ( [ 'Γειά σου' , 'αντιο σας' ] )

Τώρα λάβετε τις ενσωματώσεις για τους παραπάνω δύο κόσμους που αναφέρονται ως παραμέτρους:

λίστα ( fs.yield_keys ( ) )

Αυτό αφορά τη διαδικασία δημιουργίας και εργασίας με την προσωρινή αποθήκευση στο LangChain.

συμπέρασμα

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