Question answering

Semantic Retrieval API یک سرویس پاسخگویی به سوالات میزبانی شده را برای ساختن سیستم‌های Retrieval Augmented Generation (RAG) با استفاده از زیرساخت Google ارائه می‌کند. برای بررسی دقیق، راهنمای بازیابی معنایی را بررسی کنید.

روش: models.generateAnswer

یک پاسخ پایه از مدلی که یک ورودی GenerateAnswerRequest داده شده است ایجاد می کند.

نقطه پایانی

پست https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer

پارامترهای مسیر

string model

مورد نیاز. نام Model که برای تولید پاسخ زمینی استفاده می شود.

قالب: model=models/{model} . شکل models/{model} را می‌گیرد.

درخواست بدن

بدنه درخواست حاوی داده هایی با ساختار زیر است:

فیلدها
contents[] object ( Content )

مورد نیاز. محتوای گفتگوی فعلی با Model . برای پرس و جوهای تک نوبتی، باید به این یک سوال پاسخ داد. برای جستارهای چند نوبتی، این یک فیلد تکراری است که حاوی تاریخچه مکالمه و آخرین Content فهرست حاوی سؤال است.

توجه: models.generateAnswer فقط از درخواست‌های انگلیسی پشتیبانی می‌کند.

enum answerStyle enum ( AnswerStyle )

مورد نیاز. سبکی که در آن پاسخ ها باید برگردانده شوند.

شیء safetySettings[] object ( SafetySetting )

اختیاری. فهرستی از نمونه‌های SafetySetting منحصر به فرد برای مسدود کردن محتوای ناامن.

این در GenerateAnswerRequest.contents و GenerateAnswerResponse.candidate اعمال می شود. برای هر نوع SafetyCategory نباید بیش از یک تنظیم وجود داشته باشد. API هر محتوا و پاسخی را که نتواند آستانه تعیین شده توسط این تنظیمات را برآورده کند مسدود می کند. این فهرست تنظیمات پیش‌فرض را برای هر SafetyCategory مشخص‌شده در تنظیمات ایمنی لغو می‌کند. اگر هیچ SafetySetting برای یک SafetyCategory معین در لیست ارائه نشده باشد، API از تنظیمات ایمنی پیش‌فرض برای آن دسته استفاده می‌کند. دسته‌های آسیب 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.

number temperature

اختیاری. تصادفی بودن خروجی را کنترل می کند.

مقادیر می توانند از [0.0،1.0]، شامل متغیر باشند. یک مقدار نزدیکتر به 1.0 پاسخ‌هایی را تولید می‌کند که متنوع‌تر و خلاقانه‌تر هستند، در حالی که مقدار نزدیک‌تر به 0.0 معمولاً منجر به پاسخ‌های ساده‌تر از مدل می‌شود. دمای پایین (~0.2) معمولاً برای موارد استفاده Attributed-Question-Answering توصیه می شود.

بدن پاسخگو

پاسخ از مدل برای پاسخ پایه.

در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:

فیلدها
موضوع 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 (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

گذرگاه های زمینی

فهرست مکرر متن.

فیلدها
passages[] object ( GroundingPassage )

فهرست معابر.

نمایندگی JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

گذرگاه زمینی

گذرگاه به صورت خطی با پیکربندی زمینی گنجانده شده است.

فیلدها
id string

شناسه متن برای نسبت دادن این قطعه در پاسخ های مبتنی بر.

شی content object ( Content )

محتوای متن.

نمایندگی JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}

SemanticRetrieverConfig

پیکربندی برای بازیابی محتوای زمینی از یک Corpus یا Document ایجاد شده با استفاده از Semantic Retriever API.

فیلدها
string source

مورد نیاز. نام منبع برای بازیابی مثال: 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 (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

سبک پاسخ

سبک برای پاسخ های مبتنی بر.

Enums
ANSWER_STYLE_UNSPECIFIED سبک پاسخ نامشخص
ABSTRACTIVE سبک موجز اما انتزاعی.
EXTRACTIVE سبک بسیار مختصر و استخراجی.
VERBOSE سبک پرمخاطب شامل جزئیات اضافی. پاسخ ممکن است به صورت یک جمله، پاراگراف، چند پاراگراف یا نقطه گلوله و غیره شکل بگیرد.

InputFeedback

بازخورد مربوط به داده های ورودی مورد استفاده برای پاسخ به سؤال، برخلاف پاسخ تولید شده توسط مدل به سؤال.

فیلدها
safetyRatings[] object ( SafetyRating )

رتبه بندی برای ایمنی ورودی حداکثر یک رتبه برای هر دسته وجود دارد.

blockReason enum ( BlockReason )

اختیاری. در صورت تنظیم، ورودی مسدود شده است و هیچ نامزدی برگردانده نمی شود. ورودی را دوباره بیان کنید.

نمایندگی JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

مشخص می کند که دلیل مسدود شدن ورودی چه بوده است.

Enums
BLOCK_REASON_UNSPECIFIED مقدار پیش فرض این مقدار استفاده نشده است.
SAFETY ورودی به دلایل ایمنی مسدود شد. safetyRatings بررسی کنید تا متوجه شوید کدام دسته ایمنی آن را مسدود کرده است.
OTHER ورودی به دلایل دیگر مسدود شد.