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 . Подробнее см. в руководствах по вызову функций и выполнению кода .
toolConfigobject ( 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 . Подробнее см. в руководствах по вызову функций и выполнению кода .
toolConfigobject ( 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Возвращает обратную связь по подсказке, связанную с фильтрами контента.
usageMetadataobject ( UsageMetadata )Только вывод. Метаданные об использовании токенов запросов на генерацию.
string modelVersionТолько выходные данные. Версия модели, использованная для генерации ответа.
string responseIdТолько вывод. responseId используется для идентификации каждого ответа.
| JSON-представление |
|---|
{ "candidates": [ { object ( |
PromptFeedback
Набор метаданных обратной связи, указанный в приглашении GenerateContentRequest.content .
blockReasonenum ( BlockReason )Необязательно. Если установлено, запрос был заблокирован, и кандидаты не возвращаются. Перефразируйте запрос.
safetyRatings[]object ( SafetyRating )Оценки безопасности подсказки. В каждой категории может быть не более одной оценки.
| JSON-представление |
|---|
{ "blockReason": enum ( |
BlockReason
Указывает причину, по которой запрос был заблокирован.
| Перечисления | |
|---|---|
BLOCK_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SAFETY | Запрос был заблокирован по соображениям безопасности. Проверьте safetyRatings , чтобы понять, какая категория безопасности его заблокировала. |
OTHER | Запрос был заблокирован по неизвестным причинам. |
BLOCKLIST | Запрос был заблокирован из-за терминов, включенных в список заблокированных терминов. |
PROHIBITED_CONTENT | Запрос был заблокирован из-за запрещенного контента. |
IMAGE_SAFETY | Кандидаты заблокированы из-за небезопасного контента, создающего изображения. |
ИспользованиеМетаданных
Метаданные об использовании токена запроса на генерацию.
promptTokenCountinteger Количество токенов в запросе. Если задано значение cachedContent , это по-прежнему общий эффективный размер запроса, то есть он включает количество токенов в кэшированном контенте.
cachedContentTokenCountintegerКоличество токенов в кэшированной части приглашения (кэшированное содержимое)
candidatesTokenCountintegerОбщее количество токенов среди всех сгенерированных кандидатов на ответы.
toolUsePromptTokenCountintegerТолько вывод. Количество токенов, присутствующих в подсказках по использованию инструментов.
thoughtsTokenCountintegerТолько вывод. Количество токенов мыслей для моделей мышления.
totalTokenCountintegerОбщее количество токенов для запроса на генерацию (подсказка + кандидаты на ответ).
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
Кандидат на ответ, сгенерированный на основе модели.
contentobject ( Content )Только вывод. Сгенерированный контент, возвращаемый моделью.
finishReasonenum ( FinishReason )Необязательно. Только вывод. Причина, по которой модель перестала генерировать токены.
Если пусто, модель не прекратила генерацию токенов.
safetyRatings[]object ( SafetyRating )Список оценок безопасности кандидата на ответ.
В каждой категории может быть максимум один рейтинг.
object ( CitationMetadata ) citationMetadataТолько вывод. Информация о цитировании для кандидата, сгенерированного моделью.
Это поле может быть заполнено информацией о декламации любого текста, входящего в content . Это отрывки, декламируемые из материалов, защищенных авторским правом, в базовых учебных материалах LLM.
tokenCountintegerТолько вывод. Количество токенов для этого кандидата.
groundingAttributions[]object ( GroundingAttribution )Только выходные данные. Информация об источниках, которые способствовали обоснованному ответу.
Это поле заполняется для вызовов GenerateAnswer .
object ( GroundingMetadata ) groundingMetadataТолько вывод. Базовые метаданные для кандидата.
Это поле заполняется для вызовов GenerateContent .
number avgLogprobsТолько вывод. Средний логарифм вероятности кандидата.
object ( LogprobsResult ) logprobsResultТолько выходные данные. Логарифмические оценки правдоподобия для токенов ответов и топовых токенов.
object ( UrlContextMetadata ) urlContextMetadataТолько вывод. Метаданные, относящиеся к инструменту извлечения контекста URL.
indexintegerТолько вывод. Индекс кандидата в списке кандидатов на ответ.
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
Указание источника, способствовавшего получению ответа.
sourceIdobject ( AttributionSourceId )Только вывод. Идентификатор источника, способствующего этой атрибуции.
contentobject ( Content )Обоснование исходного контента, составляющего эту атрибуцию.
| JSON-представление |
|---|
{ "sourceId": { object ( |
AttributionSourceId
Идентификатор источника, способствующего данной атрибуции.
Union type sourcesource может быть только одним из следующих: object ( GroundingPassageId ) groundingPassageИдентификатор встроенного отрывка.
object ( SemanticRetrieverChunk ) semanticRetrieverChunk Идентификатор Chunk , полученного с помощью семантического ретривера.
| JSON-представление |
|---|
{ // source "groundingPassage": { object ( |
GroundingPassageId
Идентификатор части внутри GroundingPassage .
string passageId Только вывод. Идентификатор прохода, соответствующий GroundingPassage.id GenerateAnswerRequest .
partIndexinteger Только вывод. Индекс части в GroundingPassage.content GenerateAnswerRequest .
| JSON-представление |
|---|
{ "passageId": string, "partIndex": integer } |
SemanticRetrieverChunk
Идентификатор Chunk , полученного с помощью Semantic Retriever, указанный в GenerateAnswerRequest с использованием SemanticRetrieverConfig .
sourcestring Только вывод. Имя источника, соответствующее SemanticRetrieverConfig.source запроса. Пример: corpora/123 или corpora/123/documents/abc
chunkstring Только вывод. Имя 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Метаданные, связанные с поиском в заземляющем потоке.
string googleMapsWidgetContextTokenНеобязательно. Имя ресурса токена контекста виджета Google Карт, который можно использовать с виджетом PlacesContextElement для отображения контекстных данных. Заполняется только в том случае, если включена привязка к Google Картам.
| JSON-представление |
|---|
{ "groundingChunks": [ { object ( |
SearchEntryPoint
Точка входа в поиск Google.
string renderedContentНеобязательно. Фрагмент веб-контента, который можно встроить в веб-страницу или веб-представление приложения.
sdkBlobstring ( bytes format)Необязательно. JSON-код в кодировке Base64, представляющий собой массив кортежей <поисковый запрос, URL поиска>.
Строка в кодировке base64.
| JSON-представление |
|---|
{ "renderedContent": string, "sdkBlob": string } |
GroundingChunk
Кусок заземления.
chunk_typeUnion typechunk_type может быть только одним из следующих:webobject ( Web )Заземляющий кусок из сети.
object ( RetrievedContext ) retrievedContextНеобязательно. Фрагмент заземления из контекста, полученного инструментом поиска файлов.
mapsobject ( Maps )Необязательно. Заземляющий фрагмент из Google Maps.
| JSON-представление |
|---|
{ // chunk_type "web": { object ( |
Интернет
Фрагмент из интернета.
string uriURI-ссылка фрагмента.
string titleНазвание фрагмента.
| JSON-представление |
|---|
{ "uri": string, "title": string } |
ПолученныйКонтекст
Фрагмент контекста, извлеченный инструментом поиска файлов.
string uriНеобязательно. URI-ссылка на документ семантического поиска.
string titleНеобязательно. Название документа.
textstringНеобязательно. Текст фрагмента.
| JSON-представление |
|---|
{ "uri": string, "title": string, "text": string } |
Карты
Заземляющий фрагмент из Google Карт. Фрагмент Карт соответствует одному месту.
string uriСсылка URI места.
string titleНазвание места.
textstringТекстовое описание места ответа.
string placeId Это идентификатор места в формате places/{placeId} . Пользователь может использовать этот идентификатор для поиска этого места.
placeAnswerSourcesobject ( PlaceAnswerSources )Источники, дающие ответы об особенностях определенного места на Картах Google.
| JSON-представление |
|---|
{
"uri": string,
"title": string,
"text": string,
"placeId": string,
"placeAnswerSources": {
object ( |
МестоОтветИсточники
Коллекция источников, предоставляющих информацию об особенностях заданного места на Картах Google. Каждое сообщение PlaceAnswerSources соответствует определённому месту на Картах Google. Инструмент Google Карт использовал эти источники для ответа на вопросы об особенностях места (например, «есть ли в баре Foo Wi-Fi?» или «доступен ли бар Foo для инвалидных колясок?»). В настоящее время мы поддерживаем в качестве источников только фрагменты отзывов.
reviewSnippets[]object ( ReviewSnippet )Фрагменты отзывов, которые используются для формирования ответов об особенностях определенного места в Картах Google.
| JSON-представление |
|---|
{
"reviewSnippets": [
{
object ( |
Обзор фрагмента
Содержит фрагмент отзыва пользователя, который отвечает на вопрос об особенностях определенного места в Картах Google.
string reviewIdИдентификатор фрагмента обзора.
string googleMapsUriСсылка, соответствующая отзыву пользователя на Google Maps.
string titleНазвание обзора.
| JSON-представление |
|---|
{ "reviewId": string, "googleMapsUri": string, "title": string } |
GroundingSupport
Поддержка заземления.
groundingChunkIndices[]integerСписок индексов (в «grounding_chunk»), указывающих ссылки, связанные с утверждением. Например, [1,3,4] означает, что grounding_chunk[1], grounding_chunk[3], grounding_chunk[4] — это извлеченный контент, относящийся к утверждению.
number confidenceScores[]Уровень уверенности в опорных данных. Диапазон значений — от 0 до 1. 1 — максимальная уверенность. Этот список должен иметь тот же размер, что и groundingChunkIndices.
segmentobject ( Segment )Сегмент контента, к которому принадлежит эта поддержка.
| JSON-представление |
|---|
{
"groundingChunkIndices": [
integer
],
"confidenceScores": [
number
],
"segment": {
object ( |
Сегмент
Сегмент контента.
partIndexintegerТолько вывод. Индекс объекта Part внутри его родительского объекта Content.
startIndexintegerТолько вывод. Начальный индекс в заданной части, измеряется в байтах. Смещение от начала части включительно, начиная с нуля.
endIndexintegerТолько вывод. Конечный индекс в заданной части, измеряется в байтах. Смещение от начала части, не включая её, начиная с нуля.
textstringТолько вывод. Текст, соответствующий сегменту ответа.
| 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Значение строки токена кандидата.
tokenIdintegerЗначение идентификатора токена кандидата.
number logProbabilityЛогарифм вероятности кандидата.
| JSON-представление |
|---|
{ "token": string, "tokenId": integer, "logProbability": number } |
UrlContextMetadata
Метаданные, связанные с инструментом извлечения контекста URL.
object ( UrlMetadata ) urlMetadata[]Список контекстов URL.
| JSON-представление |
|---|
{
"urlMetadata": [
{
object ( |
UrlMetadata
Контекст поиска по одному URL.
retrievedUrlstringURL-адрес, полученный инструментом.
urlRetrievalStatusenum ( 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 ( |
Источник цитаты
Ссылка на источник части конкретного ответа.
startIndexintegerНеобязательно. Начало сегмента ответа, относящегося к этому источнику.
Индекс указывает начало сегмента, измеряемое в байтах.
endIndexintegerНеобязательно. Конец атрибутированного сегмента, эксклюзивный.
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 .
_responseJsonSchemavalue ( 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 задан для подсхемы, то никакие другие свойства, за исключением тех, которые начинаются с $ , не могут быть заданы.
responseJsonSchemavalue ( Value format) Необязательно. Внутренняя информация. Используйте responseJsonSchema вместо этого поля.
responseModalities[]enum ( Modality )Необязательный параметр. Запрошенные модальности ответа. Представляет набор модальностей, которые модель может вернуть и которые следует ожидать в ответе. Это точное совпадение с модальностями ответа.
Модель может иметь несколько комбинаций поддерживаемых модальностей. Если запрошенные модальности не соответствуют ни одной из поддерживаемых комбинаций, будет возвращена ошибка.
Пустой список эквивалентен запросу только текста.
candidateCountintegerOptional. Number of generated responses to return. If unset, this will default to 1. Please note that this doesn't work for previous generation models (Gemini 1.0 family)
maxOutputTokensintegerOptional. The maximum number of tokens to include in a response candidate.
Note: The default value varies by model, see the Model.output_token_limit attribute of the Model returned from the getModel function.
temperaturenumberOptional. Controls the randomness of the output.
Note: The default value varies by model, see the Model.temperature attribute of the Model returned from the getModel function.
Values can range from [0.0, 2.0].
topPnumberOptional. The maximum cumulative probability of tokens to consider when sampling.
The model uses combined Top-k and Top-p (nucleus) sampling.
Tokens are sorted based on their assigned probabilities so that only the most likely tokens are considered. Top-k sampling directly limits the maximum number of tokens to consider, while Nucleus sampling limits the number of tokens based on the cumulative probability.
Note: The default value varies by Model and is specified by the Model.top_p attribute returned from the getModel function. An empty topK attribute indicates that the model doesn't apply top-k sampling and doesn't allow setting topK on requests.
topKintegerOptional. The maximum number of tokens to consider when sampling.
Gemini models use Top-p (nucleus) sampling or a combination of Top-k and nucleus sampling. Top-k sampling considers the set of topK most probable tokens. Models running with nucleus sampling don't allow topK setting.
Note: The default value varies by Model and is specified by the Model.top_p attribute returned from the getModel function. An empty topK attribute indicates that the model doesn't apply top-k sampling and doesn't allow setting topK on requests.
seedintegerOptional. Seed used in decoding. If not set, the request uses a randomly generated seed.
presencePenaltynumberOptional. 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.
frequencyPenaltynumberOptional. 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.
responseLogprobsbooleanOptional. If true, export the logprobs results in response.
logprobsinteger 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].
enableEnhancedCivicAnswersbooleanOptional. Enables enhanced civic answers. It may not be available for all models.
speechConfigobject ( SpeechConfig )Optional. The speech generation config.
thinkingConfigobject ( ThinkingConfig )Optional. Config for thinking features. An error will be returned if this field is set for models that don't support thinking.
imageConfigobject ( 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.
mediaResolutionenum ( 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 | Значение по умолчанию. |
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.
voiceConfigobject ( VoiceConfig )The configuration in case of single-voice output.
multiSpeakerVoiceConfigobject ( MultiSpeakerVoiceConfig )Optional. The configuration for the multi-speaker setup. It is mutually exclusive with the voiceConfig field.
languageCodestringOptional. 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_configUnion typevoice_config can be only one of the following: prebuiltVoiceConfigobject ( PrebuiltVoiceConfig )The configuration for the prebuilt voice to use.
| JSON representation |
|---|
{
// voice_config
"prebuiltVoiceConfig": {
object ( |
PrebuiltVoiceConfig
The configuration for the prebuilt speaker to use.
voiceNamestringThe 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.
speakerstringRequired. The name of the speaker to use. Should be the same as in the prompt.
voiceConfigobject ( VoiceConfig )Required. The configuration for the voice to use.
| JSON representation |
|---|
{
"speaker": string,
"voiceConfig": {
object ( |
ThinkingConfig
Config for thinking features.
includeThoughtsbooleanIndicates whether to include thoughts in the response. If true, thoughts are returned only when available.
thinkingBudgetintegerThe number of thoughts tokens that the model should generate.
| JSON representation |
|---|
{ "includeThoughts": boolean, "thinkingBudget": integer } |
ImageConfig
Config for image generation features.
aspectRatiostringOptional. 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.
modalityenum ( Modality )The modality associated with this token count.
tokenCountintegerNumber of tokens.
| JSON representation |
|---|
{
"modality": enum ( |
Модальность
Content Part modality
| Перечисления | |
|---|---|
MODALITY_UNSPECIFIED | Unspecified modality. |
TEXT | Plain text. |
IMAGE | Изображение. |
VIDEO | Видео. |
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.
categoryenum ( HarmCategory )Required. The category for this rating.
probabilityenum ( HarmProbability )Required. The probability of harm for this content.
blockedbooleanWas 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.
categoryenum ( HarmCategory )Required. The category for this setting.
thresholdenum ( 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. |