יצירת טקסט

בדף הזה מוסבר איך לשלוח הנחיות לשיחה למודל Gemini באמצעות Cloud de Confiance המסוף, API בארכיטקטורת REST וערכות SDK נתמכות.

כדי ללמוד איך מוסיפים תמונות וקובצי מדיה אחרים לבקשה, אפשר לעיין במאמר בנושא הבנת תמונות.

רשימת השפות שנתמכות ב-Gemini מופיעה במאמר שפות נתמכות.


כדי לעיין במודלים של AI גנרטיבי ובממשקי API שזמינים ב-Gemini Enterprise Agent Platform, עוברים אל Model Garden במסוף Cloud de Confiance .

כניסה ל-Model Garden


אם אתם מחפשים דרך להשתמש ב-Gemini ישירות מהאפליקציות לנייד ומאפליקציות האינטרנט שלכם, כדאי לעיין בערכות ה-SDK של Firebase AI Logic ללקוחות עבור אפליקציות Swift,‏ Android,‏ Web,‏ Flutter ו-Unity.

יצירת טקסט

כדי לבדוק הנחיות לצ'אט ולשפר אותן, מומלץ להשתמש בCloud de Confiance מסוף. כדי לשלוח פרומפטים למודל באופן פרוגרמטי, אפשר להשתמש ב-API בארכיטקטורת REST, ב-Google Gen AI SDK, ב-Agent Platform SDK או באחת מהספריות וערכות ה-SDK הנתמכות האחרות.

אתם יכולים להשתמש בהוראות מערכת כדי לכוון את התנהגות המודל בהתאם לצורך ספציפי או לתרחיש שימוש מסוים. לדוגמה, אתם יכולים להגדיר פרסונה או תפקיד לצ'אטבוט שמגיב לבקשות שירות לקוחות. מידע נוסף זמין בדוגמאות הקוד להוראות המערכת.

אתם יכולים להשתמש ב-Google Gen AI SDK כדי לשלוח בקשות אם אתם משתמשים ב-Gemini 2.5 Flash.

הנה דוגמה ליצירת טקסט.

המסוף

כדי להשתמש ב-Agent Studio כדי לשלוח הנחיה לצ'אט במסוףCloud de Confiance , מבצעים את הפעולות הבאות:

  1. בקטע Agent Platform במסוף Cloud de Confiance , עוברים לדף Agent Studio.

    מעבר אל Agent Studio

  2. בקטע התחלת שיחה, לוחצים על צ'אט בטקסט.
  3. אופציונלי: הגדרת המודל והפרמטרים:

    • מודל: בוחרים באפשרות Gemini Pro.
    • אזור: בוחרים את האזור שבו רוצים להשתמש.
    • טמפרטורה: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך של טמפרטורה.

      רמת האקראיות משמשת לדגימה במהלך תהליך יצירת תשובות, שמתרחש כשמחילים את הפרמטרים topP ו-topK. הפרמטר Temperature שולט במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה פחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. רמת אקראיות של 0 פירושה שהטוקנים עם ההסתברות הכי גבוהה תמיד נבחרים. במקרה כזה, התשובות להנחיה נתונה הן ברובן דטרמיניסטיות, אבל עדיין יכול להיות שינוי קל.

      אם המודל מחזיר תשובה כללית מדי או קצרה מדי, או אם המודל מחזיר תשובת ברירת מחדל, נסו להגדיל את הטמפרטורה. אם המודל נכנס ליצירה אינסופית, יכול להיות שהגדלת רמת האקראיות ל-0.1 לפחות תביא לתוצאות טובות יותר.

      ‫1.0 הוא ערך הטמפרטורה המומלץ להתחלה.
    • מגבלת טוקנים בפלט: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך למגבלת הפלט המקסימלית.

      המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. טוקן הוא בערך ארבעה תווים. ‫100 אסימונים מקבילים בערך ל-60-80 מילים.

      כדי לקבל תשובות קצרות יותר, מציינים ערך נמוך יותר, וכדי לקבל תשובות ארוכות יותר, מציינים ערך גבוה יותר.

    • הוספת רצף עצירות: אופציונלי. מזינים רצף עצירה, שהוא סדרה של תווים שכוללת רווחים. אם המודל נתקל ברצף עצירה, תהליך יצירת התשובות נפסק. רצף העצירה לא נכלל בתגובה, ואפשר להוסיף עד חמישה רצפי עצירה.
  4. אופציונלי: כדי להגדיר פרמטרים מתקדמים, לוחצים על מתקדם ומגדירים את הפרמטרים באופן הבא:

    לוחצים כדי להרחיב את ההגדרות המתקדמות

    • Top-K: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-K.

      ההגדרה Top-K משנה את האופן שבו המודל בוחר אסימונים לפלט. ערך של 1 בפרמטר top-K אומר שהטוקן הבא שנבחר הוא הטוקן הסביר ביותר מבין כל הטוקנים באוצר המילים של המודל (נקרא גם פענוח חמדני), בעוד שערך של 3 אומר שהטוקן הבא נבחר מבין שלושת הטוקנים הסבירים ביותר באמצעות רמת אקראיות.

      בכל שלב של בחירת אסימון, המערכת דוגמת את האסימונים המובילים מתוך K האסימונים עם ההסתברות הכי גבוהה. לאחר מכן, האסימונים מסוננים עוד יותר על סמך top-P, והאסימון הסופי נבחר באמצעות דגימת טמפרטורה.

      כדי לקבל תשובות פחות אקראיות, מציינים ערך נמוך יותר, וכדי לקבל תשובות יותר אקראיות, מציינים ערך גבוה יותר.

    • ‫Top-P: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-P. הטוקנים נבחרים מהסבירים ביותר לסבירים פחות עד שסכום ההסתברויות שלהם שווה לערך של Top-P. כדי לקבל תוצאות עם הכי פחות שונות, מגדירים את הפרמטר top-P לערך 0.
    • הפעלת Grounding: כדי להתאים אישית את התכונה הזו, מוסיפים מקור Grounding ונתיב.
  5. כותבים את פרומפט הטקסטואלי בחלונית פרומפט. המודל משתמש בהודעות קודמות כהקשר לתגובות חדשות.
  6. אופציונלי: כדי להציג את מספר האסימונים של הטקסט, לוחצים על הצגת אסימונים. אפשר לראות את הטוקנים או את מזהי הטוקנים של הנחיית הטקסט.
    • כדי לראות את הטוקנים בפרומפט הטקסטואלי שמודגשים בצבעים שונים שמסמנים את הגבול של כל מזהה טוקן, לוחצים על מזהה טוקן לטקסט. אין תמיכה באסימוני מדיה.
    • כדי לראות את מזהי האסימונים, לוחצים על מזהה אסימון.

      כדי לסגור את חלונית כלי הטוקניזציה, לוחצים על X או לוחצים מחוץ לחלונית.

  7. לוחצים על שליחה.
  8. אופציונלי: כדי לשמור את ההנחיה בההנחיות שלי, לוחצים על שמירה.
  9. אופציונלי: כדי לקבל את קוד Python או פקודת curl להנחיה, לוחצים על קבלת קוד.
  10. אופציונלי: כדי למחוק את כל ההודעות הקודמות, לוחצים על ניקוי השיחה

