API семантического поиска предоставляет размещенную службу ответов на вопросы для создания систем расширенной генерации поиска (RAG) с использованием инфраструктуры Google.
Метод: models.generateОтвет
- Конечная точка
- Параметры пути
- Текст запроса
- Тело ответа
- Области действия авторизации
- ЗаземлениеПроходы
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- ВводОбратная связь
- 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
не должно быть более одной настройки. API будет блокировать любой контент и ответы, которые не соответствуют пороговым значениям, установленным этими настройками. Этот список переопределяет настройки по умолчанию для каждой SafetyCategory
, указанной в safetySettings. Если для данной SafetyCategory
, указанной в списке, нет SafetySetting
, API будет использовать настройку безопасности по умолчанию для этой категории. Поддерживаются категории вреда HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT. Подробную информацию о доступных настройках безопасности см. в руководстве . Также см. руководство по безопасности , чтобы узнать, как включить соображения безопасности в ваши приложения ИИ.
grounding_source
Union type
grounding_source
может быть только одним из следующих: object ( GroundingPassages )
inlinePassages
Отрывки предоставлены в соответствии с запросом.
semanticRetriever
object ( SemanticRetrieverConfig
)
Контент, извлеченный из ресурсов, созданных с помощью API Semantic Retriever.
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
— хороший начальный порог.
object ( InputFeedback )
inputFeedback
Только вывод. Обратная связь, связанная с входными данными, используемыми для ответа на вопрос, в отличие от ответа на вопрос, сгенерированного моделью.
Входными данными могут быть одно или несколько из следующих:
- Вопрос, указанный в последней записи в
GenerateAnswerRequest.content
- История разговоров, указанная в других записях в
GenerateAnswerRequest.content
- Источники заземления (
GenerateAnswerRequest.semantic_retriever
илиGenerateAnswerRequest.inline_passages
)
JSON-представление |
---|
{ "answer": { object ( |
ЗаземлениеПроходы
Повторяющийся список отрывков.
passages[]
object ( GroundingPassage
)
Список отрывков.
JSON-представление |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Конфигурация для извлечения базового контента из Corpus
или Document
, созданного с использованием API семантического извлечения.
source
string
Обязательно. Имя ресурса для поиска. Пример: corpora/123
или corpora/123/documents/abc
.
object ( Content )
query
Обязательно. Запрос, который будет использоваться для сопоставления Chunk
в указанном ресурсе по сходству.
object ( MetadataFilter )
metadataFilters[]
Необязательно. Фильтры для выбора Document
и/или Chunk
из ресурса.
maxChunksCount
integer
Необязательно. Максимальное количество соответствующих Chunk
для извлечения.
minimumRelevanceScore
number
Необязательно. Минимальная оценка релевантности для извлеченных релевантных Chunk
.
JSON-представление |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Стиль для обоснованных ответов.
Перечисления | |
---|---|
ANSWER_STYLE_UNSPECIFIED | Неопределенный стиль ответа. |
ABSTRACTIVE | Лаконичный, но абстрактный стиль. |
EXTRACTIVE | Очень краткий и содержательный стиль. |
VERBOSE | Подробный стиль, включающий дополнительные детали. Ответ может быть отформатирован как предложение, абзац, несколько абзацев или маркеров и т. д. |
ВводОбратная связь
Обратная связь, связанная с входными данными, использованными для ответа на вопрос, в отличие от ответа на вопрос, сгенерированного моделью.
safetyRatings[]
object ( SafetyRating
)
Рейтинги безопасности ввода. Максимум один рейтинг на категорию.
blockReason
enum ( BlockReason
)
Необязательно. Если установлено, ввод был заблокирован и кандидаты не возвращаются. Перефразируйте ввод.
JSON-представление |
---|
{ "safetyRatings": [ { object ( |
BlockReason
Указывает причину блокировки ввода.
Перечисления | |
---|---|
BLOCK_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SAFETY | Ввод заблокирован по соображениям безопасности. Проверьте safetyRatings , чтобы понять, какая категория безопасности его заблокировала. |
OTHER | Ввод был заблокирован по другим причинам. |