Method: models.generateAnswer

Генерирует обоснованный ответ из модели с учетом входных данных GenerateAnswerRequest .

HTTP-запрос

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

Параметры пути

Параметры
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 в списке, содержащем вопрос.

Примечание. 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.

Поле объединения grounding_source . Источники, в которых можно обосновать ответ. grounding_source может быть только одним из следующих:
inlinePassages

object ( GroundingPassages )

Отрывки предоставлены вместе с запросом.

semanticRetriever

object ( SemanticRetrieverConfig )

Содержимое, полученное из ресурсов, созданных с помощью API Semantic Retriever.

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

Для получения дополнительной информации см. Обзор аутентификации .

ЗаземлениеПроходы

Повторяющийся список отрывков.

JSON-представление
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Поля
passages[]

object ( GroundingPassage )

Список отрывков.

ЗаземлениеПроход

Проход включен в линию с конфигурацией заземления.

JSON-представление
{
  "id": string,
  "content": {
    object (Content)
  }
}
Поля
id

string

Идентификатор отрывка для приписывания этого отрывка в обоснованных ответах.

content

object ( Content )

Содержание отрывка.

SemanticRetrieverConfig

Конфигурация для получения основного контента из Corpus или Document , созданного с помощью API Semantic Retriever.

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 .

ОтветСтиль

Стиль для обоснованных ответов.

Перечисления
ANSWER_STYLE_UNSPECIFIED Неуказанный стиль ответа.
ABSTRACTIVE Краткий, но абстрактный стиль.
EXTRACTIVE Очень краткий и экстрактивный стиль.
VERBOSE Подробный стиль, включающий дополнительные детали. Ответ может быть отформатирован как предложение, абзац, несколько абзацев или маркеры и т. д.

Входная обратная связь

Обратная связь связана с входными данными, используемыми для ответа на вопрос, в отличие от ответа на вопрос, сгенерированного моделью.

JSON-представление
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Поля
safetyRatings[]

object ( SafetyRating )

Рейтинги безопасности ввода. В каждой категории может быть не более одного рейтинга.

blockReason

enum ( BlockReason )

Необязательный. Если установлено, ввод был заблокирован и кандидаты не возвращались. Перефразируйте свой ввод.

БлокПричина

Указывает причину блокировки ввода.

Перечисления
BLOCK_REASON_UNSPECIFIED Значение по умолчанию. Это значение не используется.
SAFETY Вход заблокирован по соображениям безопасности. Вы можете проверить safetyRatings чтобы понять, какая категория безопасности заблокировала его.
OTHER Ввод заблокирован по другим причинам.