Πώς να δημιουργήσετε το δικό σας Chatbot με βάση το ChatGPT: Οδηγός βήμα προς βήμα
19 Δεκ, 2024 | Tech News| Web Design
Η δημιουργία ενός chatbot με βάση το ChatGPT για τον ιστότοπό σας μπορεί να ενισχύσει την αφοσίωση των χρηστών, να τους παρέχει άμεση υποστήριξη, ακόμη και να δημιουργήσει περιεχόμενο για την πλατφόρμα σας. Ο Opie, ο νέος ακούραστος βοηθός μας, και εγώ είμαστε εδώ για να σας βοηθήσουμε σε κάθε βήμα της διαδρομής. Ακολουθεί ένας λεπτομερής οδηγός που θα σας βοηθήσει να δημιουργήσετε το δικό σας chatbot.
Βήμα 1: Επιλέξτε τα σωστά εργαλεία και τις σωστές υπηρεσίες
Θα χρειαστείτε πρόσβαση σε εργαλεία και πλατφόρμες για να ενσωματώσετε δυνατότητες AI στον ιστότοπό σας:
- OpenAI API: Αποκτήστε πρόσβαση στο API του ChatGPT από την OpenAI.
- WordPress (ή κάποιο άλλο CMS): Αν χρησιμοποιείτε WordPress, plugins όπως το AI Engine μπορούν να απλοποιήσουν την ενσωμάτωση.
- Φιλοξενία ιστοσελίδων: Βεβαιωθείτε ότι η πλατφόρμα φιλοξενίας σας μπορεί να χειριστεί το πρόσθετο φορτίο των API calls.
- Γνώσεις προγραμματισμού: Η βασική κατανόηση της Python είναι χρήσιμη κατά τη δημιουργία του συνόλου δεδομένων (dataset) για το fine-tuning.
Βήμα 2: Ρύθμιση πρόσβασης στο API της OpenAI
1. Δημιουργία λογαριασμού στην OpenAI: Εγγραφείτε στην OpenAI (https://openai.com/) και λάβετε το κλειδί API σας.
Μπορείτε να το δημιουργήσετε εδώ: https://platform.openai.com/api-keys
2. Κατανοήστε το κόστος και θέστε όριο στο budget σας: Βεβαιωθείτε ότι το κόστος του API ευθυγραμμίζεται με το budget σας και τις απαιτήσεις σας.
Μπορείτε να συνδέσετε την τραπεζική σας κάρτα σε αυτή τη σελίδα: https://platform.openai.com/settings/organization/billing/overview
Μην ξεχάσετε να ενεργοποιήσετε ένα όριο στο budget σας για να αποφύγετε απρόσμενες χρεώσεις.
Σύμφωνα με τις τρέχουσες τιμές για το GPT-4o, εκτιμούμε ότι οι χρεώσεις είναι οι εξής:
ΕΡΓΑΣΙΑ | ΚΟΣΤΟΣ |
4.500 λέξεις ανά μήνα σε ερωτήσεις | 0.0009 $ |
15.000 λέξεις σε απαντήσεις | 0.012 $ |
3.000 λέξεις σε fine tuning | 0.015 $ |
3. Ασφαλίστε το κλειδί API: Αποθηκεύστε το κλειδί API για να αποτρέψετε μη εξουσιοδοτημένη πρόσβαση.
Βήμα 3: Εγκατάσταση και ρύθμιση plugin
1. Εγκατάσταση ΑΙ Engine:
Θα χρησιμοποιήσουμε το AI Engine στο WordPress.
Βρείτε το plugin και εγκαταστήστε το. Μεταβείτε στις ρυθμίσεις και ενεργοποιήστε το Chatbot και τα Finetunes.
Στην καρτέλα Chatbot, χρησιμοποιήστε τις ρυθμίσεις ανάλογα με τις ανάγκες σας και μην ξεχάσετε να ορίσετε τις οδηγίες που εξηγούν στο chatbot σε γενικές γραμμές την εργασία του. Στη δική μας περίπτωση, του έχουμε δώσει την εξής οδηγία: “You are an assistant for Open Technologies (also known as Open Tech), a creative cooperative agency based in Corfu, Greece. Your role is to assist website visitors with inquiries about the agency and its services, based strictly on the data you’ve been fine-tuned with. Maintain a friendly and casual tone in all interactions. Only share specific links (URLs) that have been provided during the fine-tuning process—never generate or suggest new links. If a visitor’s question falls outside the scope of the information you’ve been trained on, politely let them know that your expertise is limited to agency-related topics based on the data that have been provided during the fine-tuning process.”
2. Fine Tuning
Φτάνουμε, λοιπόν, στο πιο σημαντικό σημείο, στο fine tuning του chatbot με τα δεδομένα μας. Το βήμα αυτό θα εκπαιδεύσει το bot να ανταποκρίνεται με ακρίβεια. Για να ξεκινήσετε, μεταβείτε στην καρτέλα Finetunes στο Dataset Editor. Εδώ, μπορείτε να ορίσετε τις ερωτήσεις και τις αντίστοιχες απαντήσεις που θέλετε να παρέχει το bot.
Υπάρχουν δύο επιλογές για την προσθήκη αυτών των δεδομένων. Η πρώτη είναι να δημιουργήσετε τις ερωτήσεις και τις απαντήσεις απευθείας στο περιβάλλον εργασίας, ενώ η δεύτερη να τις προετοιμάσετε σε ένα αρχείο JSON και στη συνέχεια να το ανεβάσετε. Η πρώτη επιλογή είναι απλή και γρήγορη, αλλά δεν θα αποφέρει τα καλύτερα αποτελέσματα. Δεδομένου ότι το fine-tuning είναι κρίσιμο βήμα, συνιστούμε ανεπιφύλακτα τη δεύτερη μέθοδο, την οποία θα εξηγήσουμε λεπτομερώς παρακάτω.
Γιατί είναι σημαντικό να ανεβάσετε τα δεδομένα σε μορφή JSON; Για να εκπαιδεύσετε αποτελεσματικά το bot, χρειάζεστε ένα μεγάλο σύνολο δεδομένων. Η OpenAI προτείνει να ξεκινήσετε με τουλάχιστον 50 καλά προσεγμένα παραδείγματα και να αξιολογήσετε τη βελτίωση του μοντέλου μετά το fine tuning.
3. Ανεβάστε τα δεδομένα σας σε μορφή JSON για καλύτερα αποτελέσματα (παραλείψτε το βήμα αυτό εάν επιλέξατε τη μη αυτόματη διαδικασία)
Επιτρέψτε μας να σας καθοδηγήσουμε στη διαδικασία δημιουργίας και ανεβάσματος του αρχείου JSON.
Η διαδικασία περιλαμβάνει τη δημιουργία μίας ερώτησης στην οποία θέλετε να απαντήσει το bot. Στη συνέχεια, χρησιμοποιείτε το ChatGPT με το ακόλουθο prompt:
“I am working on fine-tuning the GPT-4 model to create a chatbot for my web design agency. I’ll provide a question and its corresponding answer, and I want you to generate ten variations of both the question and the answer using diverse phrasing. Is that clear? Please confirm your understanding and explain your approach.”
Εάν υποθέσουμε ότι παρέχετε στο ChatGPT 10 ζεύγη ερωτήσεων-απαντήσεων, η μέθοδος αυτή θα οδηγήσει σε 100 διαφορετικά σύνολα ερωτήσεων-απαντήσεων.
Μπορείτε να πάρετε όλα αυτά τα σύνολα και να τα επικολλήσετε σε ένα Excel με τη μορφή που ακολουθεί.
Στο role “system” είναι καλή ιδέα να χρησιμοποιήσετε τις ίδιες οδηγίες όπως στο βήμα 3.1. Στο role “user” εισάγετε την ερώτηση, ενώ στο role “assistant” δίνετε την απάντηση. Συνεχίζετε έτσι μέχρι να τελειώσετε με όλες τις ερωτήσεις και τις απαντήσεις. Αποθηκεύστε το αρχείο σε μορφή Excel και κρατήστε το.
Μετατροπή του Excel σε JSON
Τώρα, αποθηκεύστε το ίδιο αρχείο ως αρχείο CSV (π.χ., data.csv).
Μετατρέψτε σε JSON με Python: Χρησιμοποιήστε το ακόλουθο Python script για να μετατρέψετε τα δεδομένα του Excel (CSV) στην επιθυμητή μορφή JSON:
import csv
import json
# Input CSV file
csv_file = 'data.csv'
# Read the CSV and organize data
conversations = {}
with open(csv_file, mode='r', encoding='utf-8') as file:
reader = csv.DictReader(file)
for row in reader:
conv_id = row["Conversation ID"]
if conv_id not in conversations:
conversations[conv_id] = {"messages": []}
conversations[conv_id]["messages"].append({
"role": row["Role"],
"content": row["Content"]
})
# Transform to list format
output_data = [value for value in conversations.values()]
# Write JSON to file
with open('output.json', mode='w', encoding='utf-8') as json_file:
json.dump(output_data, json_file, indent=2, ensure_ascii=False)
print("JSON file generated successfully!")
Αποθηκεύστε και εκτελέστε το Python Script
Ανοίξτε ένα πρόγραμμα επεξεργασίας κειμένου (π.χ. Σημειωματάριο ή Visual Studio Code).
Επικολλήστε το Python script στο πρόγραμμα επεξεργασίας κειμένου.
Αποθηκεύστε το αρχείο με την επέκταση .py (π.χ., convert_csv_to_json.py).
Αποθηκεύστε το αρχείο CSV από το προηγούμενο βήμα (data.csv) στον ίδιο φάκελο με το Python script.
Ανοίξτε τη γραμμή εντολών.
Εκτελέστε το σενάριο πληκτρολογώντας:
python convert_csv_to_json.py
Το script θα δημιουργήσει ένα αρχείο JSON (π.χ., output.json) στον ίδιο φάκελο.
Ανοίξτε το αρχείο σε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου ή πρόγραμμα προβολής JSON για να επαληθεύσετε τα αποτελέσματα.
Το JSON αρχείο που δημιουργήθηκε
Το script δημιουργεί την ακόλουθη δομή JSON:
[
{
"messages": [
{
"role": "system",
"content": "You are an assistant for Open Technologies (also known as Open Tech), a creative cooperative agency based in Corfu, Greece. Your role is to assist website visitors with inquiries about the agency and its services, based strictly on the data you’ve been fine-tuned with. Maintain a friendly and casual tone in all interactions. Only share specific links (URLs) that have been provided during the fine-tuning process—never generate or suggest new links. If a visitor’s question falls outside the scope of the information you've been trained on, politely let them know that your expertise is limited to agency-related topics based on the data that have been provided during the fine-tuning process."
},
{
"role": "user",
"content": "What services does your agency offer?"
},
{
"role": "assistant",
"content": "Open Technologies focuses on web design, digital marketing, and consulting services. We take on the responsibility of creating websites, developing mobile apps, launching social media marketing campaigns, or managing your project with skilled project managers."
}
]
},
Βασικές συμβουλές
- Χρησιμοποιήστε κωδικοποίηση UTF-8 για να χειριστείτε ειδικούς χαρακτήρες στο περιεχόμενο.
- Ρωτήστε το ChatGPT αν χρειάζεστε βοήθεια για να εκτελέσετε το Python script στο λειτουργικό σας σύστημα ή αν συναντήσετε σφάλματα.
Μόλις τελειώσετε και έχετε έτοιμο το αρχείο JSON , μπορείτε να το ανεβάσετε στο WordPress κάνοντας κλικ στο “Import” στο Finetunes – Dataset Editor.
4. Ξεκινήστε το Fine Tune
ΞΑΝΑ! Μην ξεχάσετε να ενεργοποιήσετε ένα όριο στο budget σας (εδώ: https://platform.openai.com/settings/organization/billing/overview) για να αποφύγετε απρόσμενες χρεώσεις.
Μόλις τα δεδομένα σας είναι έτοιμα, κάντε κλικ στην επιλογή «Αποστολή στο AI». Εάν η σύνδεση λειτουργεί σωστά, θα πρέπει να μπορείτε να δείτε την πρόοδο του fine-tuning σε αυτή τη σελίδα: https://platform.openai.com/finetune. Ανάλογα με το μέγεθος του συνόλου των δεδομένων, η διαδικασία θα διαρκέσει κάποιο χρόνο, αλλά μόλις ολοκληρωθεί, θα είστε σε θέση να χρησιμοποιήσετε το fine-tuned μοντέλο για το chatbot σας.
Βήμα 4: Δοκιμάστε το Chatbot σας
1. Εκτέλεση αρχικών δοκιμών: Ελέγξτε τη λειτουργικότητα του chatbot σε διαφορετικά σενάρια.
Στο AI Engine στην καρτέλα Chatbot, πρέπει να βρείτε το μοντέλο AI και να επιλέξετε το μοντέλο που μόλις δημιουργήσατε.
Μόλις το chatbot σας είναι έτοιμο, μπορείτε να αρχίσετε να το χρησιμοποιείτε. Είναι σημαντικό να ελέγξετε τις απαντήσεις του διεξοδικά. Σας συνιστούμε να ξεκινήσετε με τις ερωτήσεις που αφορούν το fine tuning. Στη συνέχεια, επεκτείνετε τις δοκιμές σας για να καλύψετε ένα ευρύτερο φάσμα σχετικών και άσχετων ερωτήσεων για να εξασφαλίσετε την προσαρμοστικότητα και την ακρίβειά του. Είστε ικανοποιημένοι με τα αποτελέσματα;
2. Οι απαντήσεις του Fine Tune:
Εάν είστε ικανοποιημένοι με τα αποτελέσματα, δεν χρειάζεται να κάνετε κάποια περαιτέρω ενέργεια!
Ωστόσο, εάν τα αποτελέσματα δεν ανταποκρίνονται στις προσδοκίες σας, θα πρέπει να προσαρμόσετε τα prompts σας και να επαναλάβετε το fine tuning. Το βήμα αυτό είναι κρίσιμο και μπορεί να απαιτήσει κάποιες δοκιμές προκειμένου να επιτευχθεί το επιθυμητό αποτέλεσμα.
Βήμα 5: Δημοσιεύστε το Chatbot σας
1. Προσθέστε το chatbot στην ιστοσελίδα σας: Ενσωματώστε το chatbot στις κύριες σελίδες της ιστοσελίδας σας.
2. Παρακολουθήστε τις επιδόσεις του Chatbot:
- Παρακολουθήστε τα στατιστικά χρήσης.
- Παρακολουθήστε τη χρήση και το κόστος του API.
Βήμα 6: Κάντε βελτιώσεις συνεχώς
1. Σχόλια χρηστών: Συγκεντρώνετε τακτικά τα σχόλια των χρηστών για να βελτιώσετε τις απαντήσεις του chatbot.
2. Ενημέρωση περιεχομένου: Βεβαιωθείτε ότι οι γνώσεις του chatbot παραμένουν επίκαιρες ενημερώνοντας τα prompts ή το fine-tuning.
3. Βελτιστοποίηση κόστους: Παρακολουθήστε και ρυθμίστε τη χρήση του API για να εξισορροπήσετε το κόστος του με την απόδοσή του. Κάποια μοντέλα είναι φθηνότερα.
Εργαλεία και πόροι που χρησιμοποιήσαμε
– Πλατφόρμα: WordPress με το AI Engine plugin
– Φιλοξενία: DigitalOcean για κλιμακούμενη και αξιόπιστη φιλοξενία
– Ανάπτυξη: Python για τη δημιουργία του αρχείου JSON που απαιτείται για τη διαδικασία του fine tuning.
Ακολουθώντας αυτά τα βήματα, θα είστε σε θέση να δημιουργήσετε ένα ισχυρό και αποτελεσματικό chatbot με βάση το ChatGPT που ενισχύει τη λειτουργικότητα και την εμπειρία των χρηστών στον ιστότοπό σας. Εάν έχετε οποιαδήποτε ερώτηση ή χρειάζεστε περαιτέρω βοήθεια, μη διστάσετε να επικοινωνήσετε μαζί μας ή να αφήσετε ένα σχόλιο παρακάτω!
Έχετε ερωτήσεις; Επικοινωνήστε μαζί μας εδώ!