Python

התקנה

pip install --upgrade google-genai

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents="How does AI work?",
)
print(response.text)
# Example response:
# Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
#
# Here's a simplified overview:
# ...

Go

כך מתקינים או מעדכנים את Go.

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

import (
	"context"
	"fmt"
	"io"

	"google.golang.org/genai"
)

// generateWithText shows how to generate text using a text prompt.
func generateWithText(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	resp, err := client.Models.GenerateContent(ctx,
		"gemini-2.5-flash",
		genai.Text("How does AI work?"),
		nil,
	)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)
	// Example response:
	// That's a great question! Understanding how AI works can feel like ...
	// ...
	// **1. The Foundation: Data and Algorithms**
	// ...

	return nil
}

Node.js

התקנה

npm install @google/genai

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateContent(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const response = await client.models.generateContent({
    model: 'gemini-3-flash-preview',
    contents: 'How does AI work?',
  });

  console.log(response.text);

  return response.text;
}

Java

כך מתקינים או מעדכנים את Java.

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True


import com.google.genai.Client;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;

public class TextGenerationWithText {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with text input
  public static String generateContent(String modelId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      GenerateContentResponse response =
          client.models.generateContent(modelId, "How does AI work?", null);

      System.out.print(response.text());
      // Example response:
      // Okay, let's break down how AI works. It's a broad field, so I'll focus on the ...
      //
      // Here's a simplified overview:
      // ...
      return response.text();
    }
  }
}

C#

כך מתקינים או מעדכנים את C#.

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True


using Google.GenAI;
using Google.GenAI.Types;
using System;
using System.Threading.Tasks;

