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
. Источники, в которых можно обосновать ответ. grounding_source
может быть только одним из следующих: inlinePassages
object ( GroundingPassages
)
Отрывки предоставлены вместе с запросом.
object ( SemanticRetrieverConfig )
semanticRetriever
Содержимое, полученное из ресурсов, созданных с помощью 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
— хороший стартовый порог.
inputFeedback
object ( 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
.
query
object ( Content
)
Необходимый. Запрос, используемый для сопоставления Chunk
в данном ресурсе по сходству.
metadataFilters[]
object ( MetadataFilter
)
Необязательный. Фильтры для выбора Document
и/или Chunk
из ресурса.
maxChunksCount
integer
Необязательный. Максимальное количество соответствующих Chunk
для извлечения.
minimumRelevanceScore
number
RelevanceScore Необязательный. Минимальная оценка релевантности для извлеченных соответствующих 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 | Ввод заблокирован по другим причинам. |