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

Примечание. 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 Ввод заблокирован по другим причинам.