Πώς να προσθέσετε λειτουργίες AI στην εφαρμογή σας
Για να προσθέσετε λειτουργίες AI στην εφαρμογή σας, καλέστε ένα μεγάλο γλωσσικό μοντέλο (LLM) API από τον server σας: στείλτε καθαρές οδηγίες μαζί με τα σχετικά δεδομένα και χρησιμοποιήστε ό,τι επιστρέφει. Οι περισσότερες χρήσιμες λειτουργίες ανήκουν σε μία από τέσσερις κατηγορίες (σύνοψη, chat, εξαγωγή δομημένων δεδομένων και ταξινόμηση), και η καθεμία είναι λίγες δεκάδες γραμμές κώδικα που μπορεί να γράψει ένα εργαλείο AI. Η δουλειά που καθορίζει αν η λειτουργία είναι καλή βρίσκεται γύρω από την κλήση: το κλειδί API να μένει στον server, το κόστος ανά χρήστη να ελέγχεται και το αποτέλεσμα να ελέγχεται πριν το εμπιστευτείτε.
Τα τέσσερα μοτίβα πίσω από τις περισσότερες λειτουργίες AI
| Μοτίβο | Τι κάνει | Παραδείγματα λειτουργιών | Τυπική έξοδος |
|---|---|---|---|
| Σύνοψη | Μετατρέπει μακρύ κείμενο σε σύντομο | Περίληψη σημειώσεων συνάντησης, σύνοψη αιτήματος, «τι άλλαξε» σε έγγραφο | Μια παράγραφος ή λίστα κουκκίδων |
| Chat | Απαντά σε ερωτήσεις σε συνομιλία, συχνά για τα δεδομένα σας | Βοηθός υποστήριξης, «ρώτα τα έγγραφά σου», οδηγός εισαγωγής | Κείμενο που εμφανίζεται σταδιακά |
| Εξαγωγή | Βγάζει δομημένα πεδία από ακατάστατο κείμενο ή εικόνες | Στοιχεία τιμολογίου από PDF, επαφές από υπογραφή email, δεδομένα αγγελίας εργασίας | JSON που ταιριάζει σε σχήμα |
| Ταξινόμηση | Επιλέγει από σταθερό σύνολο ετικετών | Δρομολόγηση αιτημάτων υποστήριξης, σήμανση σχολίων ανά θέμα, εντοπισμός επείγοντων μηνυμάτων, αναγνώριση γλώσσας | Μία ετικέτα, ίσως με σημείωση βεβαιότητας |
Η εξαγωγή και η ταξινόμηση είναι συχνά οι πιο πολύτιμες και οι λιγότερο ορατές. Εξοικονομούν κάθε φορά λίγα λεπτά σε κάθε εγγραφή, και επειδή η έξοδος έχει σταθερή μορφή, μπορείτε να την ελέγξετε αυτόματα. Το chat είναι το πιο ορατό αλλά το δυσκολότερο να γίνει σωστά, και έχει δικό του οδηγό: πώς να φτιάξετε εφαρμογή chatbot με AI.
Πώς ταιριάζει στην εφαρμογή σας
Κάθε μοτίβο έχει το ίδιο σχήμα:
- Ο χρήστης ενεργεί: πατά «Σύνοψη», ανεβάζει ένα αρχείο, στέλνει μήνυμα.
- Το frontend καλεί τον δικό σας server, όχι τον πάροχο AI.
- Ο server φτιάχνει το αίτημα: οδηγίες συστήματος, την είσοδο του χρήστη και τυχόν δεδομένα από τη βάση που χρειάζεται το μοντέλο, μόνο αυτά που επιτρέπεται να δει ο συγκεκριμένος χρήστης.
- Ο server καλεί το LLM API με κλειδί αποθηκευμένο σε μεταβλητή περιβάλλοντος.
- Ο server ελέγχει την απάντηση: έγκυρο JSON, γνωστή ετικέτα, λογικό μήκος, και μετά την αποθηκεύει ή την επιστρέφει.
- Το frontend την εμφανίζει, με σταδιακή εμφάνιση του κειμένου για μεγαλύτερες απαντήσεις.
Το κλειδί βρίσκεται στον server στο βήμα 4 και δεν φτάνει ποτέ στον browser. Αν η έννοια του API είναι καινούργια, το τι είναι API είναι μια σύντομη εισαγωγή, και το πώς να χρησιμοποιήσετε LLM APIs καλύπτει τα tokens, τα μοντέλα και τα κλειδιά πιο αναλυτικά.
Επιλογή παρόχου και μοντέλου
Οι μεγάλοι πάροχοι (OpenAI, Anthropic, Google και άλλοι) προσφέρουν APIs κειμένου με περίπου παρόμοια μορφή. Χρήσιμα ερωτήματα κατά την επιλογή:
- Ποιότητα στη δική σας εργασία. Δοκιμάστε μερικά πραγματικά παραδείγματα από την εφαρμογή σας σε δύο ή τρία μοντέλα. Οι διαφορές φαίνονται συχνά καθαρότερα στα δεδομένα σας παρά στα γενικά benchmarks.
- Μέγεθος έναντι κόστους. Οι πάροχοι προσφέρουν μεγαλύτερα, πιο ικανά μοντέλα και μικρότερα, φθηνότερα και γρηγορότερα. Η ταξινόμηση και η απλή εξαγωγή συχνά δουλεύουν καλά σε μικρό μοντέλο· ο εκτεταμένος συλλογισμός ή η λεπτή συγγραφή μπορεί να θέλουν μεγαλύτερο.
- Δομημένη έξοδος. Για εξαγωγή και ταξινόμηση, προτιμήστε λειτουργία API που κάνει το μοντέλο να επιστρέφει JSON σύμφωνο με σχήμα που δίνετε, αντί να αναλύετε ελεύθερο κείμενο.
- Χειρισμός δεδομένων. Διαβάστε τους όρους του παρόχου για το αν αποθηκεύονται τα δεδομένα εισόδου ή χρησιμοποιούνται για εκπαίδευση, και αν αυτό ταιριάζει στα δεδομένα που σας δίνουν οι χρήστες.
- Όρια. Οι νέοι λογαριασμοί συχνά έχουν χαμηλά όρια ρυθμού· ελέγξτε τα πριν από την κυκλοφορία.
Τα ονόματα και οι τιμές των μοντέλων αλλάζουν συχνά, γι' αυτό ο κώδικας πρέπει να διαβάζει το όνομα του μοντέλου από ρυθμίσεις και όχι να το έχει γραμμένο σε πολλά σημεία.
Προσθήκη μιας λειτουργίας, βήμα προς βήμα
Ένα συγκεκριμένο παράδειγμα: ένα μικρό CRM όπου κάθε επαφή έχει μεγάλο ιστορικό σημειώσεων.
1. Αποθηκεύστε το κλειδί. Δημιουργήστε κλειδί στον πίνακα του παρόχου και αποθηκεύστε το ως μυστικό στον server, για παράδειγμα OPENAI_API_KEY ή ANTHROPIC_API_KEY.
2. Ζητήστε μία στενή λειτουργία:
Πρόσθεσε κουμπί «Σύνοψη» στη σελίδα επαφής. Στον server, στείλε τις τελευταίες 20 σημειώσεις της επαφής στο [PROVIDER] χρησιμοποιώντας το μυστικό [ENV_NAME], με οδηγίες να γράψει τρεις κουκκίδες: τρέχουσα κατάσταση, ανοιχτά ερωτήματα, επόμενο βήμα. Συμπερίλαβε μόνο σημειώσεις που μπορεί να δει ο συνδεδεμένος χρήστης. Δείξε κατάσταση φόρτωσης, αποθήκευσε τη σύνοψη με χρονοσήμανση και δείξε «Δεν ήταν δυνατή η σύνοψη αυτή τη στιγμή» αν αποτύχει η κλήση. Ποτέ μη στέλνεις το κλειδί στον browser.
3. Προσθέστε εξαγωγή όπου εξοικονομεί πληκτρολόγηση:
Όταν ο χρήστης επικολλά υπογραφή email στο πεδίο «Γρήγορη προσθήκη», κάλεσε το [PROVIDER] στον server και επέστρεψε JSON με όνομα, εταιρεία, θέση, email και τηλέφωνο, χρησιμοποιώντας τη λειτουργία δομημένης εξόδου του παρόχου. Επικύρωσε το JSON στον server, συμπλήρωσε με αυτό τη φόρμα νέας επαφής και άφησε τον χρήστη να το επεξεργαστεί πριν την αποθήκευση. Άφησε κενά τα πεδία αντί να μαντεύεις.
Το «άφησε τον χρήστη να το επεξεργαστεί» είναι το σημαντικότερο κομμάτι: το μοντέλο προτείνει, ο άνθρωπος αποφασίζει.
4. Ταξινομήστε στο παρασκήνιο:
Όταν έρχεται νέο αίτημα υποστήριξης, ταξινόμησέ το σε ακριβώς μία από τις εξής κατηγορίες: χρέωση, σφάλμα, αίτημα λειτουργίας, πρόσβαση λογαριασμού, άλλο. Χρησιμοποίησε μικρό μοντέλο χαμηλού κόστους. Αν η απάντηση δεν είναι μία από αυτές τις ετικέτες, αποθήκευσε «άλλο». Εμφάνισε την ετικέτα ως επεξεργάσιμη σήμανση.
5. Δοκιμάστε με πραγματικά, ακατάστατα δεδομένα: μεγάλες σημειώσεις, κενές σημειώσεις, άλλες γλώσσες, υπογραφή χωρίς τηλέφωνο· και δείτε είκοσι αποτελέσματα μαζί πριν την κυκλοφορία.
Γράφοντας οδηγίες που δουλεύουν
Οι οδηγίες που στέλνετε με κάθε αίτημα (συχνά λέγονται prompt συστήματος) είναι εκεί που κρύβεται η ποιότητα.
- Πείτε για ποιον είναι και τι θεωρείται καλό. Το «οι συνόψεις διαβάζονται από έναν πωλητή σε 10 δευτερόλεπτα πριν από μια κλήση» δίνει στο μοντέλο στόχο.
- Κλειδώστε τη μορφή. Ακριβής αριθμός κουκκίδων, όριο μήκους, πεδία, ετικέτες.
- Πείτε τι να κάνει όταν δεν ξέρει. Το «αν οι σημειώσεις δεν αναφέρουν επόμενο βήμα, γράψε "Δεν καταγράφηκε επόμενο βήμα"» μειώνει τις επινοημένες απαντήσεις.
- Δώστε δύο ή τρία παραδείγματα καλής εισόδου και εξόδου για εξαγωγή και ταξινόμηση.
- Κρατήστε τις οδηγίες χωριστά από το περιεχόμενο του χρήστη, και σημειώστε καθαρά το περιεχόμενο του χρήστη, ώστε το μοντέλο να τα ξεχωρίζει.
Κρατήστε τα prompts σε αρχεία μέσα στο codebase, ώστε να έχουν εκδόσεις και να ελέγχονται όπως κάθε άλλος κώδικας.
Έλεγχος του κόστους
Τα LLM APIs χρεώνουν με tokens, δηλαδή μικρά κομμάτια κειμένου, τόσο για ό,τι στέλνετε όσο και για ό,τι επιστρέφει. Το κόστος αυξάνεται με το μέγεθος του πλαισίου ανά αίτημα επί τη συχνότητα εκτέλεσης. Πρακτικοί έλεγχοι:
- Στείλτε μόνο ό,τι χρειάζεται. Τις τελευταίες 20 σημειώσεις, όχι ολόκληρο το ιστορικό. Περικόψτε ή χωρίστε μεγάλα έγγραφα.
- Χρησιμοποιήστε το μικρότερο μοντέλο που κάνει τη δουλειά. Δοκιμάστε πριν πάρετε το μεγαλύτερο ως προεπιλογή.
- Περιορίστε το μήκος της εξόδου με τη ρύθμιση μέγιστων tokens του API.
- Κάντε cache στα αποτελέσματα. Αποθηκεύστε τη σύνοψη και ξαναδημιουργήστε την μόνο όταν αλλάξει η πηγή, αντί για κάθε προβολή σελίδας.
- Περιορίστε ανά χρήστη. Ημερήσιο όριο ανά λογαριασμό ή πακέτο σταματά έναν υπερβολικά έντονο χρήστη ή ένα script να αυξήσει τον λογαριασμό.
- Περιορίστε τον ρυθμό του endpoint όπως κάθε ακριβή διαδρομή.
- Ορίστε προϋπολογισμό ή ειδοποίηση στον πίνακα του παρόχου και ελέγχετε τη χρήση εβδομαδιαία μετά την κυκλοφορία.
- Καταγράφετε τη χρήση tokens ανά λειτουργία, ώστε να ξέρετε ποια κοστίζει τι.
Αν οι λειτουργίες AI είναι κεντρικές στο προϊόν σας, συνυπολογίστε το κόστος λειτουργίας τους στην τιμολόγηση αντί να το απορροφάτε.
Ασφάλεια και εμπιστοσύνη
Η έξοδος AI είναι πιθανοκρατική. Μπορεί να είναι λανθασμένη ενώ ακούγεται σίγουρη, και μπορεί να εκτραπεί από το κείμενο που διαβάζει. Χτίστε με αυτό υπόψη:
- Αντιμετωπίστε την έξοδο ως μη αξιόπιστη είσοδο. Επικυρώστε τη δομή, κάντε escape πριν την εμφάνιση ως HTML και μη την εκτελείτε ποτέ ως κώδικα ή ως ερώτημα βάσης.
- Κρατήστε άνθρωπο στη διαδικασία για ό,τι έχει συνέπειες, όπως αποστολή email, αλλαγή εγγραφής ή επιστροφή χρημάτων. Το μοντέλο συντάσσει, ένας άνθρωπος επιβεβαιώνει.
- Προστατευτείτε από prompt injection. Ένα έγγραφο ή μήνυμα μπορεί να περιέχει κείμενο τύπου «αγνόησε τις οδηγίες σου». Περιορίστε όσα βλέπει το μοντέλο σε όσα μπορεί να δει ο τρέχων χρήστης, και μην του δίνετε εργαλεία που μπορούν να κάνουν ευαίσθητες ενέργειες χωρίς ο κώδικάς σας να ελέγξει πρώτα τα δικαιώματα.
- Σημειώστε το περιεχόμενο AI ώστε οι χρήστες να ξέρουν ότι μια σύνοψη ή πρόταση δημιουργήθηκε και μπορούν να την ελέγξουν.
- Διαχειριστείτε τις αποτυχίες ομαλά. Οι πάροχοι έχουν διακοπές και όρια ρυθμού. Ορίστε timeout, δείξτε ένα σαφές μήνυμα και αφήστε την υπόλοιπη εφαρμογή να λειτουργεί.
- Προσέξτε τι στέλνουν οι χρήστες. Για ελεύθερα πεδία κειμένου, σκεφτείτε ένα βήμα συντονισμού περιεχομένου και γράψτε στην πολιτική απορρήτου ότι το περιεχόμενο επεξεργάζεται από τρίτο πάροχο AI.
Η ευρύτερη λίστα ελέγχων βρίσκεται στον οδηγό ασφαλείας για εφαρμογές που φτιάχνονται με AI.
Συχνά λάθη
- Ξεκινάτε με γενικό chatbot όταν ένα κουμπί «Σύνοψη» ή «Ταξινόμηση» θα βοηθούσε περισσότερους ανθρώπους.
- Το κλειδί στον κώδικα του frontend ή σε δημόσιο αποθετήριο.
- Στέλνετε ολόκληρη τη βάση ως πλαίσιο, κάτι που είναι αργό, ακριβό και εκθέτει δεδομένα άλλων χρηστών.
- Εμπιστεύεστε ελεύθερο κείμενο εκεί όπου ένα σχήμα ή ένα σταθερό σύνολο ετικετών θα έκανε την έξοδο ελέγξιμη.
- Χωρίς ορίου ανά χρήστη, που το ανακαλύπτετε όταν έρθει ο πρώτος λογαριασμός.
Προσθήκη λειτουργιών AI με το Mythex
Στο Mythex προσθέτετε AI μέσα στη δική σας εφαρμογή ζητώντας το στη συνομιλία, χρησιμοποιώντας το δικό σας κλειδί παρόχου. Αποθηκεύστε το κλειδί ως μυστικό του έργου. Όταν ο agent το χρειαστεί, το Mythex εμφανίζει κάρτα μυστικών στη συνομιλία, ώστε να μην επικολλάτε το κλειδί στη συζήτηση, και ο agent γράφει τη διαδρομή του server, τα prompts και τη διεπαφή. Η χρήση AI της εφαρμογής σας χρεώνεται από τον δικό σας πάροχο, ξεχωριστά από τα credits του Mythex που ξοδεύετε για την κατασκευή. Στην τεκμηρίωση υπάρχει ένα έτοιμο prompt στο προσθέστε AI στην εφαρμογή σας με τα δικά σας κλειδιά API.
Ερωτήσεις
Πώς προσθέτω AI σε μια υπάρχουσα εφαρμογή;
Πάρτε ένα κλειδί API από πάροχο μοντέλων γλώσσας, αποθηκεύστε το ως μυστικό στον server και προσθέστε μια διαδρομή στον server που στέλνει στον πάροχο ένα prompt μαζί με τα σχετικά δεδομένα και επιστρέφει το αποτέλεσμα στο frontend. Ξεκινήστε με μία στενή λειτουργία, όπως η σύνοψη μιας εγγραφής, πριν χτίσετε ένα γενικό chat.
Πόσο κοστίζει να τρέχουν οι λειτουργίες AI;
Τα LLM API χρεώνουν ανά token, δηλαδή περίπου ανά κομμάτι κειμένου που στέλνεται και λαμβάνεται, με τιμές που διαφέρουν πολύ ανάλογα με το μοντέλο. Το κόστος εξαρτάται από το πόσο κείμενο κουβαλά κάθε αίτημα και πόσο συχνά τρέχει. Υπολογίστε το με βάση τη δική σας χρήση, ορίστε όριο στον πίνακα του παρόχου και περιορίστε τη χρήση ανά χρήστη μέσα στην εφαρμογή.
Μπορώ να βάλω το κλειδί OpenAI ή Anthropic στο frontend;
Όχι. Ό,τι βρίσκεται στον κώδικα του frontend μπορεί να το διαβάσει όποιος ανοίξει τη σελίδα, και ένα διαρρεύσαν κλειδί επιτρέπει σε αγνώστους να αυξήσουν τον λογαριασμό σας. Καλέστε τον πάροχο από τον server σας, όπου το κλειδί μένει σε μεταβλητή περιβάλλοντος.
Τι είναι το prompt injection;
Είναι όταν κείμενο που διαβάζει το μοντέλο, όπως ένα μήνυμα χρήστη, ένα ανεβασμένο έγγραφο ή μια ιστοσελίδα, περιέχει οδηγίες που προσπαθούν να παρακάμψουν τις δικές σας. Αντιμετωπίστε την έξοδο του μοντέλου ως μη αξιόπιστη, μην αφήνετε ποτέ να προκαλεί ευαίσθητες ενέργειες χωρίς ελέγχους, και περιορίζετε τα δεδομένα που βλέπει στα όσα επιτρέπεται να δει ο χρήστης.