שימוש בטכנולוגיית בינה מלאכותית (AI) בשפה מדוברת ספציפית הוא צורך קריטי עבור עסקים רבים כדי שיוכלו להשתמש בה ביעילות. למשפחת המודלים של Gemma יש יכולות בכמה שפות, אבל השימוש בהן בשפות אחרות בנוסף לאנגלית מניב תוצאות פחות אידאליות.
למרבה המזל, אין צורך ללמד את Gemma שפה מדוברת שלמה כדי שתוכל לבצע משימות בשפה הזו. בנוסף, אפשר להתאים את המודלים של Gemma כדי לבצע משימות ספציפיות בשפה מסוימת עם פחות נתונים ומאמץ ממה שחשבתם. בעזרת כ-20 דוגמאות לבקשות ולתשובות צפויות בשפת היעד, תוכלו להיעזר ב-Gemma כדי לפתור בעיות עסקיות רבות בשפה שמתאימה לכם וללקוחות שלכם.
בסרטון Spoken Language AI Assistant Build with Google AI מוסבר על הפרויקט ועל האופן שבו אפשר להרחיב אותו, כולל תובנות מהאנשים שיצרו אותו. אפשר גם לעיין בקוד של הפרויקט הזה במאגר הקוד של Gemma Cookbook. אם לא, תוכלו להתחיל להרחיב את הפרויקט לפי ההוראות הבאות.
סקירה כללית
במדריך הזה תלמדו איך להגדיר, להפעיל ולהרחיב אפליקציה למשימות בשפה מדוברת שנוצרה באמצעות Gemma ו-Python. האפליקציה מספקת ממשק משתמש בסיסי לאינטרנט שאפשר לשנות בהתאם לצרכים שלכם. האפליקציה נועדה ליצור תשובות לאימיילים של לקוחות עבור מאפייה קוראנית בדיונית, וכל הקלט והפלט של השפה מנוהלים כולם בקוריאה. אפשר להשתמש בדפוס האפליקציה הזה בכל שפה ובכל משימה עסקית שמשתמשת בקלט טקסט ופלט טקסט.
איור 1. ממשק משתמש של פרויקט, לפניות באימייל לגבי מאפייה קוריאנית
דרישות החומרה
מריצים את תהליך ההתאמה במחשב עם מעבד גרפי (GPU) או יחידת עיבוד נתונים (TPU) ועם מספיק זיכרון כדי לאחסן את המודל הקיים וגם את נתוני ההתאמה. כדי להריץ את ההגדרות של ההתאמה אישית בפרויקט הזה, צריך בערך 16GB של זיכרון GPU, בערך כמות זהה של זיכרון RAM רגיל ו-50GB לפחות של מקום פנוי בדיסק.
אתם יכולים להריץ את החלק של התאמת המודל ב-Gemma במדריך הזה באמצעות סביבת Colab עם סביבת זמן ריצה של GPU מסוג T4. אם אתם מפתחים את הפרויקט הזה במכונה וירטואלית ב-Google Cloud, צריך להגדיר את המכונה בהתאם לדרישות הבאות:
- חומרת GPU: נדרש NVIDIA T4 כדי להריץ את הפרויקט הזה, ומומלץ להשתמש ב-NVIDIA L4 ואילך.
- מערכת הפעלה: בוחרים באפשרות Deep Learning ב-Linux, ובפרט Deep Learning VM עם CUDA 12.3 M124 עם מנהלי התקנים של תוכנות GPU מותקנים מראש.
- גודל דיסק האתחול: צריך להקצות לפחות 50GB של נפח דיסק לנתונים, למודלים ולתוכנות התמיכה.
הגדרת הפרויקט
ההוראות הבאות יעזרו לכם להכין את הפרויקט לפיתוח ולבדיקה. שלבי ההגדרה הכלליים כוללים התקנת תוכנה שנדרשת מראש, שכפול הפרויקט ממאגר הקודים, הגדרה של כמה משתני סביבה, התקנת ספריות Python ובדיקת אפליקציית האינטרנט.
התקנה והגדרה
בפרויקט הזה נעשה שימוש ב-Python 3 ובסביבות וירטואליות (venv
) כדי לנהל חבילות ולהריץ את האפליקציה. הוראות ההתקנה הבאות מיועדות למכונה מארחת עם Linux.
כדי להתקין את התוכנה הנדרשת:
מתקינים את Python 3 ואת חבילת הסביבה הווירטואלית
venv
ל-Python.sudo apt update sudo apt install git pip python3-venv
שכפול הפרויקט
מורידים את קוד הפרויקט למחשב הפיתוח. כדי לאחזר את קוד המקור של הפרויקט, צריך את תוכנת בקרת הגרסאות git.
כדי להוריד את קוד הפרויקט:
משכפלים את מאגר ה-Git באמצעות הפקודה הבאה.
git clone https://github.com/google-gemini/gemma-cookbook.git
אפשר גם להגדיר את מאגר ה-Git המקומי כך שישתמש ב-sparse checkout, כדי שיהיו לכם רק הקבצים של הפרויקט.
cd gemma-cookbook/ git sparse-checkout set Gemma/spoken-language-tasks/ git sparse-checkout init --cone
התקנת ספריות Python
כדי לנהל את החבילות ואת יחסי התלות של Python, מתקינים את ספריות Python עם הפעלת הסביבה הווירטואלית venv
של Python. חשוב להפעיל את הסביבה הווירטואלית של Python לפני התקנת ספריות Python באמצעות מנהל ההתקנות pip
. מידע נוסף על שימוש בסביבות וירטואליות של Python זמין במסמכי העזרה של Python venv.
כדי להתקין את ספריות Python:
בחלון הטרמינל, עוברים לספרייה
spoken-language-tasks
:cd Gemma/spoken-language-tasks/
מגדירים ומפעילים את הסביבה הווירטואלית של Python (venv) לפרויקט הזה:
python3 -m venv venv source venv/bin/activate
מתקינים את ספריות Python הנדרשות לפרויקט באמצעות הסקריפט
setup_python
../setup_python.sh
הגדרה של משתני סביבה
מגדירים כמה משתני סביבה שנדרשים כדי לאפשר את הפעלת פרויקט הקוד הזה, כולל שם משתמש ב-Kaggle ומפתח אסימון ב-Kaggle. כדי להוריד אותם, צריך חשבון Kaggle ולבקש גישה למודלים של Gemma. בפרויקט הזה מוסיפים את שם המשתמש של Kaggle ו-Kaggle Token Key לשני קובצי .env
, שאפליקציית האינטרנט ותוכנית הכוונון קוראים בהתאמה.
כדי להגדיר את משתני הסביבה:
- כדי לקבל את שם המשתמש ואת מפתח האסימון ב-Kaggle, פועלים לפי ההוראות שמפורטות במסמכי התיעוד של Kaggle.
- כדי לקבל גישה למודל Gemma, פועלים לפי ההוראות לקבלת גישה ל-Gemma בדף הגדרת Gemma.
- יוצרים קובצי משתני סביבה לפרויקט. לשם כך, יוצרים קובץ טקסט מסוג
.env
בכל המיקומים הבאים בעותק המשובך של הפרויקט:k-mail-replier/k_mail_replier/.env k-gemma-it/.env
אחרי שיוצרים את קובצי הטקסט
.env
, מוסיפים את ההגדרות הבאות לשני הקובצים:KAGGLE_USERNAME=<YOUR_KAGGLE_USERNAME_HERE> KAGGLE_KEY=<YOUR_KAGGLE_KEY_HERE>
הרצה ובדיקה של האפליקציה
אחרי שתסיימו את ההתקנה וההגדרה של הפרויקט, כדאי להריץ את אפליקציית האינטרנט כדי לוודא שהגדרתם אותה בצורה נכונה. כדאי לעשות זאת כבדיקה בסיסית לפני שעורכים את הפרויקט לשימוש עצמי.
כדי להריץ ולבדוק את הפרויקט:
בחלון מסוף, עוברים לספרייה
/k_mail_replier/
:cd spoken-language-tasks/k-mail-replier/
מריצים את האפליקציה באמצעות הסקריפט
run_flask_app.sh
:./run_flask_app.sh
אחרי שמפעילים את אפליקציית האינטרנט, קוד התוכנית מציג כתובת URL שבה אפשר לעיין ולבדוק. בדרך כלל, הכתובת הזו:
http://127.0.0.1:5000/
בממשק האינטרנט, לוחצים על הלחצן 勵峀 枑鄱 מתחת לשדה הקלט הראשון כדי ליצור תשובה מהמודל.
התגובה הראשונה מהמודל אחרי שמפעילים את האפליקציה נמשכת זמן רב יותר, כי צריך להשלים את שלבי האיפוס ברצף ההפעלה הראשון. בקשות ופניות נוספות שייווצרו באפליקציית אינטרנט שכבר פועלת יושלמו בזמן קצר יותר.
הרחבת הבקשה
אחרי שהאפליקציה פועלת, אפשר להרחיב אותה על ידי שינוי ממשק המשתמש והלוגיקה העסקית כדי שתתאים למשימות שרלוונטיות לכם או לעסק שלכם. אפשר גם לשנות את ההתנהגות של מודל Gemma באמצעות קוד האפליקציה, על ידי שינוי הרכיבים של ההנחיה שהאפליקציה שולחת למודל ה-AI הגנרטיבי.
האפליקציה מספקת הוראות למודל יחד עם נתוני הקלט מהמשתמש, הנחיה מלאה של המודל. אפשר לשנות את ההוראות האלה כדי לשנות את התנהגות המודל. לדוגמה, אפשר לציין שהמודל צריך לחלץ מידע מהבקשה ולהעביר אותו בפורמט של נתונים מובְנים, כמו JSON. דרך פשוטה יותר לשנות את התנהגות המודל היא לספק הוראות או הנחיות נוספות לגבי התשובה של המודל, למשל לציין שהתשובות שייווצרו צריכות להיות בלשון מנומסת.
כדי לשנות את ההוראות בהנחיה:
- בפרויקט של המשימה של שפת הדיבור, פותחים את קובץ הקוד
k-mail-replier/k_mail_replier/app.py
. בקוד
app.py
, מוסיפים הוראות להוספה לפונקציהget_prompt():
:def get_prompt(): return "발신자에게 요청에 대한 감사를 전하고, 곧 자세한 내용을 알려드리겠다고 정중하게 답장해 주세요. 정중하게 답변해 주세요!:\n"
בדוגמה הזו נוסף הביטוי "Please Write a polite update! (יש לכתוב תגובה מנומסת!") להוראות בקוריאנית.
הוספת הוראות נוספות להנחיה יכולה להשפיע מאוד על הפלט שנוצר, וההטמעה שלה קלה יותר. כדאי לנסות את השיטה הזו קודם כדי לראות אם אפשר לקבל מהמודל את ההתנהגות הרצויה. עם זאת, יש מגבלות לשימוש בהוראות של הנחיות כדי לשנות את ההתנהגות של מודל Gemma. באופן ספציפי, מגבלת האסימונים הכוללת של הקלט של המודל, שהיא 8,192 אסימונים ב-Gemma 2, מחייבת איזון בין הוראות מפורטות להנחיה לבין הגודל של הנתונים החדשים שאתם מספקים, כדי לא לחרוג מהמגבלה הזו.
בנוסף, אם רוצים ש-Gemma תבצע משימות בשפה שאינה אנגלית, סביר להניח שהפעלת המודל הבסיסי בלבד לא תניב תוצאות שימושיות ואמינות. במקום זאת, כדאי לכוונן את המודל באמצעות דוגמאות בשפת היעד, ורק אז לשקול לשנות את הוראות ההנחיה כדי לבצע התאמות קטנות יותר לפלט של המודל המכוונן.
שינוי המודל
ביצוע כוונון מדויק של מודל Gemma היא הדרך המומלצת לגרום לו לתת תשובות בצורה יעילה בשפה מדוברת שאינה אנגלית. עם זאת, אתם לא צריכים להגיע לרמת שפת יעד שוטפת כדי שהמודל יוכל לבצע משימות בשפה הזו. כדי לקבל פונקציונליות בסיסית בשפת היעד של משימה מסוימת, צריך כ-20 דוגמאות. בקטע הזה במדריך נסביר איך מגדירים ומפעילים שינוי מדויק של מודל Gemma למשימה ספציפית בשפה ספציפית.
בהנחיות הבאות מוסבר איך לבצע את פעולת הכוונון בסביבת VM, אבל אפשר לבצע את פעולת הכוונון גם באמצעות ה-Colab notebook שמשויך לפרויקט הזה.
דרישות חומרה
דרישות המחשוב לכוונון עדין זהות לדרישות החומרה בשאר הפרויקט. אפשר להריץ את פעולת ההתאמה בסביבת Colab עם סביבת זמן ריצה של GPU T4 אם מגבילים את האסימונים להזנה ל-256 ואת גודל האצווה ל-1.
הכנת הנתונים
לפני שמתחילים לכוונן מודל Gemma, צריך להכין נתונים לכוונון. כשמכווננים מודל למשימה ולשפה ספציפיות, צריך קבוצה של דוגמאות לבקשות ולתשובות בשפת היעד. הדוגמאות האלה צריכות להציג את הטקסט של הבקשה, ללא הוראות ואת הטקסט של התגובה הצפויה. בשלב הראשון, צריך להכין מערך נתונים עם כ-20 דוגמאות. הדוגמאות האלה אמורות לייצג מגוון רחב של בקשות והתשובות האידיאליות אליהן. חשוב לוודא שהבקשות והתשובות לא חוזרות על עצמן, כי זה עלול לגרום לתשובות של המודלים להיות חוזרות על עצמן ולא להסתגל בצורה מתאימה לשינויים בבקשות. בטבלה הבאה מוצגות כמה רשומות לדוגמה ממערך הנתונים של דוגמת הקוד הזו:
בקשה | תשובה |
---|---|
안녕하세요, 2주 뒤에 있을 아이 생일을 위해 3호 케이크 3개를 주문하고 싶은데 가능할까요? | 고객님, 안녕하세요. 2주 뒤 아이 생일을 위한 3호 케이크 2개 주문 문의 감사합니다. 鄤, 3Gemini 漀Sandbox聬 2 חשבון鰜 で鬸 า銥า. 敄 惝蝼 漀 גידול聬 駌聼 鍔暱 勠粽 捨愜 栕軏 椀鹄蕘抵爈型. 혹시 원하시는 디자인이나 특별한 요청 사항이 있으시면 편하게 말씀해주세요. 픽업 날짜와 시간을 알려주시면 더욱 자세한 안내를 도와드리겠습니다. 六價價朼 鬸化 䰐铜า驰, 镄 惝杼 槄苬蜼า 涕蕘狈及! [가게 이름] 드림 |
안녕하세요, 9월 15일에 있을 아들의 돌잔치를 위해 케이크를 주문하고 싶습니다. - 케이크 종류: 생크림 케이크 - 크기: 2호 - 디자인: 아기자기한 동물 디자인 - 문구: "첫 생일 축하해, 사랑하는 아들!" - 픽업 날짜 및 시간: 9월 14일 오후 3시 가격 및 주문 가능 여부를 알려주시면 감사하겠습니다. 감사합니다. 김민지 드림 | 안녕하세요, 김민지 님, 9월 15일 아드님의 돌잔치를 위한 케이크 주문 문의 감사합니다. - 생크림 케이크 2호, 아기자기한 동물 디자인, "첫 생일 축하해, 사랑하는 아들!" 문구, 9월 14일 오후 3시 픽업 모두 가능합니다. - 䲩杀 5㧌 {9}枅勈る. 주문을 원하시면 연락 주세요 감사합니다. [가게 이름] 드림 |
טבלה 1. רשימה חלקית של מערך הנתונים לכוונון של התשובה באימייל של המאפייה הקוריאנית.
פורמט הנתונים והטעינה שלהם
אפשר לאחסן את נתוני הכוונון בכל פורמט נוח, כולל רשומות מסד נתונים, קובצי JSON, קובצי CSV או קובצי טקסט פשוט, כל עוד יש לכם אפשרות לאחזר את הרשומות באמצעות קוד Python. מטעמי נוחות, תוכנית התאמת ההגדרות לדוגמה מקבלת את הרשומות ממאגר אונליין.
בתוכנית ההמרה הזו, מערך הנתונים לכוונון נטען במודול k-gemma-it/main.py
באמצעות הפונקציה prepare_tuning_dataset()
:
def prepare_tuning_dataset():
tokenizer = keras_nlp.models.GemmaTokenizer.from_preset(model_id)
# load data from repository (or local directory)
from datasets import load_dataset
ds = load_dataset(
# Dataset : https://huggingface.co/datasets/bebechien/korean_cake_boss
"bebechien/korean_cake_boss",
split="train",
)
...
כפי שצוין קודם, אפשר לאחסן את מערך הנתונים בפורמט נוח, כל עוד אפשר לאחזר את הבקשות עם התשובות המשויכות ולקבץ אותן למחרוזת טקסט שתשמש כרשומת כוונון.
איך עורכים רשומות של כוונון
בתהליך ההתאמה בפועל, כל בקשה ותגובה מורכבות ממחרונית אחת עם ההוראות והתגים של ההנחיה, כדי לציין את תוכן הבקשה ואת תוכן התגובה. לאחר מכן, תוכנית התכוונון הזו מחלקת את המחרוזת לאסימונים לצורך שימוש במודל. הקוד להרכבת רשומת כוונון מופיע בפונקציה prepare_tuning_dataset()
של המודול k-gemma-it/main.py
, באופן הבא:
def prepare_tuning_dataset():
...
prompt_instruction = "다음에 대한 이메일 답장을 작성해줘."
for x in data:
item = f"<start_of_turn>user\n{prompt_instruction}\n\"{x['input']}\"<end_of_turn>\n<start_of_turn>model\n{x['output']}<end_of_turn>"
length = len(tokenizer(item))
# skip data if the token length is longer than our limit
if length < token_limit:
tuning_dataset.append(item)
if(len(tuning_dataset)>=num_data_limit):
break
...
הפונקציה הזו קוראת את הנתונים ומפרמטת אותם על ידי הוספת תגים start_of_turn
ו-end_of_turn
, שהוא הפורמט הנדרש כשמספקים נתונים לכוונון מודל Gemma. הקוד הזה גם מוסיף prompt_instruction
לכל בקשה, שאותו צריך לערוך בהתאם לאפליקציה.
יצירת משקולות למודל
אחרי שתטעינו את נתוני ההתאמה, תוכלו להריץ את תוכנית ההתאמה. בתהליך ההתאמה של האפליקציה לדוגמה הזו נעשה שימוש בספריית Keras NLP כדי להתאים את המודל באמצעות התאמה של דירוג נמוך (LoRA), כדי ליצור משקלים חדשים של המודל. בהשוואה לכוונון בדיוק מלא, השימוש ב-LoRA יעיל יותר בזיכרון כי הוא מבצע הערכה של השינויים במשקולות המודל. לאחר מכן תוכלו להוסיף את המשקלים המשוערים האלה על משקלי המודל הקיימים כדי לשנות את התנהגות המודל.
כדי לבצע את ההרצה של כוונון החיפוש ולחשב משקלים חדשים:
בחלון מסוף, עוברים לספרייה
k-gemma-it/
.cd spoken-language-tasks/k-gemma-it/
מריצים את תהליך הכוונון באמצעות הסקריפט
tune_model
:./tune_model.sh
תהליך ההתאמה נמשך כמה דקות, בהתאם למשאבי המחשוב הזמינים. בסיום התהליך, תוכנית התאמת ההגדרות כותבת קובצי משקל חדשים של *.h5
בספרייה k-gemma-it/weights
בפורמט הבא:
gemma2-2b_k-tuned_4_epoch##.lora.h5
פתרון בעיות
אם התכונה לא מותאמת בהצלחה, יכולות להיות לכך שתי סיבות:
- Out of memory / resources exhausted: השגיאות האלה מתרחשות כשתהליך ההתאמה מבקש זיכרון שמעבר לנפח הזיכרון הזמין ב-GPU או ב-CPU. חשוב לוודא שאתם לא מריצים את אפליקציית האינטרנט בזמן שתהליך ההתאמה פועל. אם מבצעים התאמה במכשיר עם זיכרון GPU בנפח 16GB, צריך לוודא שהערך של
token_limit
מוגדר ל-256 והערך שלbatch_size
מוגדר ל-1. - מנהלי GPU שלא מותקנים או לא תואמים ל-JAX: תהליך ההמרה מחייב התקנה של מנהלי חומרה במכשיר המחשוב שתואמים לגרסה של ספריות JAX. פרטים נוספים זמינים במסמכי התיעוד בנושא התקנת JAX.
פריסת מודל מותאם
תהליך הכוונון יוצר מספר משקולות על סמך נתוני הכוונון והמספר הכולל של תקופות של זמן מערכת שהוגדר באפליקציית הכוונון. כברירת מחדל, תוכנית הכוונון יוצרת 20 קובצי משקל של מודל, אחד לכל תקופת כוונון. כל תקופת כוונון עוקבת יוצרת משקלים שמשכפלים בצורה מדויקת יותר את התוצאות של נתוני הכוונון. תוכלו לראות את שיעורי הדיוק של כל תקופת אימון (epoch) בפלט המסוף של תהליך ההתאמה, באופן הבא:
...
Epoch 14/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 567ms/step - loss: 0.4026 - sparse_categorical_accuracy: 0.8235
Epoch 15/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 569ms/step - loss: 0.3659 - sparse_categorical_accuracy: 0.8382
Epoch 16/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 571ms/step - loss: 0.3314 - sparse_categorical_accuracy: 0.8538
Epoch 17/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 572ms/step - loss: 0.2996 - sparse_categorical_accuracy: 0.8686
Epoch 18/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 574ms/step - loss: 0.2710 - sparse_categorical_accuracy: 0.8801
Epoch 19/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 575ms/step - loss: 0.2451 - sparse_categorical_accuracy: 0.8903
Epoch 20/20
10/10 ━━━━━━━━━━━━━━━━━━━━ 6s 575ms/step - loss: 0.2212 - sparse_categorical_accuracy: 0.9021
חשוב שהרמת הדיוק תהיה גבוהה יחסית, בסביבות 0.80 עד 0.90, אבל לא גבוהה מדי או קרובה מאוד ל-1.00, כי זה אומר שהמשקלים הגיעו לקצה היכולת שלהם להתאים את עצמם לנתוני ההתאמה. במקרים כאלה, המודל לא מניב ביצועים טובים בבקשות שונות באופן משמעותי מהדוגמאות לכוונון. כברירת מחדל, סקריפט הפריסה בוחר את המשקולות של 17 epoch, שבדרך כלל יש להם שיעור דיוק של כ-0.90.
כדי לפרוס את המשקלים שנוצרו באפליקציית האינטרנט:
בחלון הטרמינל, עוברים לספרייה
k-gemma-it/
.cd spoken-language-tasks/k-gemma-it/
מריצים את תהליך ההתאמה באמצעות הסקריפט
deploy_weights
:./deploy_weights.sh
אחרי שמריצים את הסקריפט הזה, אמור להופיע קובץ *.h5
חדש בספרייה k-mail-replier/k_mail_replier/weights/
.
בדיקת המודל החדש
אחרי הפריסה של המשקלים החדשים באפליקציה, הגיע הזמן לנסות את המודל המכוונן החדש. כדי לעשות את זה, צריך להריץ מחדש את אפליקציית האינטרנט וליצור תשובה.
כדי להריץ ולבדוק את הפרויקט:
בחלון מסוף, עוברים לספרייה
/k_mail_replier/
.cd spoken-language-tasks/k-mail-replier/
מריצים את האפליקציה באמצעות הסקריפט
run_flask_app.sh
:./run_flask_app.sh
לאחר הפעלת אפליקציית האינטרנט, קוד התוכנה מציג כתובת URL שבה תוכלו לעיין ולבדוק. בדרך כלל הכתובת הבאה:
http://127.0.0.1:5000/
בממשק האינטרנט, לוחצים על הלחצן 답변 작성 מתחת לשדה הקלט הראשון כדי ליצור תגובה מהמודל.
עכשיו סיימתם לבצע התאמה ולפרוס מודל Gemma באפליקציה. כדאי להתנסות באפליקציה ולנסות לקבוע את המגבלות של יכולת היצירה של המודל המכוונן עבור המשימה שלכם. אם נתקלתם בתרחישים שבהם הביצועים של המודל לא טובים, כדאי להוסיף חלק מהבקשות האלה לרשימה של נתוני הדוגמה לכוונון. לשם כך, מוסיפים את הבקשה ומספקים תגובה אידיאלית. לאחר מכן, מפעילים מחדש את תהליך ההתאמה, פורסים מחדש את המשקלים החדשים ובודקים את הפלט.
מקורות מידע נוספים
מידע נוסף על הפרויקט זמין במאגר הקוד של Gemma Cookbook. אם אתם צריכים עזרה בפיתוח האפליקציה או רוצים לשתף פעולה עם מפתחים אחרים, תוכלו להיכנס לשרת Google Developers Community Discord. פלייליסט הסרטונים שלנו מכיל פרויקטים נוספים של Build with Google AI.