توفّر Semantic Retrieval API خدمة استضافة للإجابة عن الأسئلة من أجل إنشاء أنظمة إنشاء مُحسَّنة للاسترجاع (RAG) باستخدام البنية الأساسية من Google.
الطريقة: models.generateAnswer
- نقطة النهاية
- مَعلمات المسار
- نص الطلب
- نص الاستجابة
- نطاقات التفويض
- 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
. ستحظر واجهة برمجة التطبيقات أي محتوى أو ردّ لا يستوفي الحدّ الأدنى الذي تحدّده هذه الإعدادات. تلغي هذه القائمة الإعدادات التلقائية لكل SafetyCategory
محدّد في safetySettings. إذا لم يكن هناك SafetySetting
لـ SafetyCategory
معيّن في القائمة، ستستخدم واجهة برمجة التطبيقات إعدادات السلامة التلقائية لهذه الفئة. يمكن استخدام فئات المحتوى الضار HARM_CATEGORY_HATE_SPEECH وHARM_CATEGORY_SEXUALLY_EXPLICIT وHARM_CATEGORY_DANGEROUS_CONTENT وHARM_CATEGORY_HARASSMENT. يُرجى الرجوع إلى الدليل للحصول على معلومات تفصيلية عن إعدادات الأمان المتاحة. يمكنك أيضًا الرجوع إلى إرشادات السلامة للتعرّف على كيفية دمج اعتبارات السلامة في تطبيقات الذكاء الاصطناعي.
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
في المرجع المحدّد حسب التشابه
metadataFilters[]
object (MetadataFilter
)
اختياريّ. فلاتر لاختيار Document
و/أو Chunk
من المرجع
maxChunksCount
integer
اختياريّ. الحد الأقصى لعدد Chunk
ذات الصلة التي يمكن استرجاعها
minimumRelevanceScore
number
اختياريّ. الحد الأدنى لنتيجة مدى الصلة لـ Chunk
ذات الصلة التي تم استرجاعها
تمثيل JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
أسلوب الإجابات المستندة إلى الحقائق
عمليات التعداد | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
أسلوب إجابة غير محدّد |
ABSTRACTIVE |
نمط موجز ولكن مجرد |
EXTRACTIVE |
أسلوب موجز للغاية ومختصر |
VERBOSE |
نمط مفصّل يتضمّن تفاصيل إضافية يمكن تنسيق الردّ على شكل جملة أو فقرة أو فقرات متعددة أو نقاط مميّزة أو غير ذلك. |
InputFeedback
ملاحظات متعلقة ببيانات الإدخال المستخدَمة للإجابة عن السؤال، بدلاً من الردّ الذي ينشئه النموذج على السؤال
safetyRatings[]
object (SafetyRating
)
تقييمات لأمان الإدخال يجب أن يكون هناك تقييم واحد كحد أقصى لكل فئة.
blockReason
enum (BlockReason
)
اختياريّ. في حال ضبط هذا الخيار، يتم حظر الإدخال ولا يتم عرض أيّ مرشّحين. إعادة صياغة الإدخال
تمثيل JSON |
---|
{ "safetyRatings": [ { object ( |
BlockReason
يحدّد سبب حظر الإدخال.
عمليات التعداد | |
---|---|
BLOCK_REASON_UNSPECIFIED |
القيمة التلقائية هذه القيمة غير مستخدَمة. |
SAFETY |
تم حظر الإدخال لأسباب تتعلق بالسلامة. راجِع safetyRatings لمعرفة فئة السلامة التي حظرت المحتوى. |
OTHER |
تم حظر الإدخال لأسباب أخرى. |