Gemini API поддерживает создание контента с изображениями, аудио, кодом, инструментами и многим другим. Для получения подробной информации о каждой из этих функций прочтите и ознакомьтесь с примером кода, ориентированным на задачи, или прочитайте подробные руководства.
- Генерация текста
- Зрение
- Аудио
- Длинный контекст
- Выполнение кода
- Режим JSON
- Вызов функции
- Системные инструкции
Метод: models.generateContent
Генерирует ответ модели с учетом входных данных GenerateContentRequest
. Подробную информацию об использовании см. в руководстве по созданию текста . Возможности ввода различаются в зависимости от модели, включая настроенные модели. Подробную информацию см. в руководстве по модели и руководстве по настройке .
Конечная точка
опубликуйте https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContentПараметры пути
model
string
Необходимый. Имя Model
, используемой для создания завершения.
Формат: name=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. Обратитесь к руководству для получения подробной информации о доступных настройках безопасности. Также обратитесь к руководству по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях искусственного интеллекта.
systemInstruction
object ( Content
)
Необязательный. Системные инструкции, установленные разработчиком. Пока только текст.
generationConfig
object ( 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Параметры пути
model
string
Необходимый. Имя Model
, используемой для создания завершения.
Формат: name=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. Обратитесь к руководству для получения подробной информации о доступных настройках безопасности. Также обратитесь к руководству по безопасности , чтобы узнать, как учитывать вопросы безопасности в ваших приложениях искусственного интеллекта.
systemInstruction
object ( Content
)
Необязательный. Системные инструкции, установленные разработчиком. Пока только текст.
generationConfig
object ( GenerationConfig
)
Необязательный. Параметры конфигурации для создания модели и выходных данных.
string
cachedContent
Необязательный. Имя содержимого, кэшированного для использования в качестве контекста для прогнозирования. Формат: cachedContents/{cachedContent}
Пример запроса
Текст
Питон
Node.js
Идти
Оболочка
Котлин
Быстрый
Дарт
Ява
Изображение
Питон
Node.js
Идти
Оболочка
Котлин
Быстрый
Дарт
Ява
Аудио
Питон
Оболочка
Видео
Питон
Node.js
Идти
Оболочка
Питон
Оболочка
Чат
Питон
Node.js
Идти
Оболочка
Котлин
Быстрый
Дарт
Ява
Тело ответа
В случае успеха тело ответа содержит поток экземпляров GenerateContentResponse
.
ГенерироватьКонтентОтвет
Ответ модели, поддерживающей ответы нескольких кандидатов.
Рейтинги безопасности и фильтрация контента сообщаются как для приглашения в GenerateContentResponse.prompt_feedback
, так и для каждого кандидата в finishReason
и safetyRatings
. API: - Возвращает либо всех запрошенных кандидатов, либо ни одного из них. - Не возвращает кандидатов вообще, только если что-то не так с подсказкой (проверьте promptFeedback
). - Сообщает отзывы о каждом кандидате в finishReason
и safetyRatings
.
candidates[]
object ( Candidate
)
Ответы кандидата от модели.
object ( PromptFeedback )
promptFeedback
Возвращает отзыв о приглашении, связанный с фильтрами содержимого.
usageMetadata
object ( UsageMetadata
)
Только вывод. Метаданные об использовании токена запросов генерации.
JSON-представление |
---|
{ "candidates": [ { object ( |
ПодсказкаОбратная связь
Набор метаданных обратной связи, указанный в приглашении GenerateContentRequest.content
.
blockReason
enum ( BlockReason
)
Необязательный. Если установлено, приглашение блокируется и кандидаты не возвращаются. Перефразируйте подсказку.
safetyRatings[]
object ( SafetyRating
)
Оценки за безопасность подсказки. В каждой категории может быть не более одного рейтинга.
JSON-представление |
---|
{ "blockReason": enum ( |
БлокПричина
Указывает причину, по которой приглашение было заблокировано.
Перечисления | |
---|---|
BLOCK_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SAFETY | Подсказка заблокирована по соображениям безопасности. Проверьте safetyRatings , чтобы понять, какая категория безопасности заблокировала его. |
OTHER | Подсказка заблокирована по неизвестным причинам. |
BLOCKLIST | Подсказка заблокирована из-за терминов, включенных в черный список терминологии. |
PROHIBITED_CONTENT | Подсказка заблокирована из-за запрещенного контента. |
Использованиеметаданные
Метаданные об использовании токена запроса генерации.
promptTokenCount
integer
Количество токенов в приглашении. Если установлен cachedContent
, это по-прежнему общий эффективный размер приглашения, что означает, что он включает в себя количество токенов в кэшированном контенте.
integer
cachedContentTokenCount
Количество токенов в кэшированной части приглашения (кэшированный контент)
integer
candidatesTokenCount
Общее количество токенов среди всех сгенерированных кандидатов на ответ.
totalTokenCount
integer
Общее количество токенов для запроса на создание (приглашение + кандидаты на ответ).
JSON-представление |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } |
Кандидат
Кандидат на ответ, созданный на основе модели.
content
object ( Content
)
Только вывод. Сгенерированный контент, возвращенный из модели.
finishReason
enum ( FinishReason
)
Необязательный. Только вывод. Причина, по которой модель перестала генерировать токены.
Если пусто, модель не прекратила генерировать токены.
safetyRatings[]
object ( SafetyRating
)
Список оценок безопасности кандидата-ответчика.
В каждой категории может быть не более одного рейтинга.
citationMetadata
object ( CitationMetadata
)
Только вывод. Информация о цитировании кандидата, созданного моделью.
Это поле может быть заполнено информацией о декламации любого текста, включенного в content
. Это отрывки, которые «зачитаны» из материалов, защищенных авторским правом, в основных учебных данных LLM.
integer
tokenCount
Только вывод. Количество токенов для этого кандидата.
number
avgLogprobs
Только вывод.
logprobsResult
object ( LogprobsResult
)
Только вывод. Оценки логарифмического правдоподобия для токенов ответа и верхних токенов
integer
index
Только вывод. Индекс кандидата в списке откликнувшихся кандидатов.
JSON-представление |
---|
{ "content": { object ( |
FinishReason
Определяет причину, по которой модель перестала генерировать токены.
Перечисления | |
---|---|
FINISH_REASON_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
STOP | Естественная точка остановки модели или предусмотренная последовательность остановок. |
MAX_TOKENS | Достигнуто максимальное количество токенов, указанное в запросе. |
SAFETY | Содержимое кандидата на ответ было помечено по соображениям безопасности. |
RECITATION | Содержимое кандидата на ответ было помечено по причине повторения. |
LANGUAGE | Содержимое кандидата на ответ было помечено как использующее неподдерживаемый язык. |
OTHER | Неизвестная причина. |
BLOCKLIST | Генерация токенов остановлена, поскольку контент содержит запрещенные термины. |
PROHIBITED_CONTENT | Генерация токенов остановлена из-за потенциального содержания запрещенного контента. |
SPII | Генерация токенов остановлена, поскольку контент потенциально содержит конфиденциальную информацию, позволяющую установить личность (SPII). |
MALFORMED_FUNCTION_CALL | Вызов функции, сгенерированный моделью, недействителен. |
LogprobsResult
Результат logprobs
topCandidates[]
object ( TopCandidates
)
Длина = общее количество шагов декодирования.
object ( Candidate )
chosenCandidates[]
Длина = общее количество шагов декодирования. Выбранные кандидаты могут быть или не быть в топКандидатах.
JSON-представление |
---|
{ "topCandidates": [ { object ( |
ТопКандидаты
Кандидаты с максимальными логарифмическими вероятностями на каждом этапе декодирования.
candidates[]
object ( Candidate
)
Сортировано по логарифмической вероятности в порядке убывания.
JSON-представление |
---|
{
"candidates": [
{
object ( |
Кандидат
Кандидат на токен и оценку logprobs.
string
token
Строковое значение токена кандидата.
tokenId
integer
Значение идентификатора токена кандидата.
logProbability
number
Логарифм вероятности кандидата.
JSON-представление |
---|
{ "token": string, "tokenId": integer, "logProbability": number } |
Метаданные цитирования
Коллекция источников для части контента.
citationSources[]
object ( CitationSource
)
Ссылки на источники для конкретного ответа.
JSON-представление |
---|
{
"citationSources": [
{
object ( |
ЦитированиеИсточник
Ссылка на источник части конкретного ответа.
startIndex
integer
Необязательный. Начало сегмента ответа, приписываемого этому источнику.
Индекс указывает начало сегмента, измеряется в байтах.
integer
endIndex
Необязательный. Конец присвоенного сегмента, эксклюзивный.
string
uri
Необязательный. URI, который считается источником части текста.
string
license
Необязательный. Лицензия на проект GitHub, указанный в качестве источника для сегмента.
Информация о лицензии необходима для цитирования кода.
JSON-представление |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
Конфигурация поколения
Параметры конфигурации для создания модели и выходных данных. Не все параметры можно настроить для каждой модели.
stopSequences[]
string
Необязательный. Набор последовательностей символов (до 5), которые останавливают генерацию вывода. Если указано, API остановится при первом появлении stop_sequence
. Последовательность остановки не будет включена в ответ.
string
responseMimeType
Необязательный. MIME-тип сгенерированного текста-кандидата. Поддерживаемые типы MIME: text/plain
: (по умолчанию) текстовый вывод. application/json
: ответ JSON в кандидатах на ответ. text/x.enum
: ENUM как строковый ответ в кандидатах на ответ. Обратитесь к документации для получения списка всех поддерживаемых текстовых типов MIME.
responseSchema
object ( Schema
)
Необязательный. Выходная схема сгенерированного текста-кандидата. Схемы должны быть подмножеством схемы OpenAPI и могут быть объектами, примитивами или массивами.
Если установлено, также должен быть установлен совместимый тип responseMimeType
. Совместимые типы MIME: application/json
: схема ответа JSON. Дополнительные сведения см. в руководстве по созданию текста JSON .
integer
candidateCount
Необязательный. Количество сгенерированных ответов для возврата.
В настоящее время для этого значения можно установить только значение 1. Если оно не установлено, по умолчанию оно будет равно 1.
integer
maxOutputTokens
Необязательный. Максимальное количество токенов, которые можно включить в кандидата ответа.
Примечание. Значение по умолчанию зависит от модели. См. атрибут Model.output_token_limit
Model
возвращаемой функцией getModel
.
number
temperature
Необязательный. Управляет случайностью вывода.
Примечание. Значение по умолчанию зависит от модели. См. атрибут 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
для запросов.
integer
topK
Необязательный. Максимальное количество токенов, которые следует учитывать при выборке.
В моделях Gemini используется выборка Top-p (ядра) или комбинация Top-k и выборки ядра. Выборка Top-k рассматривает набор наиболее вероятных токенов topK
. Модели, работающие с выборкой ядер, не позволяют устанавливать topK.
Примечание. Значение по умолчанию зависит от Model
и задается атрибутом Model.top_p
возвращаемым функцией getModel
. Пустой атрибут topK
указывает, что модель не применяет выборку top-k и не позволяет устанавливать topK
для запросов.
presencePenalty
number
Необязательный. Штраф за присутствие применяется к пробам журнала следующего токена, если токен уже был замечен в ответе.
Этот штраф является бинарным, включается/выключается и не зависит от количества раз использования токена (после первого). Используйте frequencyPenalty
для получения штрафа, который увеличивается с каждым использованием.
Положительное наказание будет препятствовать использованию токенов, которые уже использовались в ответе, увеличивая словарный запас.
Отрицательное наказание будет стимулировать использование токенов, которые уже использовались в ответе, уменьшая словарный запас.
frequencyPenalty
number
Необязательный. Штраф за частоту, применяемый к лог-пробам следующего токена, умножается на количество раз, когда каждый токен был замечен в ответе на данный момент.
Положительный штраф будет препятствовать использованию уже использованных токенов, пропорционально количеству раз, когда токен использовался: чем больше используется токен, тем сложнее модели снова использовать этот токен, увеличивая словарный запас. ответов.
Внимание: отрицательный штраф будет стимулировать модель к повторному использованию токенов пропорционально количеству раз, когда токен использовался. Небольшие отрицательные значения уменьшат словарный запас ответа. Большие отрицательные значения заставят модель начать повторять общий токен до тех пор, пока он не достигнет предела maxOutputTokens
: «...the the the...».
responseLogprobs
boolean
Необязательный. Если это правда, экспортируйте результаты logprobs в ответ.
integer
logprobs
Необязательный. Действительно только в том случае, если responseLogprobs=True
. Это устанавливает количество лучших журнальных проб, возвращаемых на каждом этапе декодирования в Candidate.logprobs_result
.
JSON-представление |
---|
{
"stopSequences": [
string
],
"responseMimeType": string,
"responseSchema": {
object ( |
Категория Вреда
Категория рейтинга.
Эти категории охватывают различные виды вреда, которые разработчики, возможно, захотят устранить.
Перечисления | |
---|---|
HARM_CATEGORY_UNSPECIFIED | Категория не указана. |
HARM_CATEGORY_DEROGATORY | PaLM — негативные или вредные комментарии, направленные против личности и/или защищенного атрибута. |
HARM_CATEGORY_TOXICITY | PaLM – грубый, неуважительный или оскорбительный контент. |
HARM_CATEGORY_VIOLENCE | PaLM — описывает сценарии, изображающие насилие против отдельного человека или группы, или общие описания кровавых событий. |
HARM_CATEGORY_SEXUAL | PaLM — содержит ссылки на сексуальные действия или другой непристойный контент. |
HARM_CATEGORY_MEDICAL | PaLM — пропагандирует непроверенные медицинские советы. |
HARM_CATEGORY_DANGEROUS | PaLM — Опасный контент, который пропагандирует, облегчает или поощряет вредные действия. |
HARM_CATEGORY_HARASSMENT | Близнецы — контент с преследованием. |
HARM_CATEGORY_HATE_SPEECH | Близнецы — разжигание ненависти и контент. |
HARM_CATEGORY_SEXUALLY_EXPLICIT | Близнецы – контент откровенно сексуального характера. |
HARM_CATEGORY_DANGEROUS_CONTENT | Близнецы – Опасный контент. |
HARM_CATEGORY_CIVIC_INTEGRITY | Близнецы — контент, который может быть использован для нанесения ущерба гражданской целостности. |
Рейтинг безопасности
Рейтинг безопасности части контента.
Рейтинг безопасности содержит категорию вреда и уровень вероятности вреда в этой категории для части контента. Контент классифицируется по безопасности по ряду категорий вреда, и сюда включена вероятность классификации вреда.
category
enum ( HarmCategory
)
Необходимый. Категория для этого рейтинга.
probability
enum ( HarmProbability
)
Необходимый. Вероятность вреда для этого контента.
blocked
boolean
Был ли этот контент заблокирован из-за такого рейтинга?
JSON-представление |
---|
{ "category": enum ( |
ВредВероятность
Вероятность того, что часть контента является вредоносной.
Система классификации дает вероятность того, что контент небезопасен. Это не указывает на тяжесть вреда для части контента.
Перечисления | |
---|---|
HARM_PROBABILITY_UNSPECIFIED | Вероятность не указана. |
NEGLIGIBLE | Контент имеет ничтожную вероятность оказаться небезопасным. |
LOW | Контент имеет низкую вероятность оказаться небезопасным. |
MEDIUM | Контент имеет средний шанс оказаться небезопасным. |
HIGH | Контент имеет высокую вероятность оказаться небезопасным. |
Настройка безопасности
Настройка безопасности, влияющая на поведение блокировки безопасности.
Передача параметра безопасности для категории изменяет допустимую вероятность блокировки контента.
category
enum ( HarmCategory
)
Необходимый. Категория для этого параметра.
threshold
enum ( HarmBlockThreshold
)
Необходимый. Управляет порогом вероятности, при котором блокируется вред.
JSON-представление |
---|
{ "category": enum ( |
ВредБлокПорог
Блокировать при определенной вероятности нанесения вреда и за ее пределами.
Перечисления | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED | Порог не указан. |
BLOCK_LOW_AND_ABOVE | Контент с НЕзначительным значением будет разрешен. |
BLOCK_MEDIUM_AND_ABOVE | Контент с НЕЗНАЧИТЕЛЬНЫМ и НИЗКИМ уровнем будет разрешен. |
BLOCK_ONLY_HIGH | Контент с параметрами НЕБОЛЬШОЙ, НИЗКИЙ и СРЕДНИЙ будет разрешен. |
BLOCK_NONE | Весь контент будет разрешен. |
OFF | Отключите защитный фильтр. |