יצירת טקסט באמצעות מודל Gemma בקוד פתוח והפונקציה AI.GENERATE_TEXT
במדריך הזה נסביר איך ליצור מודל מרוחק שמבוסס על מודל Gemma, ואז איך להשתמש במודל הזה עם הפונקציה AI.GENERATE_TEXT כדי לחלץ מילות מפתח ולבצע ניתוח סנטימנטים של ביקורות על סרטים מטבלת bigquery-public-data.imdb.reviews הציבורית.
ההרשאות הנדרשות
כדי להפעיל את המדריך הזה, אתם צריכים את התפקידים הבאים בניהול הזהויות והרשאות הגישה (IAM):
- יצירה ושימוש במערכי נתונים, בחיבורים ובמודלים של BigQuery:
ניהול BigQuery (
roles/bigquery.admin). - נותנים הרשאות לחשבון השירות של החיבור: אדמין IAM של פרויקט (
roles/resourcemanager.projectIamAdmin). - פריסה וביטול פריסה של מודלים ב-Gemini Enterprise Agent Platform: אדמין של Agent Platform
(
roles/aiplatform.admin).
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות לביצוע המשימות שמתוארות במסמך הזה. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
- יצירת מערך נתונים:
bigquery.datasets.create - יצירה, הקצאה ושימוש בחיבור:
bigquery.connections.* - הגדרת החיבור המוגדר כברירת מחדל:
bigquery.config.* - מגדירים את ההרשאות לחשבון השירות:
resourcemanager.projects.getIamPolicyו-resourcemanager.projects.setIamPolicy - פריסה וביטול פריסה של מודל ב-Agent Platform:
aiplatform.endpoints.deployaiplatform.endpoints.undeploy
- יצירת מודל והרצת הסקה:
bigquery.jobs.createbigquery.models.createbigquery.models.getDatabigquery.models.updateDatabigquery.models.updateMetadata
יכול להיות שתוכלו לקבל את ההרשאות האלה גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Cloud de Confiance by S3NS, והשימוש בהם כרוך בתשלום:
- BigQuery ML: You incur costs for the data that you process in BigQuery.
- Gemini Enterprise Agent Platform: You incur costs for calls to the Agent Platform model that's represented by the remote model.
מידע נוסף על התמחור של BigQuery זמין במאמר תמחור ב-BigQuery במסמכי התיעוד של BigQuery.
מודלים פתוחים שפורסים ב-Agent Platform מחויבים לפי שעת מכונה. כלומר, החיוב מתחיל ברגע שהנקודה הסופית מוגדרת במלואה, וממשיך עד שמבטלים את הפריסה שלה. מידע נוסף על התמחור של Agent Platform זמין בדף התמחור של Agent Platform.
לפני שמתחילים
-
בדף לבחירת הפרויקט במסוף Cloud de Confiance , בוחרים פרויקט ב- Cloud de Confiance או יוצרים אותו.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
מפעילים את ממשקי ה-API BigQuery, BigQuery Connection ו-Agent Platform.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
יצירת מערך נתונים
יוצרים מערך נתונים ב-BigQuery לאחסון מודל ה-ML.
המסוף
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בחלונית Explorer, לוחצים על שם הפרויקט.
לוחצים על הצגת פעולות > יצירת מערך נתונים.
בדף Create dataset, מבצעים את הפעולות הבאות:
בשדה Dataset ID (מזהה מערך הנתונים), מזינים
bqml_tutorial.בקטע Location type, בוחרים באפשרות Multi-region ואז בוחרים באפשרות US.
משאירים את הגדרות ברירת המחדל שנותרו כמו שהן ולוחצים על Create dataset (יצירת מערך נתונים).
BQ
כדי ליצור מערך נתונים חדש, משתמשים בפקודה bq mk --dataset.
יוצרים מערך נתונים בשם
bqml_tutorialעם מיקום הנתונים שמוגדר ל-US.bq mk --dataset \ --location=US \ --description "BigQuery ML tutorial dataset." \ bqml_tutorial
בודקים שמערך הנתונים נוצר:
bq ls
API
מבצעים קריאה לשיטה datasets.insert
עם משאב מוגדר של מערך נתונים.
{ "datasetReference": { "datasetId": "bqml_tutorial" } }
יצירת המודל המרוחק
יצירת מודל מרוחק שמייצג מודל של פלטפורמת סוכנים מתארחת:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה:
CREATE OR REPLACE MODEL `bqml_tutorial.gemma_model` REMOTE WITH CONNECTION DEFAULT OPTIONS ( MODEL_GARDEN_MODEL_NAME = 'publishers/google/models/gemma3@gemma-3-270m-it', MACHINE_TYPE = 'g2-standard-12' );
השאילתה תימשך עד 20 דקות, ולאחר מכן המודל gemma_model
יופיע במערך הנתונים bqml_tutorial בחלונית Explorer. מכיוון שהשאילתה משתמשת בהצהרת CREATE MODEL כדי ליצור מודל, אין תוצאות לשאילתה.
ביצוע חילוץ מילות מפתח
תבצע חילוץ של מילות מפתח מביקורות על סרטים ב-IMDB באמצעות המודל המרוחק והפונקציה AI.GENERATE_TEXT:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מזינים את ההצהרה הבאה כדי לבצע חילוץ של מילות מפתח מ-10 ביקורות על סרטים:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Extract the key words from the movie review below: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 100 AS max_output_tokens));
הפלט אמור להיראות כך, בלי העמודות שלא נוצרו לשם הבהרה:
+----------------------------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Romance:** | | the movie review below: | | | "romantic tryst," "elope" * **Comedy:** | | Linda Arvidson (as Jennie) | | | "Contrived Comedy" * **Burglary:** | | and Harry Solter (as Frank) | | | "burglar," "rob," "booty" * **Chase:** | | are enjoying a romantic | | | "chases," "escape" * **Director:** "D.W. | | tryst, when in walks her... | | | Griffith" * **Actors:** "Linda Arvidson,"... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+ | Here are some key words from the | | Extract the key words from | | | movie review: * **Elderbush Gilch:** The | | the movie review below: | | | name of the movie being reviewed. * | | This is the second addition | | | **Disappointment:** The reviewer's | | to Frank Baum's personally | | | overall feeling about the film. * | | produced trilogy of Oz | | | **Dim-witted:** Describes the story | | films. It's essentially ... | | | line negatively. * **Moronic, sadistic,... | | | | +----------------------------------------------+-------------------------+-----------------------------+-----+התוצאות כוללות את העמודות הבאות:
-
result: הטקסט שנוצר. -
status: סטטוס התגובה של ה-API לשורה המתאימה. אם הפעולה בוצעה בהצלחה, הערך הזה ריק. -
prompt: ההנחיה שמשמשת לניתוח הסנטימנטים. - כל העמודות מהטבלה
bigquery-public-data.imdb.reviews.
-
ביצוע ניתוח סנטימנטים
לנתח סנטימנטים בביקורות על סרטים ב-IMDB באמצעות המודל המרוחק והפונקציה AI.GENERATE_TEXT:
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בעורך השאילתות, מריצים את ההצהרה הבאה כדי לבצע ניתוח סנטימנטים על 10 ביקורות על סרטים:
SELECT * FROM AI.GENERATE_TEXT( MODEL `bqml_tutorial.gemma_model`, ( SELECT 'Analyze the sentiment of the following movie review and classify it as either POSITIVE or NEGATIVE. \nMovie Review: ' || review AS prompt, * FROM `bigquery-public-data.imdb.reviews` LIMIT 10 ), STRUCT( 0.2 AS temperature, 128 AS max_output_tokens));
הפלט אמור להיראות כך, בלי העמודות שלא נוצרו לשם הבהרה:
+-----------------------------+-------------------------+-----------------------------+-----+ | result | status | prompt | ... | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Although Charlie Chaplin | | | | | made some great short | | | | | comedies in the late... | | +-----------------------------+-------------------------+-----------------------------+-----+ | **NEGATIVE** | | Analyze the sentiment of | | | | | movie review and classify | | | | | it as either POSITIVE or | | | | | NEGATIVE. Movie Review: | | | | | Opulent sets and sumptuous | | | | | costumes well photographed | | | | | by Theodor Sparkuhl, and... | | +-----------------------------+-------------------------+-----------------------------+-----+התוצאות כוללות את אותן עמודות שמתועדות בביצוע חילוץ מילות מפתח.
ביטול הפריסה של מודל
אם תבחרו שלא למחוק את הפרויקט כמומלץ, תצטרכו לבטל את הפריסה של מודל Gemma ב-Agent Platform כדי שלא ימשיכו לחייב אתכם על השימוש בו. מערכת BigQuery מבטלת את הפריסה של המודל באופן אוטומטי אחרי תקופה מוגדרת של חוסר פעילות (6.5 שעות כברירת מחדל).
לחלופין, אפשר לבטל את הפריסה של המודל באופן מיידי באמצעות ההצהרה ALTER MODEL, כמו בדוגמה הבאה:
ALTER MODEL `bqml_tutorial.gemma_model` SET OPTIONS (deploy_model = false);
מידע נוסף זמין במאמר בנושא ביטול פריסה אוטומטי או מיידי של מודל פתוח.
הסרת המשאבים
- במסוף Cloud de Confiance , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.