Τεχνική Σύνοψη του Function Calling
Τεχνική Σύνοψη του Function Calling
1. Ορισμός
Το Function Calling είναι ένας μηχανισμός που επιτρέπει στους προγραμματιστές να περιγράφουν διαθέσιμα εξωτερικά εργαλεία (όπως API) σε ένα μεγάλο γλωσσικό μοντέλο (LLM) μέσω JSON schema. Όταν το μοντέλο κρίνει ότι χρειάζεται να καλέσει ένα εργαλείο για να απαντήσει σε μια ερώτηση χρήστη, εξάγει δομημένα δεδομένα JSON tool_calls, υποδεικνύοντας το όνομα της συνάρτησης και τις παραμέτρους. Το πρόγραμμα υποδοχής αναλύει και εκτελεί αυτήν την κλήση, επιστρέφει το αποτέλεσμα στο μοντέλο και το μοντέλο παράγει την τελική απάντηση.
2. Βασική Αρχή και Προβλήματα που Επιλύει
- Ουσία: Ένας βρόχος "δύο γύρων συνομιλίας + ενδιάμεσης εκτέλεσης". Στον πρώτο γύρο, το μοντέλο αποφασίζει και εξάγει ένα αίτημα κλήσης εργαλείου· ο ενδιάμεσος κώδικας εκτελεί το εργαλείο· στον δεύτερο γύρο, το μοντέλο βασίζεται στο αποτέλεσμα εκτέλεσης για να παράγει την τελική απάντηση.
- Προβλήματα που επιλύει: Επιλύει το πρόβλημα της προηγούμενης ανάγκης για ασταθή και επιρρεπή σε σφάλματα ανάλυση φυσικής γλώσσας (if/else) κατά την κλήση εργαλείων από το μοντέλο, επιτυγχάνοντας τυποποίηση και βελτίωση της ακρίβειας μέσω δομημένης εξόδου.
3. Κατανομή Ρόλων (Αναλογία Ανάθεσης Εργασιών)
- Προγραμματιστής (HR): Ορίζει τα εργαλεία, γράφει το JSON schema που περιγράφει τη λειτουργία, τις παραμέτρους κ.λπ.
- Μοντέλο LLM (Διευθυντής): Κατανοεί την περιγραφή του εργαλείου, αποφασίζει αν χρειάζεται κλήση, ποιο εργαλείο να καλέσει και ποιες είναι οι παράμετροι, και εξάγει ένα δομημένο αίτημα κλήσης (
tool_calls). Το μοντέλο λαμβάνει αποφάσεις και παράγει κείμενο, αλλά δεν εκτελεί κώδικα. - Εκτελεστής/Κώδικας Υποδοχής (Υπάλληλος): Αναλύει το αίτημα
tool_callsτου μοντέλου, εκτελεί πραγματικά την αντίστοιχη συνάρτηση ή κλήση API και επιστρέφει το αποτέλεσμα.
4. Ορισμός Εργαλείου (JSON Schema)
Το Schema είναι το "εγχειρίδιο οδηγιών" του εργαλείου. Οι βασικές πληροφορίες περιλαμβάνουν:
- name: Μοναδικό αναγνωριστικό του εργαλείου.
- description: Εξαιρετικά σημαντικό, το μοντέλο βασίζεται αποκλειστικά σε αυτήν την περιγραφή για να αποφασίσει αν θα καλέσει το εργαλείο. Όσο πιο σαφής και ακριβής είναι η περιγραφή, τόσο πιο ακριβής είναι η απόφαση του μοντέλου.
- parameters: Ορίζει τις παραμέτρους που απαιτούνται από το εργαλείο, τον τύπο τους, την περιγραφή και τους περιορισμούς (π.χ. τιμές enum, αν είναι υποχρεωτικές κ.λπ.).
5. Πλήρης Διαδικασία Κλήσης
Το άρθρο, μέσω ενός παραδείγματος κώδικα για ερώτηση καιρού, παρουσιάζει την πλήρη διαδικασία από την ερώτηση του χρήστη, την πρώτη κλήση μοντέλου με ορισμό εργαλείου, την επιστροφή tool_calls από το μοντέλο, την εκτέλεση της συνάρτησης από τον κώδικα, την εισαγωγή του αποτελέσματος ως μήνυμα role: "tool" στο ιστορικό συνομιλίας, έως την τελική παραγωγή απάντησης σε φυσική γλώσσα από το μοντέλο.
6. Προηγμένο Χαρακτηριστικό - Παράλληλες Κλήσεις Εργαλείων
Όταν η ερώτηση του χρήστη απαιτεί συνεργασία πολλών εργαλείων (π.χ., ταυτόχρονη ερώτηση καιρού σε πολλές πόλεις), το μοντέλο μπορεί να εξάγει μια λίστα με πολλαπλά tool_calls σε μία απόκριση. Ο κώδικας υποδοχής μπορεί να εκτελέσει αυτές τις κλήσεις παράλληλα και στη συνέχεια να επιστρέψει όλα τα αποτελέσματα στο μοντέλο για σύνθεση, βελτιώνοντας έτσι την αποδοτικότητα.
评论
暂无已展示的评论。
发表评论(匿名)