ה-API לאחזור סמנטי מספק שירות אירוח של מענה על שאלות, לצורך בניית מערכות של יצירה משופרת באחזור (RAG) באמצעות התשתית של Google.
שיטה: models.generateAnswer
- נקודת קצה (endpoint)
- פרמטרים של נתיב
- גוף הבקשה
- גוף התשובה
- היקפי הרשאה
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
יצירת תשובה מבוססת מהמודל בהינתן קלט GenerateAnswerRequest
.
נקודת קצה
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
פרמטרים של נתיב
model
string
חובה. השם של Model
שבו יש להשתמש כדי ליצור את התשובה המבוססת על מקורות מידע.
פורמט: model=models/{model}
הוא מקבל את הצורה models/{model}
.
גוף הבקשה
גוף הבקשה מכיל נתונים עם המבנה הבא:
contents[]
object (Content
)
חובה. התוכן של השיחה הנוכחית עם Model
. בשאלות חד-שלביות, זו שאלה אחת שצריך לענות עליה. בשביל שאילתות מרובות, זהו שדה חוזר שמכיל את היסטוריית השיחות ואת השאלה האחרונה Content
ברשימה.
הערה: models.generateAnswer
תומך רק בשאילתות באנגלית.
answerStyle
enum (AnswerStyle
)
חובה. הסגנון שבו התשובות צריכות להיות.
safetySettings[]
object (SafetySetting
)
אופציונלי. רשימה של מקרים ייחודיים של SafetySetting
לחסימת תוכן לא בטוח.
השינוי הזה יחול על GenerateAnswerRequest.contents
ועל GenerateAnswerResponse.candidate
. לא יכולות להיות יותר מהגדרה אחת לכל סוג SafetyCategory
. ה-API יחסום כל תוכן ותשובה שלא יעמדו בסף שנקבע בהגדרות האלה. הרשימה הזו מבטלת את הגדרות ברירת המחדל של כל SafetyCategory
שצוין ב-safetySettings. אם לא מופיע SafetySetting
עבור SafetyCategory
מסוים ברשימה, ממשק ה-API ישתמש בהגדרת הבטיחות שמוגדרת כברירת מחדל עבור הקטגוריה הזו. יש תמיכה בקטגוריות הפגיעה HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT ו-HARM_CATEGORY_HARASSMENT. במדריך מפורט מידע על הגדרות הבטיחות הזמינות. כדאי לעיין גם בהנחיות בנושא בטיחות כדי ללמוד איך לשלב שיקולי בטיחות באפליקציות ה-AI.
grounding_source
Union type
grounding_source
יכול להיות רק אחד מהבאים:inlinePassages
object (GroundingPassages
)
קטעים שסופקו בתוך הבקשה.
semanticRetriever
object (SemanticRetrieverConfig
)
תוכן שאוחזר ממקורות מידע שנוצרו באמצעות Semantic Retriever API.
temperature
number
אופציונלי. המדיניות קובעת את מידת הרנדומיזציה של הפלט.
הערכים יכולים לנוע בין [0.0,1.0], כולל. ערך שקרוב יותר ל-1.0 יניב תשובות מגוונות ויצירתיות יותר, ואילו ערך שקרוב יותר ל-0.0 בדרך כלל יניב תשובות פשוטות יותר מהמודל. בדרך כלל מומלצת טמפרטורה נמוכה (~0.2) לתרחישי שימוש של מענה על שאלות עם שיוך.
גוף התשובה
תשובה מהמודל שמבוססת על מידע.
אם הפעולה מצליחה, גוף התגובה מכיל נתונים במבנה הבא:
answer
object (Candidate
)
תשובה אפשרית מהמודל.
הערה: המודל תמיד מנסה לספק תשובה מבוססת, גם אם לא סביר שאפשר יהיה למצוא את התשובה בקטעי הטקסט שסופקו. במקרה כזה, יכול להיות שתתקבל תשובה באיכות נמוכה או תשובה לא מבוססת, עם ציון מהימנות נמוך של answerableProbability
.
answerableProbability
number
פלט בלבד. הערכת המודל לגבי ההסתברות שהתשובה שלו נכונה ומבוססת על קטעי הקלט.
ערך נמוך של answerableProbability
מצביע על כך שהתשובה לא מבוססת על המקורות.
אם הערך בשדה answerableProbability
נמוך, כדאי:
- להציג למשתמש הודעה בסגנון "לא הצלחנו לענות על השאלה הזו".
- חזרה למודל שפה גדול (LLM) למטרות כלליות שעונה על השאלה מתוך הידע הכללי. הסף והאופי של חלופות כאלה תלויים בתרחישים ספציפיים לדוגמה.
0.5
היא סף התחלתי טוב.
inputFeedback
object (InputFeedback
)
פלט בלבד. משוב שקשור לנתוני הקלט ששימשו למענה על השאלה, ולא לתשובה שנוצרה על ידי המודל לשאלה.
נתוני הקלט יכולים להיות אחד או יותר מהסוגים הבאים:
- השאלה שצוינה ברשומה האחרונה ב-
GenerateAnswerRequest.content
- היסטוריית השיחות שצוינה ברשומות האחרות ב-
GenerateAnswerRequest.content
- מקורות לנקודת התייחסות (
GenerateAnswerRequest.semantic_retriever
אוGenerateAnswerRequest.inline_passages
)
ייצוג ב-JSON |
---|
{ "answer": { object ( |
GroundingPassages
רשימה חוזרת של קטעים.
passages[]
object (GroundingPassage
)
רשימת קטעים.
ייצוג ב-JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
הגדרה לאחזור תוכן ביסוס מ-Corpus
או מ-Document
שנוצרו באמצעות Semantic Retriever API.
source
string
חובה. שם המשאב לאחזור. לדוגמה: corpora/123
או corpora/123/documents/abc
.
query
object (Content
)
חובה. שאילתה שמשמשת להתאמת Chunk
s במשאב הנתון לפי דמיון.
metadataFilters[]
object (MetadataFilter
)
אופציונלי. מסננים לבחירת Document
או Chunk
מהמשאב.
maxChunksCount
integer
אופציונלי. המספר המקסימלי של Chunk
s רלוונטיים לאחזור.
minimumRelevanceScore
number
אופציונלי. ציון הרלוונטיות המינימלי של Chunk
s רלוונטיים שאוחזרו.
ייצוג ב-JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
סגנון לתשובות מבוססות-קרקע.
טיפוסים בני מנייה (enum) | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
סגנון תשובה לא מוגדר. |
ABSTRACTIVE |
סגנון תמציתי אבל מופשט. |
EXTRACTIVE |
סגנון תמציתי וקצר מאוד. |
VERBOSE |
סגנון מפורט שכולל פרטים נוספים. התשובה יכולה להיות בפורמט של משפט, פסקה, כמה פסקאות, רשימת תבליטים וכו'. |
InputFeedback
משוב שקשור לנתוני הקלט ששימשו למענה על השאלה, ולא לתשובה שנוצרה על ידי המודל לשאלה.
safetyRatings[]
object (SafetyRating
)
דירוגים של בטיחות הקלט. לכל קטגוריה יש סיווג אחד לכל היותר.
blockReason
enum (BlockReason
)
אופציונלי. אם ההגדרה מוגדרת, הקלט נחסם ולא מוחזרות הצעות. לנסח מחדש את הקלט.
ייצוג ב-JSON |
---|
{ "safetyRatings": [ { object ( |
BlockReason
מציין את הסיבה לחסימת הקלט.
טיפוסים בני מנייה (enum) | |
---|---|
BLOCK_REASON_UNSPECIFIED |
ערך ברירת המחדל. הערך הזה לא בשימוש. |
SAFETY |
הקלט נחסם מטעמי בטיחות. בודקים את safetyRatings כדי להבין איזו קטגוריית בטיחות חסמה את האתר. |
OTHER |
הקלט נחסם מסיבות אחרות. |