Γρήγορο περίγραμμα
Αυτή η ανάρτηση θα δείξει:
- Πώς να εφαρμόσετε τη λογική ReAct χρησιμοποιώντας έναν πράκτορα στο LangChain
- Εγκατάσταση Frameworks
- Φόρτωση μοντέλου γλώσσας
- Μέθοδος 1: Χρήση γλώσσας έκφρασης LandChain
- Οικοδόμος
- Μέθοδος 2: Χρήση ZeroShotReactAgent
- Μέθοδος 3: Χρήση μοντέλων συνομιλίας
- Κατασκευή του πράκτορα
- Μέθοδος 4: Χρήση ChatZeroShotReactAgent
- συμπέρασμα
Πώς να εφαρμόσετε τη λογική 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. πράκτορες εισαγωγή AgentExecutoragent_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.