Πώς να εφαρμόσετε τη λογική ReAct χρησιμοποιώντας έναν πράκτορα στο LangChain;

Pos Na Epharmosete Te Logike React Chresimopoiontas Enan Praktora Sto Langchain



Το LangChain είναι το πλαίσιο για τη δημιουργία μοντέλων γλώσσας και chatbot που μπορούν να κατανοήσουν και να δημιουργήσουν κείμενο σε ανθρώπινη γλώσσα. Η απόδοση του μοντέλου βασίζεται στην κατανόηση της γλώσσας και της πολυπλοκότητάς της κατά τη φάση εκπαίδευσης της διαδικασίας. Η επόμενη φάση είναι η δημιουργία δεδομένων ή κειμένου στη φυσική γλώσσα που μπορεί να είναι εύκολα αναγνώσιμη και κατανοητή. Αυτές οι φάσεις αναφέρονται ως « Αιτιολογία ' και ' Ηθοποιία » αντίστοιχα στον τομέα Επεξεργασίας Φυσικής Γλώσσας.

Γρήγορο περίγραμμα

Αυτή η ανάρτηση θα δείξει:

Πώς να εφαρμόσετε τη λογική ReAct χρησιμοποιώντας έναν πράκτορα στο LangChain;

Ο ' Αντιδρώ ' είναι ο συνδυασμός των φάσεων Λόγος και Δράσης για τη βελτίωση της απόδοσης του γλωσσικού μοντέλου ως ' Σχετικά με 'αναφέρεται στη λογική και ' υποκρίνομαι ” στη δράση. Μια λογική ReAct θεωρείται συχνά η πιο βελτιστοποιημένη για τη δημιουργία LLM ή chatbot για την κατανόηση και τη δημιουργία κειμένου. Ο πράκτορας είναι ο λήπτης αποφάσεων που αποφασίζει ποιες ενέργειες θα εκτελεστούν και με ποια σειρά θα εκτελεστούν.







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



Βήμα 1: Εγκατάσταση Frameworks

Πρώτα απ 'όλα, εγκαταστήστε το LangChain για να ξεκινήσετε με τη διαδικασία εφαρμογής της λογικής ReAct:



pip install langchain





Εγκαταστήστε τη λειτουργική μονάδα google-search-results για να λάβετε τις εξαρτήσεις για τη δημιουργία του παράγοντα που μπορεί να λάβει τα αποτελέσματα αναζήτησης από το google:

pip install openai google-search-results



Μετά από αυτό, εγκαταστήστε τις λειτουργικές μονάδες OpenAI που μπορούν να χρησιμοποιηθούν για τη φόρτωση των Μεγάλων γλωσσικών μοντέλων ή των LLM για την εφαρμογή της λογικής ReAct:

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

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

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

εισαγωγή getpass

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

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

Βήμα 2: Φόρτωση μοντέλου γλώσσας

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

από langchain. πράκτορες εισαγωγή load_tools

από langchain. πράκτορες εισαγωγή αρχικοποίηση_πράκτορα

από langchain. πράκτορες εισαγωγή Τύπος πράκτορα

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

Χρησιμοποιήστε τη μέθοδο OpenAI() για να δημιουργήσετε το μοντέλο γλώσσας (llm) και, στη συνέχεια, διαμορφώστε τα εργαλεία για τους πράκτορες χρησιμοποιώντας το SerpAPI:

llm = OpenAI ( θερμοκρασία = 0 )

εργαλεία = load_tools ( [ 'Σερπάπι' , 'llm-math' ] , llm = llm )

Μέθοδος 1: Χρήση γλώσσας έκφρασης LandChain

Το LCEL είναι η διαδικασία ενσωμάτωσης ή σύνθεσης αλυσίδων μαζί κατά την κατασκευή των μοντέλων γλώσσας στο LangChain. Ξεκινήστε τη διαδικασία εγκαθιστώντας το LangChainHub για να λάβετε τις εξαρτήσεις του για τη δημιουργία και τη χρήση της λογικής ReAct με πράκτορες στο LangChain:

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

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

από langchain. εργαλεία . καθιστώ εισαγωγή render_text_description

από langchain. πράκτορες . output_parsers εισαγωγή ReActSingleInputOutputParser

από langchain. πράκτορες . format_scratchpad εισαγωγή format_log_to_str

από langchain εισαγωγή κεντρικό σημείο

Φορτώστε το μοντέλο γλώσσας για να σχεδιάσετε τη λογική ReAct χρησιμοποιώντας τη μέθοδο pull() και αποθηκεύστε το στη μεταβλητή prompt. Ορίστε ορισμένα εργαλεία που μπορούν να χρησιμοποιηθούν για την υλοποίηση της λογικής στο φορτωμένο σύνολο δεδομένων για την υλοποίηση της εργασίας του με έναν πράκτορα:

προτροπή = κεντρικό σημείο. Τραβήξτε ( 'hwchase17/react' )

προτροπή = προτροπή. μερικός (

εργαλεία = render_text_description ( εργαλεία ) ,

ονόματα_εργαλείων = ',' . Συμμετοχή ( [ t. όνομα Για t σε εργαλεία ] ) ,

)

Οικοδόμος

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

llm_with_stop = llm. δένω ( να σταματήσει = [ ' \n Παρατήρηση' ] )

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

μέσο = {

'εισαγωγή' : λάμδα x: x [ 'εισαγωγή' ] ,

'agent_scratchpad' : λάμδα x: format_log_to_str ( Χ [ 'intermediate_steps' ] )

} | προτροπή | llm_with_stop | ReActSingleInputOutputParser ( )

