Πώς να εφαρμόσετε το Self-Ask With Search Chain;

Pos Na Epharmosete To Self Ask With Search Chain



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

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

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







Πώς να εφαρμόσετε το Self-Ask With Search Chain



συμπέρασμα



Πώς να εφαρμόσετε το 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().