Question answering

שיטה: model.generateAnswer

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

נקודת קצה

לשלוח https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

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

model string

חובה. השם של Model שישמש ליצירת התגובה הבסיסית.

פורמט: model=models/{model} הוא מופיע בפורמט models/{model}.

גוף הבקשה

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

שדות
contents[] object (Content)

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

הערה: model.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 בדרך כלל יניב תשובות ישירות יותר מהמודל. בדרך כלל מומלץ להשתמש בטמפרטורה נמוכה (~0.2) בתרחישי שימוש של מענה על שאלות עם מאפיינים (Attributed- חנויות).

גוף התשובה

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

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

שדות
answer object (Candidate)

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

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

answerableProbability number

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

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

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

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

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

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

  • השאלה שצוינה על ידי הערך האחרון ב-GenerateAnswerRequest.content
  • היסטוריית השיחות שצוינה על ידי הערכים האחרים בתיקייה GenerateAnswerRequest.content
  • מקורות הבסיס (GenerateAnswerRequest.semantic_retriever או GenerateAnswerRequest.inline_passages)
ייצוג JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

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

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

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

InputFeedback

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

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

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

blockReason enum (BlockReason)

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

BlockReason

מציינת מה הייתה הסיבה לחסימת הקלט.

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