API Gemini поддерживает создание контента с использованием изображений, аудио, кода, инструментов и многого другого. Подробнее о каждой из этих функций читайте далее и изучите примеры кода, ориентированные на конкретные задачи, или ознакомьтесь с подробными руководствами.
- Генерация текста
- Зрение
- Аудио
- Вложения
- Длинный контекст
- Выполнение кода
- Режим JSON
- Вызов функции
- Системные инструкции
Метод: models.generateContent
Генерирует ответ модели на основе входных данных GenerateContentRequest
. Подробную информацию об использовании см. в руководстве по генерации текста . Возможности ввода различаются в зависимости от модели, включая настроенные модели. Подробную информацию см. в руководстве по моделям и руководстве по настройке .
Конечная точка
постhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateContent
Параметры пути
string
model
Обязательно. Имя Model
, используемой для создания дополнения.
Формат: models/{model}
. Он имеет вид models/{model}
.
Текст запроса
Тело запроса содержит данные со следующей структурой:
tools[]
object ( Tool
)
Необязательно. Список Tools
Model
может использовать для генерации следующего ответа.
Tool
— это фрагмент кода, позволяющий системе взаимодействовать с внешними системами для выполнения действия или набора действий, выходящих за рамки знаний и области действия Model
. Поддерживаемые Tool
: Function
и codeExecution
. Подробнее см. в руководствах по вызову функций и выполнению кода .
toolConfig
object ( ToolConfig
)
Необязательно. Конфигурация инструмента для любого Tool
, указанного в запросе. Пример использования см. в руководстве по вызову функций .
safetySettings[]
object ( SafetySetting
)
Необязательно. Список уникальных экземпляров SafetySetting
для блокировки небезопасного контента.
Это будет применяться к GenerateContentRequest.contents
и GenerateContentResponse.candidates
. Для каждого типа SafetyCategory
не должно быть более одной настройки. API будет блокировать любой контент и ответы, не соответствующие пороговым значениям, установленным этими настройками. Этот список переопределяет настройки по умолчанию для каждой SafetyCategory
, указанной в safetySettings. Если в списке нет SafetySetting
для заданной SafetyCategory
, API будет использовать настройку безопасности по умолчанию для этой категории. Поддерживаются категории вреда HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY. Подробную информацию о доступных настройках безопасности см. в руководстве . Также см. руководство по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях ИИ.
object ( Content )
systemInstruction
Необязательно. Системные инструкции, заданные разработчиком. В настоящее время доступен только текст.
object ( GenerationConfig )
generationConfig
Необязательно. Параметры конфигурации для создания модели и вывода данных.
string
cachedContent
Необязательно. Имя кэшированного контента, который будет использоваться в качестве контекста для прогнозирования. Формат: cachedContents/{cachedContent}
Пример запроса
Текст
Питон
Node.js
Идти
Оболочка
Ява
Изображение
Питон
Node.js
Идти
Оболочка
Ява
Аудио
Питон
Node.js
Идти
Оболочка
Видео
Питон
Node.js
Идти
Оболочка
Питон
Идти
Оболочка
Чат
Питон
Node.js
Идти
Оболочка
Ява
Кэш
Питон
Node.js
Идти
Настроенная модель
Питон
Режим JSON
Питон
Node.js
Идти
Оболочка
Ява
Выполнение кода
Питон
Идти
Ява
Вызов функции
Питон
Идти
Node.js
Оболочка
Ява
Конфигурация генерации
Питон
Node.js
Идти
Оболочка
Ява
Настройки безопасности
Питон
Node.js
Идти
Оболочка
Ява
Системная инструкция
Питон
Node.js
Идти
Оболочка
Ява
Тело ответа
В случае успеха тело ответа содержит экземпляр GenerateContentResponse
.
Метод: models.streamGenerateContent
Формирует потоковый ответ из модели, получив входные данные GenerateContentRequest
.
Конечная точка
постhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:streamGenerateContent
Параметры пути
string
model
Обязательно. Имя Model
, используемой для создания дополнения.
Формат: models/{model}
. Он имеет вид models/{model}
.
Текст запроса
Тело запроса содержит данные со следующей структурой:
tools[]
object ( Tool
)
Необязательно. Список Tools
Model
может использовать для генерации следующего ответа.
Tool
— это фрагмент кода, позволяющий системе взаимодействовать с внешними системами для выполнения действия или набора действий, выходящих за рамки знаний и области действия Model
. Поддерживаемые Tool
: Function
и codeExecution
. Подробнее см. в руководствах по вызову функций и выполнению кода .
toolConfig
object ( ToolConfig
)
Необязательно. Конфигурация инструмента для любого Tool
, указанного в запросе. Пример использования см. в руководстве по вызову функций .
safetySettings[]
object ( SafetySetting
)
Необязательно. Список уникальных экземпляров SafetySetting
для блокировки небезопасного контента.
Это будет применяться к GenerateContentRequest.contents
и GenerateContentResponse.candidates
. Для каждого типа SafetyCategory
не должно быть более одной настройки. API будет блокировать любой контент и ответы, не соответствующие пороговым значениям, установленным этими настройками. Этот список переопределяет настройки по умолчанию для каждой SafetyCategory
, указанной в safetySettings. Если в списке нет SafetySetting
для заданной SafetyCategory
, API будет использовать настройку безопасности по умолчанию для этой категории. Поддерживаются категории вреда HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT, HARM_CATEGORY_CIVIC_INTEGRITY. Подробную информацию о доступных настройках безопасности см. в руководстве . Также см. руководство по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях ИИ.
object ( Content )
systemInstruction
Необязательно. Системные инструкции, заданные разработчиком. В настоящее время доступен только текст.
object ( GenerationConfig )
generationConfig
Необязательно. Параметры конфигурации для создания модели и вывода данных.
string
cachedContent
Необязательно. Имя кэшированного контента, который будет использоваться в качестве контекста для прогнозирования. Формат: cachedContents/{cachedContent}
Пример запроса
Текст
Питон
Node.js
Идти
Оболочка
Ява
Изображение
Питон
Node.js
Идти
Оболочка
Ява
Аудио
Питон
Идти
Оболочка
Видео
Питон
Node.js
Идти
Оболочка
Питон
Идти
Оболочка
Чат
Питон
Node.js
Идти
Оболочка
Тело ответа
В случае успеха тело ответа содержит поток экземпляров GenerateContentResponse
.
GenerateContentResponse
Ответ модели, поддерживающей несколько возможных ответов.
Рейтинги безопасности и фильтрация контента отображаются как для запроса в GenerateContentResponse.prompt_feedback
, так и для каждого кандидата в finishReason
и safetyRatings
. API: - Возвращает либо всех запрошенных кандидатов, либо ни одного. - Не возвращает ни одного кандидата, только если в запросе есть ошибка (проверьте promptFeedback
). - Сообщает отзывы по каждому кандидату в finishReason
и safetyRatings
.
candidates[]
object ( Candidate
)
Ответы кандидатов от модели.
object ( PromptFeedback )
promptFeedback
Возвращает обратную связь по подсказке, связанную с фильтрами контента.
usageMetadata
object ( UsageMetadata
)
Только вывод. Метаданные об использовании токенов запросов на генерацию.
string
modelVersion
Только выходные данные. Версия модели, использованная для генерации ответа.
string
responseId
Только вывод. responseId используется для идентификации каждого ответа.
JSON-представление |
---|
{ "candidates": [ { object ( |
PromptFeedback
Набор метаданных обратной связи, указанный в приглашении GenerateContentRequest.content
.
blockReason
enum ( BlockReason
)
Необязательно. Если установлено, запрос был заблокирован, и кандидаты не возвращаются. Перефразируйте запрос.
safetyRatings[]
object ( SafetyRating
)
Оценки безопасности подсказки. В каждой категории может быть не более одной оценки.
JSON-представление |
---|
{ "blockReason": enum ( |
BlockReason
Указывает причину, по которой запрос был заблокирован.
Перечисления | |
---|---|
BLOCK_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SAFETY | Запрос был заблокирован по соображениям безопасности. Проверьте safetyRatings , чтобы понять, какая категория безопасности его заблокировала. |
OTHER | Запрос был заблокирован по неизвестным причинам. |
BLOCKLIST | Запрос был заблокирован из-за терминов, включенных в список заблокированных терминов. |
PROHIBITED_CONTENT | Запрос был заблокирован из-за запрещенного контента. |
IMAGE_SAFETY | Кандидаты заблокированы из-за небезопасного контента, создающего изображения. |
ИспользованиеМетаданных
Метаданные об использовании токена запроса на генерацию.
promptTokenCount
integer
Количество токенов в запросе. Если задано значение cachedContent
, это по-прежнему общий эффективный размер запроса, то есть он включает количество токенов в кэшированном контенте.
cachedContentTokenCount
integer
Количество токенов в кэшированной части приглашения (кэшированное содержимое)
candidatesTokenCount
integer
Общее количество токенов среди всех сгенерированных кандидатов на ответы.
toolUsePromptTokenCount
integer
Только вывод. Количество токенов, присутствующих в подсказках по использованию инструментов.
thoughtsTokenCount
integer
Только вывод. Количество токенов мыслей для моделей мышления.
totalTokenCount
integer
Общее количество токенов для запроса на генерацию (подсказка + кандидаты на ответ).
promptTokensDetails[]
object ( ModalityTokenCount
)
Только вывод. Список модальностей, обработанных при вводе запроса.
cacheTokensDetails[]
object ( ModalityTokenCount
)
Только вывод. Список модальностей кэшированного содержимого во входных данных запроса.
candidatesTokensDetails[]
object ( ModalityTokenCount
)
Только вывод. Список модальностей, возвращенных в ответе.
toolUsePromptTokensDetails[]
object ( ModalityTokenCount
)
Только вывод. Список модальностей, обработанных для входных данных запросов на использование инструментов.
JSON-представление |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "toolUsePromptTokenCount": integer, "thoughtsTokenCount": integer, "totalTokenCount": integer, "promptTokensDetails": [ { object ( |
Кандидат
- JSON-представление
- FinishReason
- GroundingAttribution
- AttributionSourceId
- GroundingPassageId
- SemanticRetrieverChunk
- GroundingMetadata
- SearchEntryPoint
- GroundingChunk
- Интернет
- ПолученныйКонтекст
- GroundingSupport
- Сегмент
- ИзвлечениеМетаданных
- LogprobsResult
- Лучшие кандидаты
- Кандидат
- UrlContextMetadata
- UrlMetadata
- UrlRetrievalStatus
Кандидат на ответ, сгенерированный на основе модели.
content
object ( Content
)
Только вывод. Сгенерированный контент, возвращаемый моделью.
finishReason
enum ( FinishReason
)
Необязательно. Только вывод. Причина, по которой модель перестала генерировать токены.
Если пусто, модель не прекратила генерацию токенов.
safetyRatings[]
object ( SafetyRating
)
Список оценок безопасности кандидата на ответ.
В каждой категории может быть максимум один рейтинг.
object ( CitationMetadata )
citationMetadata
Только вывод. Информация о цитировании для кандидата, сгенерированного моделью.
Это поле может быть заполнено информацией о декламации любого текста, входящего в content
. Это отрывки, декламируемые из материалов, защищенных авторским правом, в базовых учебных материалах LLM.
tokenCount
integer
Только вывод. Количество токенов для этого кандидата.
groundingAttributions[]
object ( GroundingAttribution
)
Только выходные данные. Информация об источниках, которые способствовали обоснованному ответу.
Это поле заполняется для вызовов GenerateAnswer
.
object ( GroundingMetadata )
groundingMetadata
Только вывод. Базовые метаданные для кандидата.
Это поле заполняется для вызовов GenerateContent
.
number
avgLogprobs
Только вывод. Средний логарифм вероятности кандидата.
object ( LogprobsResult )
logprobsResult
Только выходные данные. Логарифмические оценки правдоподобия для токенов ответов и топовых токенов.
object ( UrlContextMetadata )
urlContextMetadata
Только вывод. Метаданные, относящиеся к инструменту извлечения контекста URL.
index
integer
Только вывод. Индекс кандидата в списке кандидатов на ответ.
string
finishMessage
Необязательно. Только для вывода. Содержит подробную информацию о причине, по которой модель прекратила генерировать токены. Заполняется только при установленном параметре finishReason
.
JSON-представление |
---|
{ "content": { object ( |
FinishReason
Определяет причину, по которой модель прекратила генерацию токенов.
Перечисления | |
---|---|
FINISH_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
STOP | Естественная точка остановки модели или предусмотренная последовательность останова. |
MAX_TOKENS | Достигнуто максимальное количество токенов, указанное в запросе. |
SAFETY | Содержание кандидата на ответ было помечено по соображениям безопасности. |
RECITATION | Содержание кандидата на ответ было помечено по причине декламации. |
LANGUAGE | Содержимое варианта ответа было помечено как использующее неподдерживаемый язык. |
OTHER | Причина неизвестна. |
BLOCKLIST | Генерация токенов остановлена, поскольку контент содержит запрещенные термины. |
PROHIBITED_CONTENT | Генерация токенов остановлена из-за потенциального содержания запрещенного контента. |
SPII | Генерация токенов остановлена, поскольку контент потенциально содержит конфиденциальную персональную информацию (SPII). |
MALFORMED_FUNCTION_CALL | Вызов функции, сгенерированный моделью, недействителен. |
IMAGE_SAFETY | Генерация токенов остановлена, поскольку сгенерированные изображения содержат нарушения безопасности. |
IMAGE_PROHIBITED_CONTENT | Генерация изображений остановлена, поскольку созданные изображения содержат другой запрещенный контент. |
IMAGE_OTHER | Генерация изображений остановлена из-за других проблем. |
NO_IMAGE | Ожидалось, что модель сгенерирует изображение, но ничего не было создано. |
IMAGE_RECITATION | Генерация изображения остановлена из-за декламации. |
UNEXPECTED_TOOL_CALL | Модель сгенерировала вызов инструмента, но в запросе не было включено ни одного инструмента. |
TOO_MANY_TOOL_CALLS | Модель вызвала слишком много инструментов подряд, поэтому система прекратила выполнение. |
GroundingAttribution
Указание источника, способствовавшего получению ответа.
sourceId
object ( AttributionSourceId
)
Только вывод. Идентификатор источника, способствующего этой атрибуции.
content
object ( Content
)
Обоснование исходного контента, составляющего эту атрибуцию.
JSON-представление |
---|
{ "sourceId": { object ( |
AttributionSourceId
Идентификатор источника, способствующего данной атрибуции.
Union type
source
source
может быть только одним из следующих: object ( GroundingPassageId )
groundingPassage
Идентификатор встроенного отрывка.
object ( SemanticRetrieverChunk )
semanticRetrieverChunk
Идентификатор Chunk
, полученного с помощью семантического ретривера.
JSON-представление |
---|
{ // source "groundingPassage": { object ( |
GroundingPassageId
Идентификатор части внутри GroundingPassage
.
string
passageId
Только вывод. Идентификатор прохода, соответствующий GroundingPassage.id
GenerateAnswerRequest
.
partIndex
integer
Только вывод. Индекс части в GroundingPassage.content
GenerateAnswerRequest
.
JSON-представление |
---|
{ "passageId": string, "partIndex": integer } |
SemanticRetrieverChunk
Идентификатор Chunk
, полученного с помощью Semantic Retriever, указанный в GenerateAnswerRequest
с использованием SemanticRetrieverConfig
.
source
string
Только вывод. Имя источника, соответствующее SemanticRetrieverConfig.source
запроса. Пример: corpora/123
или corpora/123/documents/abc
chunk
string
Только вывод. Имя Chunk
содержащего атрибутированный текст. Пример: corpora/123/documents/abc/chunks/xyz
JSON-представление |
---|
{ "source": string, "chunk": string } |
GroundingMetadata
Метаданные возвращаются клиенту при включении заземления.
groundingChunks[]
object ( GroundingChunk
)
Список подтверждающих ссылок, полученных из указанного источника заземления.
groundingSupports[]
object ( GroundingSupport
)
Список заземляющих опор.
webSearchQueries[]
string
Запросы веб-поиска для последующего веб-поиска.
object ( SearchEntryPoint )
searchEntryPoint
Необязательно. Запись в поисковой системе Google для последующих веб-поисков.
object ( RetrievalMetadata )
retrievalMetadata
Метаданные, связанные с поиском в заземляющем потоке.
JSON-представление |
---|
{ "groundingChunks": [ { object ( |
SearchEntryPoint
Точка входа в поиск Google.
string
renderedContent
Необязательно. Фрагмент веб-контента, который можно встроить в веб-страницу или веб-представление приложения.
sdkBlob
string ( bytes format)
Необязательно. JSON-код в кодировке Base64, представляющий собой массив кортежей <поисковый запрос, URL поиска>.
Строка в кодировке base64.
JSON-представление |
---|
{ "renderedContent": string, "sdkBlob": string } |
GroundingChunk
Кусок заземления.
chunk_type
Union type
chunk_type
может быть только одним из следующих:web
object ( Web
)
Заземляющий кусок из сети.
object ( RetrievedContext )
retrievedContext
Необязательно. Фрагмент заземления из контекста, полученного инструментом поиска файлов.
JSON-представление |
---|
{ // chunk_type "web": { object ( |
Интернет
Фрагмент из интернета.
string
uri
URI-ссылка фрагмента.
string
title
Название фрагмента.
JSON-представление |
---|
{ "uri": string, "title": string } |
ПолученныйКонтекст
Фрагмент контекста, извлеченный инструментом поиска файлов.
string
uri
Необязательно. URI-ссылка на документ семантического поиска.
string
title
Необязательно. Название документа.
text
string
Необязательно. Текст фрагмента.
JSON-представление |
---|
{ "uri": string, "title": string, "text": string } |
GroundingSupport
Поддержка заземления.
groundingChunkIndices[]
integer
Список индексов (в «grounding_chunk»), указывающих ссылки, связанные с утверждением. Например, [1,3,4] означает, что grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] — это извлеченный контент, относящийся к утверждению.
number
confidenceScores[]
Уровень уверенности в опорных данных. Диапазон значений — от 0 до 1. 1 — максимальная уверенность. Этот список должен иметь тот же размер, что и groundingChunkIndices.
segment
object ( Segment
)
Сегмент контента, к которому принадлежит эта поддержка.
JSON-представление |
---|
{
"groundingChunkIndices": [
integer
],
"confidenceScores": [
number
],
"segment": {
object ( |
Сегмент
Сегмент контента.
partIndex
integer
Только вывод. Индекс объекта Part внутри его родительского объекта Content.
startIndex
integer
Только вывод. Начальный индекс в заданной части, измеряется в байтах. Смещение от начала части включительно, начиная с нуля.
endIndex
integer
Только вывод. Конечный индекс в заданной части, измеряется в байтах. Смещение от начала части, не включая её, начиная с нуля.
text
string
Только вывод. Текст, соответствующий сегменту ответа.
JSON-представление |
---|
{ "partIndex": integer, "startIndex": integer, "endIndex": integer, "text": string } |
ИзвлечениеМетаданных
Метаданные, связанные с поиском в заземляющем потоке.
number
googleSearchDynamicRetrievalScore
Необязательно. Оценка, указывающая вероятность того, что информация из поиска Google может помочь в ответе на запрос. Оценка находится в диапазоне [0, 1], где 0 — наименьшая вероятность, а 1 — наибольшая. Эта оценка рассчитывается только при включенном поиске Google Grounding и динамическом поиске. Она будет сравниваться с пороговым значением для определения необходимости запуска поиска Google.
JSON-представление |
---|
{ "googleSearchDynamicRetrievalScore": number } |
LogprobsResult
Результат логпроб
topCandidates[]
object ( TopCandidates
)
Длина = общее количество шагов декодирования.
chosenCandidates[]
object ( Candidate
)
Длина = общее количество шагов декодирования. Выбранные кандидаты могут быть в списке topCandidates, а могут и не быть.
number
logProbabilitySum
Сумма логарифмических вероятностей для всех токенов.
JSON-представление |
---|
{ "topCandidates": [ { object ( |
Лучшие кандидаты
Кандидаты с наивысшими логарифмическими вероятностями на каждом этапе декодирования.
candidates[]
object ( Candidate
)
Сортировано по логарифмической вероятности в порядке убывания.
JSON-представление |
---|
{
"candidates": [
{
object ( |
Кандидат
Кандидат на получение токена и оценки logprobs.
string
token
Значение строки токена кандидата.
tokenId
integer
Значение идентификатора токена кандидата.
number
logProbability
Логарифм вероятности кандидата.
JSON-представление |
---|
{ "token": string, "tokenId": integer, "logProbability": number } |
UrlContextMetadata
Метаданные, связанные с инструментом извлечения контекста URL.
object ( UrlMetadata )
urlMetadata[]
Список контекстов URL.
JSON-представление |
---|
{
"urlMetadata": [
{
object ( |
UrlMetadata
Контекст поиска по одному URL.
retrievedUrl
string
URL-адрес, полученный инструментом.
urlRetrievalStatus
enum ( UrlRetrievalStatus
)
Статус получения URL.
JSON-представление |
---|
{
"retrievedUrl": string,
"urlRetrievalStatus": enum ( |
UrlRetrievalStatus
Статус получения URL.
Перечисления | |
---|---|
URL_RETRIEVAL_STATUS_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
URL_RETRIEVAL_STATUS_SUCCESS | Получение URL прошло успешно. |
URL_RETRIEVAL_STATUS_ERROR | Не удалось получить URL из-за ошибки. |
URL_RETRIEVAL_STATUS_PAYWALL | Не удалось получить URL, так как контент находится за платным доступом. |
URL_RETRIEVAL_STATUS_UNSAFE | Не удалось получить URL, так как содержимое небезопасно. |
CitationMetadata
Коллекция ссылок на источники фрагмента контента.
citationSources[]
object ( CitationSource
)
Ссылки на источники для конкретного ответа.
JSON-представление |
---|
{
"citationSources": [
{
object ( |
Источник цитаты
Ссылка на источник части конкретного ответа.
startIndex
integer
Необязательно. Начало сегмента ответа, относящегося к этому источнику.
Индекс указывает начало сегмента, измеряемое в байтах.
endIndex
integer
Необязательно. Конец атрибутированного сегмента, эксклюзивный.
string
uri
Необязательно. URI, который указывается как источник части текста.
string
license
Необязательно. Лицензия на проект GitHub, указанный в качестве источника сегмента.
Для цитирования кода необходима информация о лицензии.
JSON-представление |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
GenerationConfig
- JSON-представление
- Модальность
- SpeechConfig
- VoiceConfig
- Предварительно созданная голосовая конфигурация
- MultiSpeakerVoiceConfig
- SpeakerVoiceConfig
- ThinkingConfig
- ImageConfig
- MediaResolution
Параметры конфигурации для создания модели и выходных данных. Не все параметры можно настроить для каждой модели.
stopSequences[]
string
Необязательный. Набор последовательностей символов (до 5), которые остановят генерацию вывода. Если указано, API остановит работу при первом появлении stop_sequence
. Последовательность stop не будет включена в ответ.
string
responseMimeType
Необязательно. MIME-тип сгенерированного текста-кандидата. Поддерживаемые MIME-типы: text/plain
: текстовый вывод (по умолчанию). application/json
: ответ JSON в ответах-кандидатах. text/x.enum
: ENUM в виде строкового ответа в ответах-кандидатах. Список всех поддерживаемых MIME-типов текста см. в документации .
object ( Schema )
responseSchema
Необязательно. Выходная схема сгенерированного текста-кандидата. Схемы должны быть подмножеством схемы OpenAPI и могут быть объектами, примитивами или массивами.
Если задано, также необходимо задать совместимый responseMimeType
. Совместимые типы MIME: application/json
— схема для ответа JSON. Подробнее см. в руководстве по генерации текста JSON .
_responseJsonSchema
value ( Value
format)
Необязательно. Схема выходных данных сгенерированного ответа. Это альтернатива responseSchema
, которая принимает JSON-схему .
Если установлено, responseSchema
необходимо опустить, но responseMimeType
обязателен.
Хотя возможна отправка полной JSON-схемы, поддерживаются не все функции. В частности, поддерживаются только следующие свойства:
-
$id
-
$defs
-
$ref
-
$anchor
-
type
-
format
-
title
-
description
-
enum
(для строк и чисел) -
items
-
prefixItems
-
minItems
-
maxItems
-
minimum
-
maximum
-
anyOf
-
oneOf
(интерпретируется так же, какanyOf
) -
properties
-
additionalProperties
-
required
Также может быть установлено нестандартное свойство propertyOrdering
.
Циклические ссылки развертываются в ограниченной степени и, как таковые, могут использоваться только в необязательных свойствах. (Свойства, допускающие значение NULL, недостаточны.) Если $ref
задан для подсхемы, то никакие другие свойства, за исключением тех, которые начинаются с $
, не могут быть заданы.
responseJsonSchema
value ( Value
format)
Необязательно. Внутренняя информация. Используйте responseJsonSchema
вместо этого поля.
responseModalities[]
enum ( Modality
)
Необязательный параметр. Запрошенные модальности ответа. Представляет набор модальностей, которые модель может вернуть и которые следует ожидать в ответе. Это точное совпадение с модальностями ответа.
Модель может иметь несколько комбинаций поддерживаемых модальностей. Если запрошенные модальности не соответствуют ни одной из поддерживаемых комбинаций, будет возвращена ошибка.
Пустой список эквивалентен запросу только текста.
candidateCount
integer
Необязательно. Количество возвращаемых сгенерированных ответов. Если не задано, по умолчанию будет 1. Обратите внимание, что это не работает для моделей предыдущего поколения (семейство Gemini 1.0).
maxOutputTokens
integer
Необязательно. Максимальное количество токенов для включения в вариант ответа.
Примечание: значение по умолчанию зависит от модели, см. атрибут Model.output_token_limit
Model
, возвращаемой функцией getModel
.
temperature
number
Необязательно. Управляет случайностью выходных данных.
Примечание: значение по умолчанию зависит от модели, см. атрибут Model.temperature
Model
, возвращаемый функцией getModel
.
Значения могут находиться в диапазоне [0,0, 2,0].
number
topP
Необязательно. Максимальная кумулятивная вероятность токенов, учитываемая при выборке.
Модель использует комбинированную выборку Top-k и Top-p (ядро).
Токены сортируются на основе присвоенных им вероятностей, так что рассматриваются только наиболее вероятные токены. Выборка Top-k напрямую ограничивает максимальное количество рассматриваемых токенов, в то время как выборка Nucleus ограничивает количество токенов на основе кумулятивной вероятности.
Примечание: Значение по умолчанию зависит от Model
и определяется атрибутом Model.top_p
, возвращаемым функцией getModel
. Пустой атрибут topK
указывает, что модель не применяет выборку top-k и не позволяет устанавливать topK
для запросов.
topK
integer
Необязательно. Максимальное количество токенов, учитываемых при выборке.
Модели Gemini используют выборку Top-p (ядерную) или комбинацию выборки Top-k и ядерной выборки. Выборка Top-k учитывает набор наиболее вероятных токенов topK
. Модели, работающие с выборкой ядра, не позволяют настраивать topK.
Примечание: Значение по умолчанию зависит от Model
и определяется атрибутом Model.top_p
, возвращаемым функцией getModel
. Пустой атрибут topK
указывает, что модель не применяет выборку top-k и не позволяет устанавливать topK
для запросов.
seed
integer
Необязательно. Начальное значение, используемое при декодировании. Если не задано, запрос использует случайно сгенерированное начальное значение.
presencePenalty
number
Optional. Presence penalty applied to the next token's logprobs if the token has already been seen in the response.
This penalty is binary on/off and not dependant on the number of times the token is used (after the first). Use frequencyPenalty
for a penalty that increases with each use.
A positive penalty will discourage the use of tokens that have already been used in the response, increasing the vocabulary.
A negative penalty will encourage the use of tokens that have already been used in the response, decreasing the vocabulary.
frequencyPenalty
number
Optional. Frequency penalty applied to the next token's logprobs, multiplied by the number of times each token has been seen in the respponse so far.
A positive penalty will discourage the use of tokens that have already been used, proportional to the number of times the token has been used: The more a token is used, the more difficult it is for the model to use that token again increasing the vocabulary of responses.
Caution: A negative penalty will encourage the model to reuse tokens proportional to the number of times the token has been used. Small negative values will reduce the vocabulary of a response. Larger negative values will cause the model to start repeating a common token until it hits the maxOutputTokens
limit.
responseLogprobs
boolean
Optional. If true, export the logprobs results in response.
logprobs
integer
Optional. Only valid if responseLogprobs=True
. This sets the number of top logprobs to return at each decoding step in the Candidate.logprobs_result
. The number must be in the range of [0, 20].
enableEnhancedCivicAnswers
boolean
Optional. Enables enhanced civic answers. It may not be available for all models.
speechConfig
object ( SpeechConfig
)
Optional. The speech generation config.
thinkingConfig
object ( ThinkingConfig
)
Optional. Config for thinking features. An error will be returned if this field is set for models that don't support thinking.
imageConfig
object ( ImageConfig
)
Optional. Config for image generation. An error will be returned if this field is set for models that don't support these config options.
mediaResolution
enum ( MediaResolution
)
Optional. If specified, the media resolution specified will be used.
JSON representation |
---|
{ "stopSequences": [ string ], "responseMimeType": string, "responseSchema": { object ( |
Модальность
Supported modalities of the response.
Перечисления | |
---|---|
MODALITY_UNSPECIFIED | Default value. |
TEXT | Indicates the model should return text. |
IMAGE | Indicates the model should return images. |
AUDIO | Indicates the model should return audio. |
SpeechConfig
The speech generation config.
voiceConfig
object ( VoiceConfig
)
The configuration in case of single-voice output.
multiSpeakerVoiceConfig
object ( MultiSpeakerVoiceConfig
)
Optional. The configuration for the multi-speaker setup. It is mutually exclusive with the voiceConfig field.
languageCode
string
Optional. Language code (in BCP 47 format, eg "en-US") for speech synthesis.
Valid values are: de-DE, en-AU, en-GB, en-IN, en-US, es-US, fr-FR, hi-IN, pt-BR, ar-XA, es-ES, fr-CA, id-ID, it-IT, ja-JP, tr-TR, vi-VN, bn-IN, gu-IN, kn-IN, ml-IN, mr-IN, ta-IN, te-IN, nl-NL, ko-KR, cmn-CN, pl-PL, ru-RU, and th-TH.
JSON representation |
---|
{ "voiceConfig": { object ( |
VoiceConfig
The configuration for the voice to use.
voice_config
Union type
voice_config
can be only one of the following: prebuiltVoiceConfig
object ( PrebuiltVoiceConfig
)
The configuration for the prebuilt voice to use.
JSON representation |
---|
{
// voice_config
"prebuiltVoiceConfig": {
object ( |
PrebuiltVoiceConfig
The configuration for the prebuilt speaker to use.
voiceName
string
The name of the preset voice to use.
JSON representation |
---|
{ "voiceName": string } |
MultiSpeakerVoiceConfig
The configuration for the multi-speaker setup.
speakerVoiceConfigs[]
object ( SpeakerVoiceConfig
)
Required. All the enabled speaker voices.
JSON representation |
---|
{
"speakerVoiceConfigs": [
{
object ( |
SpeakerVoiceConfig
The configuration for a single speaker in a multi speaker setup.
speaker
string
Required. The name of the speaker to use. Should be the same as in the prompt.
voiceConfig
object ( VoiceConfig
)
Required. The configuration for the voice to use.
JSON representation |
---|
{
"speaker": string,
"voiceConfig": {
object ( |
ThinkingConfig
Config for thinking features.
includeThoughts
boolean
Indicates whether to include thoughts in the response. If true, thoughts are returned only when available.
thinkingBudget
integer
The number of thoughts tokens that the model should generate.
JSON representation |
---|
{ "includeThoughts": boolean, "thinkingBudget": integer } |
ImageConfig
Config for image generation features.
aspectRatio
string
Optional. The aspect ratio of the image to generate. Supported aspect ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, 16:9, 21:9.
If not specified, the model will choose a default aspect ratio based on any reference images provided.
JSON representation |
---|
{ "aspectRatio": string } |
MediaResolution
Media resolution for the input media.
Перечисления | |
---|---|
MEDIA_RESOLUTION_UNSPECIFIED | Media resolution has not been set. |
MEDIA_RESOLUTION_LOW | Media resolution set to low (64 tokens). |
MEDIA_RESOLUTION_MEDIUM | Media resolution set to medium (256 tokens). |
MEDIA_RESOLUTION_HIGH | Media resolution set to high (zoomed reframing with 256 tokens). |
HarmCategory
The category of a rating.
These categories cover various kinds of harms that developers may wish to adjust.
Перечисления | |
---|---|
HARM_CATEGORY_UNSPECIFIED | Category is unspecified. |
HARM_CATEGORY_DEROGATORY | PaLM - Negative or harmful comments targeting identity and/or protected attribute. |
HARM_CATEGORY_TOXICITY | PaLM - Content that is rude, disrespectful, or profane. |
HARM_CATEGORY_VIOLENCE | PaLM - Describes scenarios depicting violence against an individual or group, or general descriptions of gore. |
HARM_CATEGORY_SEXUAL | PaLM - Contains references to sexual acts or other lewd content. |
HARM_CATEGORY_MEDICAL | PaLM - Promotes unchecked medical advice. |
HARM_CATEGORY_DANGEROUS | PaLM - Dangerous content that promotes, facilitates, or encourages harmful acts. |
HARM_CATEGORY_HARASSMENT | Gemini - Harassment content. |
HARM_CATEGORY_HATE_SPEECH | Gemini - Hate speech and content. |
HARM_CATEGORY_SEXUALLY_EXPLICIT | Gemini - Sexually explicit content. |
HARM_CATEGORY_DANGEROUS_CONTENT | Gemini - Dangerous content. |
HARM_CATEGORY_CIVIC_INTEGRITY | Gemini - Content that may be used to harm civic integrity. DEPRECATED: use enableEnhancedCivicAnswers instead. |
ModalityTokenCount
Represents token counting info for a single modality.
modality
enum ( Modality
)
The modality associated with this token count.
tokenCount
integer
Number of tokens.
JSON representation |
---|
{
"modality": enum ( |
Модальность
Content Part modality
Перечисления | |
---|---|
MODALITY_UNSPECIFIED | Unspecified modality. |
TEXT | Plain text. |
IMAGE | Изображение. |
VIDEO | Видео. |
AUDIO | Audio. |
DOCUMENT | Document, eg PDF. |
SafetyRating
Safety rating for a piece of content.
The safety rating contains the category of harm and the harm probability level in that category for a piece of content. Content is classified for safety across a number of harm categories and the probability of the harm classification is included here.
category
enum ( HarmCategory
)
Required. The category for this rating.
probability
enum ( HarmProbability
)
Required. The probability of harm for this content.
blocked
boolean
Was this content blocked because of this rating?
JSON representation |
---|
{ "category": enum ( |
HarmProbability
The probability that a piece of content is harmful.
The classification system gives the probability of the content being unsafe. This does not indicate the severity of harm for a piece of content.
Перечисления | |
---|---|
HARM_PROBABILITY_UNSPECIFIED | Probability is unspecified. |
NEGLIGIBLE | Content has a negligible chance of being unsafe. |
LOW | Content has a low chance of being unsafe. |
MEDIUM | Content has a medium chance of being unsafe. |
HIGH | Content has a high chance of being unsafe. |
SafetySetting
Safety setting, affecting the safety-blocking behavior.
Passing a safety setting for a category changes the allowed probability that content is blocked.
category
enum ( HarmCategory
)
Required. The category for this setting.
threshold
enum ( HarmBlockThreshold
)
Required. Controls the probability threshold at which harm is blocked.
JSON representation |
---|
{ "category": enum ( |
HarmBlockThreshold
Block at and beyond a specified harm probability.
Перечисления | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Threshold is unspecified. |
BLOCK_LOW_AND_ABOVE | Content with NEGLIGIBLE will be allowed. |
BLOCK_MEDIUM_AND_ABOVE | Content with NEGLIGIBLE and LOW will be allowed. |
BLOCK_ONLY_HIGH | Content with NEGLIGIBLE, LOW, and MEDIUM will be allowed. |
BLOCK_NONE | All content will be allowed. |
OFF | Turn off the safety filter. |