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