Method: models.generateAnswer

لإنشاء جواب أساسي من النموذج المقدم للمدخل GenerateAnswerRequest.

طلب HTTP

POST https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

يستخدم عنوان URL بنية تحويل الترميز gRPC.

معلمات المسار

المَعلمات
model

string

مطلوبة. اسم Model المطلوب استخدامه لإنشاء استجابة أساسية.

تنسيق الملف: model=models/{model}

نص الطلب

يحتوي نص الطلب على بيانات بالبنية التالية:

تمثيل JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
الحقول
contents[]

object (Content)

مطلوبة. محتوى المحادثة الحالية مع النموذج. بالنسبة لطلبات البحث الأحادية، هذا سؤال واحد يجب الإجابة عنه. بالنسبة إلى طلبات البحث المتعدّدة الأدوار، هذا الحقل متكرّر يحتوي على سجلّ المحادثات وآخر Content في القائمة التي تحتوي على السؤال.

ملاحظة: تتيح model.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) في حالات استخدام ميزة "الإجابة عن الأسئلة المحالة".

نص الاستجابة

الاستجابة من النموذج لإجابة أساسية.

إذا كانت الاستجابة ناجحة، سيحتوي نص الاستجابة على بيانات بالبنية التالية:

تمثيل JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
الحقول
answer

object (Candidate)

إجابة المرشح من النموذج.

ملاحظة: يحاول النموذج دائمًا تقديم إجابة أساسية، حتى في حال كان من غير المحتمل أن تكون الإجابة قابلة للإجابة عنها من الفقرات المحددة. في هذه الحالة، قد يتم تقديم إجابة منخفضة الجودة أو غير صحيحة، بالإضافة إلى نسبة منخفضة من answerableProbability.

answerableProbability

number

النتائج فقط. يشير ذلك المصطلح إلى تقدير النموذج لاحتمالية أن تكون إجابته صحيحة وتستند إلى فقرات الإدخال.

يشير انخفاض الاحتمالية إلى أن الإجابة قد لا تستند إلى المصادر.

عندما يكون answerableProbability منخفضًا، قد يرغب بعض العملاء في:

  • عرض رسالة للمستخدم بتأثير "تعذّر علينا الإجابة عن هذا السؤال"
  • يمكن الرجوع إلى نموذج لغوي كبير (LLM) للأغراض العامة يجيب على سؤال من المعرفة العالمية. ويعتمد الحدّ الأدنى وطبيعة هذه العناصر الاحتياطية على حالات استخدام كل عميل. القيمة 0.5 هي نقطة بداية جيدة.
inputFeedback

object (InputFeedback)

النتائج فقط. الملاحظات المتعلقة ببيانات الإدخال المستخدمة للإجابة عن السؤال، في مقابل الإجابة التي ينشئها نموذج عن السؤال.

يمكن أن يكون "بيانات الإدخال" واحدًا أو أكثر مما يلي:

  • تم تحديد السؤال من خلال آخر إدخال في GenerateAnswerRequest.content.
  • سجلّ المحادثات المحدّد من خلال الإدخالات الأخرى في GenerateAnswerRequest.content
  • مصادر الأرض (GenerateAnswerRequest.semantic_retriever أو GenerateAnswerRequest.inline_passages)

نطاقات التفويض

يتطلب استخدام أحد نطاقات OAuth التالية:

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

لمزيد من المعلومات، يُرجى الاطّلاع على نظرة عامة على المصادقة.

GroundingPassages

قائمة متكررة من الفقرات.

تمثيل JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
الحقول
passages[]

object (GroundingPassage)

قائمة الفقرات

GroundingPassage

تم تضمين الفقرات مع تهيئة أرضية.

تمثيل JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
الحقول
id

string

معرّف الفقرة المنسوبة إلى هذه الفقرة في الإجابات الأساسية

content

object (Content)

محتوى الفقرة.

SemanticRetrieverConfig

إعدادات لاسترداد المحتوى الأساسي من Corpus أو Document التي تم إنشاؤها باستخدام واجهة برمجة التطبيقات Semantic Retriever 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

نمط للإجابات الأساسية

عمليات التعداد
ANSWER_STYLE_UNSPECIFIED نمط إجابة غير محدّد
ABSTRACTIVE أسلوب راقٍ ولكن تجريدي.
EXTRACTIVE أسلوب موجز جدًا واستخراجي
VERBOSE النمط المطوَّل بما في ذلك تفاصيل إضافية قد يتم تنسيق الرد كجملة أو فقرة أو فقرات متعددة أو نقاط تعداد، وما إلى ذلك.

InputFeedback

الملاحظات المتعلقة ببيانات الإدخال المستخدمة للإجابة عن السؤال، في مقابل الإجابة التي ينشئها نموذج عن السؤال.

تمثيل JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
الحقول
safetyRatings[]

object (SafetyRating)

تقييمات سلامة الإدخال يجب توفير تقييم واحد كحدّ أقصى لكل فئة.

blockReason

enum (BlockReason)

اختياريّ. وفي حال ضبطها، يتم حظر الإدخال ولا يتم عرض أي مرشح. أعد صياغة إدخالك.

BlockReason

تحدّد هذه السياسة سبب حظر الإدخال.

عمليات التعداد
BLOCK_REASON_UNSPECIFIED القيمة التلقائية. هذه القيمة غير مستخدمة.
SAFETY تم حظر الإدخال لأسباب تتعلق بالسلامة. يمكنك فحص "safetyRatings" لمعرفة فئة الأمان التي حظرتها.
OTHER تم حظر الإدخال لأسباب أخرى.