توفر واجهة برمجة التطبيقات الدلالية Retrieval API خدمة مُستضافة للإجابة على الأسئلة لإنشاء أنظمة Retreval Augmented Generation (RAG) باستخدام بنية Google الأساسية. للحصول على جولة تفصيلية، راجع دليل استرجاع الدلالة.
الطريقة: model.generateAnswer
- نقطة النهاية
- مَعلمات المسار
- نص الطلب
- نص الاستجابة
- نطاقات التفويض
- 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
. ستحظر واجهة برمجة التطبيقات أي محتوى أو ردّ لا يستوفي الحدّ الأدنى الذي تحدّده هذه الإعدادات. تلغي هذه القائمة الإعدادات التلقائية لكل SafetyCategory
محدّدة في "إعدادات الأمان". في حال عدم توفّر SafetySetting
لعنصر SafetyCategory
معيّن في القائمة، ستستخدم واجهة برمجة التطبيقات إعداد الأمان التلقائي لهذه الفئة. يمكن استخدام فئات المحتوى الضار 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
)
المحتوى الذي تم استرداده من الموارد التي تم إنشاؤها عبر واجهة برمجة التطبيقات 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 |
تم حظر الإدخال لأسباب أخرى. |