Method: models.generateAnswer

יוצר תשובה מבוססת על המודל בהינתן קלט GenerateAnswerRequest.

בקשת HTTP

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

בכתובת ה-URL נעשה שימוש בתחביר המרת קידוד של gRPC.

פרמטרים של נתיב

פרמטרים
model

string

חובה. השם של ה-Model שבו יש להשתמש ליצירת התשובה עם קרקע.

פורמט: model=models/{model}.

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
שדות
contents[]

object (Content)

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

הערה: ב-models.generateAnswer תומך בשלב זה רק בשאילתות באנגלית.

answerStyle

enum (AnswerStyle)

חובה. הסגנון שבו יש להחזיר את התשובות.

safetySettings[]

object (SafetySetting)

אפשרות. רשימה של מופעים ייחודיים של SafetySetting לחסימת תוכן לא בטוח.

ההגדרה הזו תיאכף בGenerateAnswerRequest.contents ובGenerateAnswerResponse.candidate. אסור שתהיה יותר מהגדרה אחת לכל סוג של SafetyCategory. ה-API יחסום תכנים ותגובות שלא עומדים בדרישות הסף שהוגדרו בהגדרות האלה. הרשימה הזו מבטלת את הגדרות ברירת המחדל לכל SafetyCategory שצוין בהגדרות הבטיחות. אם לא צוין SafetySetting ל-SafetyCategory מסוים ברשימה, ה-API ישתמש בהגדרת האבטחה שהוגדרה כברירת מחדל לקטגוריה הזו. יש תמיכה בקטגוריות הפגיעה HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT.

שדה איחוד grounding_source. המקורות שמהם תבסס התשובה. grounding_source יכול להיות רק אחד מהבאים:
inlinePassages

object (GroundingPassages)

הקטעים שסופקו בתוך הבקשה.

semanticRetriever

object (SemanticRetrieverConfig)

תוכן שאוחזר ממשאבים שנוצרו באמצעות ממשק ה-API של רפליקציה סמנטית.

temperature

number

אפשרות. ההגדרה קובעת את מידת הרנדומיזציה של הפלט.

הערכים יכולים לנוע בין [0.0,1.0] כולל. ערך קרוב ל-1.0 יניב תשובות מגוונות יותר ויצירתיות יותר, בעוד שהערך שקרוב ל-0.0 יוביל בדרך כלל לתשובות ישירות יותר מהמודל. בתרחישים לדוגמה מסוג Attributed-Question-Answering, מומלץ להשתמש בטמפרטורה נמוכה (~0.2).

גוף התשובה

התשובה מהמודל לתשובה מבוססת.

אם הפעולה בוצעה ללא שגיאות, גוף התשובה מכיל נתונים במבנה הבא:

ייצוג JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
שדות
answer

object (Candidate)

התשובה הנכונה מהמודל.

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

answerableProbability

number

פלט בלבד. ההערכה של המודל לגבי ההסתברות שהתשובה שלו נכונה, ומבוססת על קטעי הקלט.

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

כשהערך של answerableProbability נמוך, לקוחות מסוימים עשויים לבקש:

  • מציגים למשתמש את ההודעה 'לא הצלחנו לענות על השאלה הזו'.
  • חוזרים ל-LLM למטרות כלליות שנותנות תשובות על השאלה, הסף והאופי של חלופות כאלה תלויים במקרי השימוש של כל לקוח. סף התחלה טוב הוא 0.5.
inputFeedback

object (InputFeedback)

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

המונח 'נתוני קלט' יכול להיות אחת או יותר מהאפשרויות הבאות:

  • השאלה צוינה על ידי הערך האחרון ב-GenerateAnswerRequest.content
  • היסטוריית השיחות שצוינה על ידי הרשומות האחרות ב-GenerateAnswerRequest.content
  • מקורות נימוק (GenerateAnswerRequest.semantic_retriever או GenerateAnswerRequest.inline_passages)

היקפי הרשאות

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

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

מידע נוסף זמין בסקירה הכללית על אימות.

GroundingPassages

רשימה חוזרת של פסקאות.

ייצוג JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
שדות
passages[]

object (GroundingPassage)

רשימת הפסקאות.

GroundingPassage

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

ייצוג JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
שדות
id

string

המזהה של הפסקה המשויכת לתשובות המבוססות על בסיס.

content

object (Content)

תוכן הפסקה.

SemanticRetrieverConfig

הגדרה לאחזור תוכן שמבוסס על הארקה מ-Corpus או Document שנוצר באמצעות ממשק ה-API של שליפה סמנטית.

ייצוג JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
שדות
source

string

חובה. שם המשאב לאחזור, למשל corpora/123 או corpora/123/documents/abc.

query

object (Content)

חובה. שאילתה לשימוש לצורך דמיון תואם ל-Chunk במשאב הנתון.

metadataFilters[]

object (MetadataFilter)

אפשרות. מסננים לבחירת Document או Chunk מהמשאב.

maxChunksCount

integer

אפשרות. המספר המקסימלי של אובייקטים מסוג Chunk רלוונטיים שיש לאחזר.

minimumRelevanceScore

number

אפשרות. ציון רלוונטיות מינימלי של Chunk רלוונטיות שאוחזרו.

AnswerStyle

סגנון לתשובות מבוססות.

טיפוסים בני מנייה (enums)
ANSWER_STYLE_UNSPECIFIED סגנון התשובה לא צוין.
ABSTRACTIVE סגנון תמציתי אבל מופשט.
EXTRACTIVE סגנון קצר ותמציתי מאוד.
VERBOSE סגנון מפורט כולל פרטים נוספים. התשובה יכולה להיות בפורמט של משפט, פסקה, כמה פסקאות או נקודות תבליטים וכו'.

InputFeedback

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

ייצוג JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
שדות
safetyRatings[]

object (SafetyRating)

דירוגים לבטיחות של הקלט. לכל קטגוריה יש דירוג אחד לכל היותר.

blockReason

enum (BlockReason)

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

BlockReason

מציינת מה הייתה הסיבה לכך שהקלט נחסם.

טיפוסים בני מנייה (enums)
BLOCK_REASON_UNSPECIFIED ערך ברירת המחדל. הערך הזה לא בשימוש.
SAFETY הקלט נחסם מטעמי בטיחות. אפשר לבדוק את safetyRatings כדי להבין איזו קטגוריית בטיחות חסמה אותו.
OTHER הקלט נחסם מסיבות אחרות.