Αποκτήστε τη βιβλιοθήκη AgentExecutor και διαμορφώστε τη μέθοδό της χρησιμοποιώντας ορίσματα όπως agent, tools και verbose για να έχετε πιο ευανάγνωστο αποτέλεσμα:

από langchain. πράκτορες εισαγωγή AgentExecutor

agent_executor = AgentExecutor ( μέσο = μέσο , εργαλεία = εργαλεία , πολύλογος = Αληθής )

Καλέστε τη μέθοδο agent_executor() με το ερώτημα συμβολοσειράς ως είσοδο που θα ενεργοποιήσει τον πράκτορα να εξαγάγει την έξοδο:

agent_executor. επικαλούμαι ( { 'εισαγωγή' : «Ποια είναι η κοπέλα του Λέο Ντι Κάπριο» } )

Παραγωγή

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

Μέθοδος 2: Χρήση ZeroShotReactAgent

Η λογική ReAct μπορεί επίσης να υλοποιηθεί χρησιμοποιώντας έναν άλλο παράγοντα όπως το ZeroShotReactAgent κατά τη διαμόρφωση της μεταβλητής agent_executor. Μετά από αυτό, απλά καλέστε τη μεταβλητή agent_executor με την ερώτηση ως είσοδο για να καλέσετε τον πράκτορα:

agent_executor = αρχικοποίηση_πράκτορα ( εργαλεία , llm , μέσο = Τύπος πράκτορα. ZERO_SHOT_REACT_DESCRIPTION , πολύλογος = Αληθής )

agent_executor. επικαλούμαι ( { 'εισαγωγή' : 'Ποια είναι η ηλικία της κοπέλας του Leo DiCaprio αυξημένη στο 0,21' } )

Παραγωγή

Ο πράκτορας έχει εξαγάγει τις πληροφορίες με βάση την είσοδο που ζητήθηκε κατά την κλήση του agent_executor:

Μέθοδος 3: Χρήση μοντέλων συνομιλίας

Μια άλλη διαδικασία που μπορεί να χρησιμοποιηθεί για την υλοποίηση της λογικής ReAct χρησιμοποιώντας τα μοντέλα συνομιλίας μετά την εισαγωγή της βιβλιοθήκης ChatOpenAI:

από langchain. chat_models εισαγωγή ChatOpenAI

Δημιουργήστε το μοντέλο συνομιλίας χρησιμοποιώντας τη μέθοδο ChatOpenAI() με τιμή θερμοκρασίας ίση με 0 που μπορεί να ελέγξει την τυχαιότητα στα αποτελέσματα του μοντέλου:

chat_model = ChatOpenAI ( θερμοκρασία = 0 )

Φορτώστε το μοντέλο στο οποίο ο χρήστης μπορεί να εφαρμόσει τη λογική ReAct για να το αποθηκεύσει στη μεταβλητή προτροπής και να διαμορφώσετε τα εργαλεία που θα χρησιμοποιηθούν στη διαδικασία:

προτροπή = κεντρικό σημείο. Τραβήξτε ( 'hwchase17/react-json' )

προτροπή = προτροπή. μερικός (

εργαλεία = render_text_description ( εργαλεία ) ,

ονόματα_εργαλείων = ',' . Συμμετοχή ( [ t. όνομα Για t σε εργαλεία ] ) ,

)

Κατασκευή του πράκτορα

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

chat_model_with_stop = chat_model. δένω ( να σταματήσει = [ ' \n Παρατήρηση' ] )

Αποκτήστε τη βιβλιοθήκη ReActJsonSingleInputOutputParser για να εφαρμόσετε τη λογική ReAct και να δημιουργήσετε τα αποτελέσματα σε μορφή JSON:

από langchain. πράκτορες . output_parsers εισαγωγή ReActJsonSingleInputOutputParser

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

μέσο = {

'εισαγωγή' : λάμδα x: x [ 'εισαγωγή' ] ,

'agent_scratchpad' : λάμδα x: format_log_to_str ( Χ [ 'intermediate_steps' ] )

} | προτροπή | chat_model_with_stop | ReActJsonSingleInputOutputParser ( )

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

agent_executor = AgentExecutor ( μέσο = μέσο , εργαλεία = εργαλεία , πολύλογος = Αληθής )

agent_executor. επικαλούμαι ( { 'εισαγωγή' : 'Ποια είναι η ηλικία της κοπέλας του Leo DiCaprio αυξημένη στο 0,21' } )

Παραγωγή

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

Μέθοδος 4: Χρήση ChatZeroShotReactAgent

Η αλλαγή της τιμής του πράκτορα μπορεί επίσης να χρησιμοποιηθεί για την υλοποίηση της λογικής ReAct με το πλαίσιο LangChain:

μέσο = αρχικοποίηση_πράκτορα ( εργαλεία , chat_model , μέσο = Τύπος πράκτορα. CHAT_ZERO_SHOT_REACT_DESCRIPTION , πολύλογος = Αληθής )

μέσο. τρέξιμο ( 'Ποια είναι η ηλικία της κοπέλας του Leo DiCaprio αυξημένη στο 0,21' )

Παραγωγή

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

Αυτό αφορά τη διαδικασία εφαρμογής της λογικής ReAct χρησιμοποιώντας έναν πράκτορα στο LangChain.

συμπέρασμα

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