Γρήγορο περίγραμμα
Αυτή η ανάρτηση θα δείξει τα εξής:
Πώς να εφαρμόσετε το Self-Ask With Search Chain
- Εγκατάσταση Frameworks
- Κτιριακό Περιβάλλον
- Εισαγωγή Βιβλιοθηκών
- Δόμηση μοντέλων γλώσσας
- Χρήση γλώσσας έκφρασης LangChain
- Διαμόρφωση Agent Executor
- Εκτέλεση του πράκτορα
- Χρήση του Self-Ask Agent
Πώς να εφαρμόσετε το Self-Ask With Search Chain;
Το Self-Ask είναι η διαδικασία βελτίωσης της διαδικασίας chaining καθώς κατανοεί πλήρως τις εντολές. Οι αλυσίδες κατανοούν την ερώτηση εξάγοντας τα δεδομένα για όλους τους σημαντικούς όρους από το σύνολο δεδομένων. Μόλις το μοντέλο εκπαιδευτεί και κατανοήσει το ερώτημα, παράγει την απάντηση στο ερώτημα που ζήτησε ο χρήστης.
Για να μάθετε τη διαδικασία υλοποίησης της αυτόματης ερώτησης με τις αλυσίδες αναζήτησης στο LangChain, απλώς μεταβείτε στον ακόλουθο οδηγό:
Βήμα 1: Εγκατάσταση Frameworks
Πρώτα απ 'όλα, ξεκινήστε τη διαδικασία εγκαθιστώντας τη διαδικασία LangChain χρησιμοποιώντας τον ακόλουθο κώδικα και λάβετε όλες τις εξαρτήσεις για τη διαδικασία:
pip install langchain
Αφού εγκαταστήσετε το LangChain, εγκαταστήστε το ' google-αποτελέσματα αναζήτησης ” για να λάβετε τα αποτελέσματα αναζήτησης από την Google χρησιμοποιώντας το περιβάλλον OpenAI:
pip install openai google-search-results
Βήμα 2: Κτιριακό περιβάλλον
Μόλις εγκατασταθούν οι μονάδες και τα πλαίσια, ρυθμίστε το περιβάλλον για το OpenAI και SerpAPi χρησιμοποιώντας τα API τους χρησιμοποιώντας τον ακόλουθο κώδικα. Εισαγάγετε τις βιβλιοθήκες OS και getpass που μπορούν να χρησιμοποιηθούν για την εισαγωγή των κλειδιών API από τους αντίστοιχους λογαριασμούς τους:
εισαγωγή εσείςεισαγωγή getpass
εσείς . κατά προσέγγιση [ 'OPENAI_API_KEY' ] = getpass . getpass ( 'Κλειδί OpenAI API:' )
εσείς . κατά προσέγγιση [ 'SERPAPI_API_KEY' ] = getpass . getpass ( 'Κλειδί API Serpapi:' )
Βήμα 3: Εισαγωγή Βιβλιοθηκών
Μετά τη ρύθμιση του περιβάλλοντος, απλώς εισαγάγετε τις απαιτούμενες βιβλιοθήκες από τις εξαρτήσεις του LangChain όπως βοηθητικά προγράμματα, πράκτορες, llm και άλλα:
από langchain. llms εισαγωγή OpenAIαπό langchain. υπηρεσίες κοινής ωφέλειας εισαγωγή SerpAPIWrapper
από langchain. πράκτορες . output_parsers εισαγωγή SelfAskOutputParser
από langchain. πράκτορες . format_scratchpad εισαγωγή format_log_to_str
από langchain εισαγωγή κεντρικό σημείο
από langchain. πράκτορες εισαγωγή αρχικοποίηση_πράκτορα , Εργαλείο
από langchain. πράκτορες εισαγωγή Τύπος πράκτορα
Βήμα 4: Δημιουργία μοντέλων γλώσσας
Η λήψη των παραπάνω βιβλιοθηκών απαιτείται καθ' όλη τη διάρκεια της διαδικασίας καθώς η OpenAI() χρησιμοποιείται για τη διαμόρφωση του μοντέλου γλώσσας. Χρησιμοποιήστε τη μέθοδο SerpAPIWrapper() για να διαμορφώσετε τη μεταβλητή αναζήτησης και να ορίσετε τα εργαλεία που απαιτούνται ώστε ο πράκτορας να εκτελεί όλες τις εργασίες:
llm = OpenAI ( θερμοκρασία = 0 )Αναζήτηση = SerpAPIWrapper ( )
εργαλεία = [
Εργαλείο (
όνομα = 'Ενδιάμεση απάντηση' ,
func = Αναζήτηση. τρέξιμο ,
περιγραφή = 'χρήσιμο όταν χρειάζεται να ρωτήσεις με αναζήτηση' ,
)
]
Βήμα 5: Χρήση γλώσσας έκφρασης LangChain
Ξεκινώντας με τη διαμόρφωση του πράκτορα χρησιμοποιώντας τη γλώσσα έκφρασης LangChain (LCEL) φορτώνοντας το μοντέλο στη μεταβλητή προτροπής:
προτροπή = κεντρικό σημείο. Τραβήξτε ( 'hwchase17/self-ask-with-search' )Ορίστε μια άλλη μεταβλητή που μπορεί να εκτελεστεί για να σταματήσει η δημιουργία κειμένου και να ελέγξετε το μήκος των απαντήσεων:
llm_with_stop = llm. δένω ( να σταματήσει = [ ' \n Ενδιάμεση απάντηση:' ] )Τώρα, διαμορφώστε τους πράκτορες χρησιμοποιώντας το Lambda που είναι μια πλατφόρμα χωρίς διακομιστή που βασίζεται σε συμβάντα για να δημιουργήσετε τις απαντήσεις για τις ερωτήσεις. Επίσης, διαμορφώστε τα βήματα που απαιτούνται για την εκπαίδευση και τη δοκιμή του μοντέλου για να λάβετε τα βελτιστοποιημένα αποτελέσματα χρησιμοποιώντας τα στοιχεία που διαμορφώθηκαν νωρίτερα:
μέσο = {'εισαγωγή' : λάμδα x: x [ 'εισαγωγή' ] ,
'agent_scratchpad' : λάμδα x: format_log_to_str (
Χ [ 'intermediate_steps' ] ,
παρατήρηση_πρόθεμα = ' \n Ενδιάμεση απάντηση: ' ,
llm_prefix = '' ,
) ,
} | προτροπή | llm_with_stop | SelfAskOutputParser ( )
Βήμα 6: Διαμόρφωση του Agent Executor
Πριν δοκιμάσετε τη μέθοδο, απλώς εισαγάγετε τη βιβλιοθήκη AgentExecutor από το LangChain για να κάνετε τον πράκτορα να αποκρίνεται:
από langchain. πράκτορες εισαγωγή AgentExecutorΟρίστε τη μεταβλητή agent_executor καλώντας τη μέθοδο AgentExecutor() και χρησιμοποιώντας τα στοιχεία ως ορίσματά της:
agent_executor = AgentExecutor ( μέσο = μέσο , εργαλεία = εργαλεία , πολύλογος = Αληθής )Βήμα 7: Εκτέλεση του Agent
Μόλις ρυθμιστεί ο εκτελεστής πράκτορας, απλώς δοκιμάστε τον παρέχοντας την ερώτηση/προτροπή στη μεταβλητή εισόδου:
agent_executor. επικαλούμαι ( { 'εισαγωγή' : 'Ποιος είναι ο πρωταθλητής του U.S Open ανδρών' } )Η εκτέλεση του παραπάνω κώδικα ανταποκρίθηκε με το όνομα του πρωταθλητή US Open στην έξοδο, δηλαδή Dominic Thiem:
Βήμα 8: Χρήση του Self-Ask Agent
Αφού λάβετε την απάντηση από τον πράκτορα, χρησιμοποιήστε το SELF_ASK_WITH_SEARCH πράκτορας με το ερώτημα στη μέθοδο run():
self_ask_with_search = αρχικοποίηση_πράκτορα (εργαλεία , llm , μέσο = Τύπος πράκτορα. SELF_ASK_WITH_SEARCH , πολύλογος = Αληθής
)
self_ask_with_search. τρέξιμο (
'Ποια είναι η πατρίδα του Dominic Thiem του Παγκόσμιου Πρωταθλητή του US Open'
)
Το ακόλουθο στιγμιότυπο οθόνης εμφανίζει ότι ο πράκτορας αυτόματης ερώτησης εξάγει τις πληροφορίες για κάθε σημαντικό όρο από το σύνολο δεδομένων. Μόλις συγκεντρώσει όλες τις πληροφορίες σχετικά με το ερώτημα και κατανοήσει τις ερωτήσεις, παράγει απλώς την απάντηση. Οι ερωτήσεις που θέτει ο ίδιος ο πράκτορας είναι:
- Ποιος είναι ο Dominic Thiem;
- Ποια είναι η πατρίδα του Dominic Thiem;
Αφού λάβει τις απαντήσεις σε αυτές τις ερωτήσεις, ο πράκτορας έχει δημιουργήσει την απάντηση στην αρχική ερώτηση που είναι ' Wiener Neustadt, Αυστρία ”:
Αυτό αφορά τη διαδικασία υλοποίησης της αυτο-ερώτησης με μια αλυσίδα αναζήτησης χρησιμοποιώντας το πλαίσιο LangChain.
συμπέρασμα
Για να εφαρμόσετε την αυτόματη ερώτηση με την αναζήτηση στο LangChain, απλώς εγκαταστήστε τις απαιτούμενες ενότητες όπως τα αποτελέσματα αναζήτησης google για να λάβετε τα αποτελέσματα από τον πράκτορα. Μετά από αυτό, ρυθμίστε το περιβάλλον χρησιμοποιώντας τα κλειδιά API από τους λογαριασμούς OpenAI και SerpAPi για να ξεκινήσετε τη διαδικασία. Διαμορφώστε τον πράκτορα και δημιουργήστε το μοντέλο με το μοντέλο self-ask για να το δοκιμάσετε χρησιμοποιώντας τη μέθοδο AgentExecutor().