public class TextGenWithTxt
{
    public async Task<string> GenerateContent(
        string projectId = "your-project-id",
        string location = "global",
        string model = "gemini-2.5-flash")
    {
        await using var client = new Client(
            project: projectId,
            location: location,
            vertexAI: true,
            httpOptions: new HttpOptions { ApiVersion = "v1" });

        GenerateContentResponse response = await client.Models.GenerateContentAsync(model: model, contents: "How does AI work?");

        string responseText = response.Candidates[0].Content.Parts[0].Text;
        Console.WriteLine(responseText);
        // Example response:
        // AI, or Artificial Intelligence, at its core, is about creating machines that can perform...
        // Here's a breakdown of how it generally works...
        return responseText;
    }
}

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫GENERATE_RESPONSE_METHOD: סוג התשובה שרוצים שהמודל ייצור. בוחרים שיטה ליצירת התשובה של המודל:
    • ‫streamGenerateContent: התשובה מוזרמת בזמן שהיא נוצרת כדי לצמצם את תפיסת זמן האחזור בקרב קהל אנושי.
    • ‫generateContent: התשובה מוחזרת אחרי שהיא נוצרת במלואה.
  • ‫LOCATION: האזור שבו הבקשה תעובד.
  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL_ID: מזהה המודל של המודל הרב-אופני שרוצים להשתמש בו.
  • TEXT1
    הוראות הטקסט שצריך לכלול בפרומפט הראשון בשיחה רב-שלבית. לדוגמה, What are all the colors in a rainbow?
  • TEXT2
    הוראות הטקסט שצריך לכלול בהנחיה השנייה. לדוגמה, Why does it appear when it rains?
  • ‫TEMPERATURE: רמת האקראיות משמשת לדגימה במהלך תהליך יצירת תשובות, שמתרחשת כשמחילים את הפרמטרים topP ו-topK. הפרמטר Temperature שולט במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה פחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. רמת אקראיות של 0 פירושה שהטוקנים עם ההסתברות הכי גבוהה תמיד נבחרים. במקרה כזה, התשובות להנחיה נתונה הן ברובן דטרמיניסטיות, אבל עדיין יכול להיות שינוי קל.

    אם המודל מחזיר תשובה כללית מדי או קצרה מדי, או אם המודל מחזיר תשובת ברירת מחדל, נסו להגדיל את הטמפרטורה. אם המודל נכנס ליצירה אינסופית, יכול להיות שהגדלת רמת האקראיות ל-0.1 לפחות תביא לתוצאות טובות יותר.

    ‫1.0 הוא ערך הטמפרטורה המומלץ להתחלה.

כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

cat > request.json << 'EOF'
{
  "contents": [
    {
      "role": "user",
      "parts": { "text": "TEXT1" }
    },
    {
      "role": "model",
      "parts": { "text": "What a great question!" }
    },
    {
      "role": "user",
      "parts": { "text": "TEXT2" }
    }
  ],
  "generation_config": {
    "temperature": TEMPERATURE
  }
}
EOF

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

@'
{
  "contents": [
    {
      "role": "user",
      "parts": { "text": "TEXT1" }
    },
    {
      "role": "model",
      "parts": { "text": "What a great question!" }
    },
    {
      "role": "user",
      "parts": { "text": "TEXT2" }
    }
  ],
  "generation_config": {
    "temperature": TEMPERATURE
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD" | Select-Object -Expand Content

אתם אמורים לקבל תגובת JSON שדומה לזו:

תשובות שמוצגות באופן שוטף ותשובות שלא מוצגות באופן שוטף

אתם יכולים לבחור אם המודל ייצור תשובות בסטרימינג או תשובות לא בסטרימינג. כשמפעילים את הצגת התשובות באופן שוטף, מקבלים כל תשובה ברגע שנוצר טוקן הפלט שלה. בתשובות שלא מוצגות באופן שוטף, מקבלים את כל התשובות אחרי שכל טוקני הפלט נוצרים.

הנה דוגמה ליצירת טקסט בהזרמה.

Python

לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח.

כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.

לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.

from google import genai
from google.genai.types import HttpOptions

client = genai.Client(http_options=HttpOptions(api_version="v1"))
chat_session = client.chats.create(model="gemini-3.5-flash")

for chunk in chat_session.send_message_stream("Why is the sky blue?"):
    print(chunk.text, end="")
# Example response:
# The
#  sky appears blue due to a phenomenon called **Rayleigh scattering**. Here's
#  a breakdown of why:
# ...

התנהגות של שיחה מרובת תורות עם Gemini

כשמשתמשים בצ'אט מרובה-תורות, Gemini Enterprise Agent Platform שומר באופן מקומי את התוכן הראשוני ואת ההנחיות ששלחתם למודל. פלטפורמת הסוכנים של Gemini Enterprise שולחת את כל הנתונים האלה עם כל בקשה עוקבת למודל. לכן, עלויות הקלט של כל הודעה שאתם שולחים הן סכום מצטבר של כל הנתונים שכבר נשלחו למודל. אם יש לכם כמות גדולה מספיק של תוכן התחלתי, כדאי להשתמש בשמירת נתונים במטמון לפי הקשר כשאתם יוצרים את אובייקט המודל הראשוני, כדי לשלוט טוב יותר בעלויות הקלט.

המאמרים הבאים