Semantic Retrieval API הוא שירות מנוהל למתן תשובות לשאלות, שמאפשר ליצור מערכות של יצירת תוכן משופר באמצעות אחזור (RAG) באמצעות התשתית של Google.
שיטה: models.generateAnswer
- נקודת קצה (endpoint)
- פרמטרים של נתיב
- גוף הבקשה
- גוף התשובה
- היקפי הרשאות
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
הפונקציה יוצרת תשובה מבוססת מהמודל על סמך קלט GenerateAnswerRequest
.
נקודת קצה
פוסטhttps://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
הרלוונטיים לאחזור.
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 |
הקלט נחסם מסיבות אחרות. |