Файловый API

Семейство моделей искусственного интеллекта (ИИ) Gemini создано для обработки различных типов входных данных, включая текст, изображения и аудио. Поскольку эти модели могут обрабатывать более одного типа или режима данных, их называют мультимодальными моделями или моделями, обладающими мультимодальными возможностями .

В этом руководстве показано, как работать с медиафайлами с помощью API Files. Основные операции одинаковы для аудиофайлов, изображений, видео, документов и других поддерживаемых типов файлов.

Инструкции по работе с запросами на открытие файлов см. в разделе «Руководство по работе с запросами на открытие файлов» .

Загрузить файл

Вы можете использовать API Files для загрузки медиафайлов. Всегда используйте API Files, если общий размер запроса (включая файлы, текстовую подсказку, системные инструкции и т. д.) превышает 20 МБ.

Следующий код загружает файл, а затем использует его при вызове generateContent .

Питон

from google import genai

client = genai.Client()

myfile = client.files.upload(file="path/to/sample.mp3")

response = client.models.generate_content(
    model="gemini-2.5-flash", contents=["Describe this audio clip", myfile]
)

print(response.text)

JavaScript

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({});

async function main() {
  const myfile = await ai.files.upload({
    file: "path/to/sample.mp3",
    config: { mimeType: "audio/mpeg" },
  });

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash",
    contents: createUserContent([
      createPartFromUri(myfile.uri, myfile.mimeType),
      "Describe this audio clip",
    ]),
  });
  console.log(response.text);
}

await main();

Идти

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}
defer client.DeleteFile(ctx, file.Name)

model := client.GenerativeModel("gemini-2.5-flash")
resp, err := model.GenerateContent(ctx,
    genai.FileData{URI: file.URI},
    genai.Text("Describe this audio clip"))
if err != nil {
    log.Fatal(err)
}

printResponse(resp)

ОТДЫХ

AUDIO_PATH="path/to/sample.mp3"
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -D "${tmp_header_file}" \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
    -H "x-goog-api-key: $GEMINI_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Describe this audio clip"},
          {"file_data":{"mime_type": "${MIME_TYPE}", "file_uri": '$file_uri'}}]
        }]
      }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

Получить метаданные для файла

Вы можете убедиться, что API успешно сохранил загруженный файл и получить его метаданные, вызвав files.get .

Питон

myfile = client.files.upload(file='path/to/sample.mp3')
file_name = myfile.name
myfile = client.files.get(name=file_name)
print(myfile)

JavaScript

const myfile = await ai.files.upload({
  file: "path/to/sample.mp3",
  config: { mimeType: "audio/mpeg" },
});

const fileName = myfile.name;
const fetchedFile = await ai.files.get({ name: fileName });
console.log(fetchedFile);

Идти

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}

gotFile, err := client.GetFile(ctx, file.Name)
if err != nil {
    log.Fatal(err)
}
fmt.Println("Got file:", gotFile.Name)

ОТДЫХ

# file_info.json was created in the upload example
name=$(jq ".file.name" file_info.json)
# Get the file of interest to check state
curl https://generativelanguage.googleapis.com/v1beta/files/$name \
-H "x-goog-api-key: $GEMINI_API_KEY" > file_info.json
# Print some information about the file you got
name=$(jq ".file.name" file_info.json)
echo name=$name
file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

Список загруженных файлов

Вы можете загрузить несколько файлов с помощью API Files. Следующий код получает список всех загруженных файлов:

Питон

print('My files:')
for f in client.files.list():
    print(' ', f.name)

JavaScript

const listResponse = await ai.files.list({ config: { pageSize: 10 } });
for await (const file of listResponse) {
  console.log(file.name);
}

Идти

iter := client.ListFiles(ctx)
for {
    ifile, err := iter.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(ifile.Name)
}

ОТДЫХ

echo "My files: "

curl "https://generativelanguage.googleapis.com/v1beta/files" \
  -H "x-goog-api-key: $GEMINI_API_KEY"

Удалить загруженные файлы

Файлы автоматически удаляются через 48 часов. Вы также можете удалить загруженный файл вручную:

Питон

myfile = client.files.upload(file='path/to/sample.mp3')
client.files.delete(name=myfile.name)

JavaScript

const myfile = await ai.files.upload({
  file: "path/to/sample.mp3",
  config: { mimeType: "audio/mpeg" },
});

const fileName = myfile.name;
await ai.files.delete({ name: fileName });

Идти

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}
client.DeleteFile(ctx, file.Name)

ОТДЫХ

curl --request "DELETE" https://generativelanguage.googleapis.com/v1beta/files/$name \
  -H "x-goog-api-key: $GEMINI_API_KEY"

Информация об использовании

Вы можете использовать API Files для загрузки и работы с медиафайлами. API Files позволяет хранить до 20 ГБ файлов в каждом проекте, при этом максимальный размер файла составляет 2 ГБ. Файлы хранятся 48 часов. В течение этого времени вы можете использовать API для получения метаданных о файлах, но не можете их скачивать. API Files доступен бесплатно во всех регионах, где доступен API Gemini.

Стратегии подсказки файлов

В этом разделе приведены рекомендации и рекомендации по использованию медиафайлов с подсказками для API Gemini.

Возможность использования различных типов данных в подсказках даёт вам больше гибкости в выборе задач, которые можно решить с помощью API Gemini. Например, вы можете отправить модели фотографию вкусного блюда и попросить её написать короткий пост о нём в блоге.

Быстрый Ответ

Напишите короткий, увлекательный пост в блоге на основе этой фотографии. Он должен включать описание блюда, изображённого на фотографии, и рассказ о том, как я готовил еду в путешествии.


Файлы cookie

Приготовление еды заранее — отличный способ сэкономить время и деньги, а также питаться здоровее. Это блюдо — отличный пример полезного и вкусного блюда, которое можно легко приготовить заранее.

Это блюдо включает в себя коричневый рис, жареные овощи и курицу терияки. Коричневый рис — это полезный и сложный источник углеводов, который обеспечит вас энергией на долгие годы. Жареные овощи — отличный способ получить суточную дозу витаминов и минералов, а курица терияки — вкусный и богатый белком вариант.

Это блюдо очень просто приготовить. Просто отварите бурый рис, обжарьте овощи и приготовьте курицу терияки. После того, как всё будет приготовлено, разложите его по контейнерам для заготовок и храните в холодильнике. Теперь можно взять контейнер и продолжать свои дела каждое утро!

Если вы ищете полезное и вкусное блюдо, которое можно легко приготовить заранее, это блюдо — отличный вариант. Оно богато питательными веществами и вкусом, и вы обязательно ощутите сытость и удовлетворение.

Давайте готовить здоровую и вкусную еду!

Если у вас возникли проблемы с получением желаемого результата от подсказок, использующих медиафайлы, существует несколько стратегий, которые могут помочь вам добиться желаемого результата. В следующих разделах представлены подходы к проектированию и советы по устранению неполадок для улучшения подсказок, использующих мультимодальный ввод.

Вы можете улучшить свои мультимодальные подсказки, следуя этим рекомендациям:

  • Основы оперативного проектирования

    • Будьте конкретны в своих инструкциях : создавайте понятные и краткие инструкции, которые оставляют минимум места для неправильного толкования.
    • Добавьте несколько примеров к вашему предложению: используйте реалистичные примеры из нескольких кадров, чтобы проиллюстрировать, чего вы хотите добиться.
    • Разбейте процесс на этапы : разделите сложные задачи на выполнимые подцели, направляя модель на протяжении всего процесса.
    • Укажите формат вывода : в командной строке укажите желаемый формат вывода, например, Markdown, JSON, HTML и т. д.
    • В подсказках с одним изображением размещайте изображение первым : хотя Gemini может обрабатывать изображения и текст в любом порядке, для подсказок, содержащих одно изображение, система может работать эффективнее, если это изображение (или видео) будет располагаться перед текстовой подсказкой. Однако для подсказок, требующих частого чередования изображений и текста для большей осмысленности, используйте наиболее естественный порядок.
  • Устранение неполадок в мультимодальном запросе

    • Если модель не извлекает информацию из соответствующей части изображения: укажите, из каких аспектов изображения должна черпаться информация.
    • Если выходные данные модели слишком общие (не соответствуют входным данным изображения/видео): В начале подсказки попробуйте попросить модель описать изображение(я) или видео, прежде чем предоставить инструкцию по выполнению задания, или попробуйте попросить модель сослаться на то, что изображено на изображении.
    • Чтобы определить, какая часть дала сбой: попросите модель описать изображение или попросите ее объяснить ход своих рассуждений, чтобы оценить первоначальное понимание модели.
    • Если ваша подсказка приводит к появлению галлюцинаторного содержания: попробуйте снизить настройку температуры или попросить модель дать более короткие описания, чтобы она с меньшей вероятностью экстраполировала дополнительные детали.
    • Настройка параметров выборки: поэкспериментируйте с различными настройками температуры и выбором top-k, чтобы отрегулировать креативность модели.

Будьте конкретны в своих инструкциях

Подсказки наиболее эффективны, когда они понятны и подробны. Если вы хотите получить конкретный результат, лучше включить это требование в подсказку, чтобы быть уверенным, что получите именно то, что хотите.

Для этого изображения табло аэропорта запрос к модели «Опишите это изображение» может сгенерировать общее описание. Если вам нужно, чтобы модель распознала время и город на изображении, вы можете включить этот запрос непосредственно в запрос.

Быстрый Модель ответа

Опишите это изображение.

На изображении показано табло прилетов и вылетов аэропорта.

Обновленная подсказка Улучшенный ответ
Расписание движения

Проанализируйте время и город на табло аэропорта, показанном на этом изображении, и представьте их в виде списка.

  • 10:50 Москва
  • 11:05 Эдинбург
  • 11:05 Лондон
  • 11:10 Бухарест
  • 11:30 Киев
  • 11:35 Дублин
  • 11:45 Восточный Мидлендс
  • 12:15 София
  • 12:30 Лондон
  • 12:30 Ньюкасл
  • 12:40 Санкт-Петербург
  • 12:40 Лондон
  • 12:45 Манчестер
  • Добавьте несколько примеров

    Модель Gemini может принимать несколько входных данных, которые она может использовать в качестве примеров для понимания желаемого результата. Добавление этих примеров помогает модели выявлять закономерности и применять взаимосвязь между заданными изображениями и ответами к новому примеру. Это также называется обучением «с малым количеством попыток».

    В примере ниже начальный вывод представлен в форме предложения и также содержит название страны (Бразилия). Предположим, вы хотите получить вывод в другом формате или стиле, например, указать только город, а не страну. Добавление нескольких примеров в подсказку может настроить модель на нужный вам ответ.

    Быстрый Модель ответа
    Расписание движения

    Определите город и достопримечательность.

    Достопримечательностью является статуя Христа-Искупителя в Рио-де-Жанейро, Бразилия.

    Обновленная подсказка Улучшенный ответ

    Определите город и достопримечательность.

    Колизей

    город: Рим, достопримечательность: Колизей.

    Запретный город

    город: Пекин, достопримечательность: Запретный город

    запретный город

    город: Рио-де-Жанейро, достопримечательность: статуя Христа-Искупителя

    Разберём это шаг за шагом

    Для сложных задач, требующих как визуального понимания, так и рассуждения, может быть полезно разбить задачу на более мелкие, более простые этапы. В качестве альтернативы, можно также прямо попросить модель «думать шаг за шагом» в подсказке.

    Быстрый Модель ответа

    Когда у меня закончится туалетная бумага?

    Вскоре у вас останется всего 3 рулона.

    Обновленная подсказка Улучшенный ответ

      1. Сначала посчитайте, сколько рулонов туалетной бумаги на этой картинке.
      2. Затем определите, сколько туалетной бумаги среднестатистический человек использует в день.
      3. Подсчитайте, на какой срок хватит этих рулонов туалетной бумаги.

      1. На этой фотографии три рулона туалетной бумаги.
      2. Среднестатистический человек использует около 20 листов туалетной бумаги в день.
      3. Если в каждом рулоне 200 листов, то одного рулона хватит примерно на 10 дней. Таким образом, трёх рулонов хватит примерно на месяц.

    Математические задачи или другие типы текстовых задач отлично подходят для того, чтобы попросить модель думать шаг за шагом.

    Быстрый Ответ

    Каков 4-й член последовательности?

    -135

    Ответ модели неверен. Один из способов исправить ситуацию — попросить модель проанализировать проблему, прежде чем отвечать на подсказку.

    Быстрый Ответ

    Сначала проанализируем формулу на изображении.

    Затем, опираясь на формулу, ответьте: «Какой четвертый член в последовательности?».

    Нажмите, чтобы развернуть результат

    $$ b(n) = b(n-1) * (-3) $$

    $$ b(1) = 15 $$

    1. Подставим n = 4 в формулу:
    2. $$ b(4) = b(4-1) * (-3) $$

      $$ b(4) = b(3) * (-3) $$

    3. Мы не знаем значение b(3), поэтому подставим n = 3 в формулу:
    4. $$ b(3) = b(3-1) * (-3) $$

      $$ b(3) = b(2) * (-3) $$

    5. Мы не знаем значение b(2), поэтому подставим n = 2 в формулу:
    6. $$ b(2) = b(2-1) * (-3) $$

      $$ b(2) = b(1) * (-3) $$

    7. Мы знаем, что значение b(1) равно 15, поэтому подставим его в формулу:
    8. $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    9. Теперь, когда мы знаем значение b(2), подставим его в формулу для b(3):
    10. $$ b(3) = b(2) * (-3) $$

      $$ b(3) = -45 * (-3) $$

      $$ b(3) = 135 $$

    11. Теперь, когда мы знаем значение b(3), подставим его в формулу для b(4):
    12. $$ b(4) = b(3) * (-3) $$

      $$ b(4) = 135 * (-3) $$

      $$ b(4) = -405 $$

    Следовательно, 4-й член последовательности равен -405.

    Этот ответ модели правильный — теперь, чтобы сделать ответ еще более рационализированным, вы можете попросить модель думать пошагово.

    Обновленная подсказка Улучшенный ответ

    Какой четвёртый член последовательности? Подумайте пошагово.

    Первый член — 15.

    Второй член равен b(1) * (-3) = 15 * (-3) = -45.

    Третий член равен b(2) * (-3) = -45 * (-3) = 135.

    Четвертый член: b(3) * (-3) = 135 * (-3) = -405.

    Укажите выходной формат

    Распространенной проблемой является необходимость представления выходных данных модели в определённом формате (например, Markdown, JSON, HTML), особенно если выходные данные модели должны быть использованы последующей задачей. Вы можете попытаться сформировать выходные данные в этом формате, указав модели на это в командной строке. Ниже приведены два примера:

    Быстрый Модель ответа

    Преобразовать таблицу на этом изображении в формат Markdown

    | Тема | Статус | Время | Дата начала | Срок выполнения |

    | ------- | ------ | ---- | ---------- | ------ |

    | Математика | Готово | 1,5 часа | 29.11.2023 | 01.12.2023 |

    | География | Готово | 30 мин | 02.12.2023 | 04.12.2023 |

    | Физика | В процессе | 2 часа | 03.12.2023 | 05.12.2023 |

    | Биология | Не начато | 6 часов | 02.11.2016 | 06.12.2023 |

    Быстрый Модель ответа

    Предоставьте список всех следующих атрибутов:

    ингредиенты, тип кухни, вегетарианская или нет, в формате JSON

    ```json

    {

    "ингредиенты": [

    "рис",

    "креветка",

    "моллюски",

    "моллюски",

    "горох",

    "помидоры",

    "лук",

    "чеснок",

    "оливковое масло",

    "паприка",

    "соль",

    "перец"

    ],

    "тип кухни": "испанская",

    "вегетарианец": ложь

    }

    ```

    Для подсказок с одним изображением поставьте изображение первым

    Хотя Gemini может интерпретировать изображения и текст в любом порядке в подсказке, размещение одного изображения перед текстовой подсказкой может привести к лучшим результатам. В следующих примерах вы заметите, что в каждой подсказке изображение идёт перед текстом.

    Устранение неполадок в мультимодальном запросе

    Если вы не получаете полезного ответа, возможно, вам придётся устранить неполадки в работе подсказки. Вот несколько стратегий, которые вы можете попробовать.

    Если модель не извлекает информацию из соответствующей части изображения

    Чтобы получить более конкретный ответ, вы можете указать, из каких аспектов изображения вы хотите, чтобы подсказчик черпал информацию для своего ответа.

    Быстрый Модель ответа

    На сколько дней хватит этих подгузников для ребенка?

    Подгузников хватит на 198 дней, после чего они закончатся.

    Обновленная подсказка Улучшенный ответ

    На сколько мне хватит этих подгузников, прежде чем они закончатся?

    Определите возраст ребенка по весу, указанному на коробке, и укажите общее количество подгузников в коробке.

    Разделите общее число на количество подгузников, которые ребенок меняет в день.

    В коробке 198 подгузников. На коробке указано, что подгузники рассчитаны на ребёнка весом от 10 до 16 кг.

    Средний возраст ребенка в этом диапазоне веса составляет от 1 до 2 лет.

    Двухлетнему ребенку обычно требуется 6 подгузников в день, поэтому подгузников хватит примерно на 33 дня (198/6).

    Если выходные данные модели слишком общие и недостаточно соответствуют входным данным изображения

    Чтобы помочь модели адаптировать свою реакцию к изображению(ям), попробуйте попросить ее описать изображения, прежде чем выполнять задачу рассуждения.

    Быстрый Модель ответа

    Что общего между этими изображениями?

    Все четыре изображения являются примерами пейзажной фотографии.

    Обновленная подсказка Улучшенный ответ

    Сначала подробно опишите каждое изображение. Что общего между ними?

    На первом изображении изображён человек, пакующий чемодан. На втором — пустой коридор торгового центра. На третьем — рулон туалетной бумаги. На четвёртом — тёмное бурное море.

    Общим между этими изображениями является то, что все они являются примерами лиминальных пространств. Лиминальные пространства — это места или ситуации, находящиеся между двумя другими местами или ситуациями. Они часто характеризуются ощущением неопределённости или двусмысленности.

    На первом изображении человек находится в состоянии, которое можно разделить на время между пребыванием дома и поездкой. На втором изображен коридор между двумя магазинами. На третьем изображена туалетная бумага, которая может символизировать ванную комнату. Ванная комната — это переходное пространство между личным и общественным пространством. Это место, где мы готовимся к выходу из внешнего мира или уходу из него.

    На четвертом изображении показано море в состоянии между штилем и штормом.

    Пограничные пространства могут быть одновременно захватывающими и тревожными. Они могут быть местом нового начала или местом завершения. Они могут быть местом размышлений или местом действия.

    Вы также можете попробовать прямо попросить модель сослаться на то, что изображено на изображении.

    Обновленная подсказка Улучшенный ответ

    Что общего между этими изображениями? В своём ответе укажите, что изображено на изображениях.

    Все изображения связаны с путешествиями. На первом изображен человек, пакующий чемодан, на втором — пустой коридор торгового центра, на третьем — стопка туалетной бумаги, а на четвёртом — тёмное штормовое море.

    Все эти изображения связаны с путешествиями, поскольку представляют собой вещи, которые нужны людям или которые они используют во время путешествия. На первом изображен человек, пакующий чемодан, что часто происходит, когда люди отправляются в путешествие. На втором изображен пустой коридор торгового центра, куда люди часто заходят за покупками в дорогу. На третьем изображена стопка туалетной бумаги, которой люди часто пользуются во время путешествий. На четвёртом изображено тёмное и бурное море, с которым люди часто сталкиваются во время путешествий.

    Те же советы применимы и для творческого вывода изображений. В следующем примере с кроликом, явное указание модели включить аспекты изображения может улучшить результат.

    Быстрый Модель ответа

    Можете ли вы написать мне стихотворение об этом изображении?

    Маленький кролик, такой мягкий и коричневый,
    Прыгаем по полю, вверх и вниз.
    Твои уши такие длинные, твой хвост такой маленький,
    Ты самое милое существо из всех.

    Ты щиплешь траву, такую ​​зеленую и сладкую,
    И убегай прочь, как только увидишь меня.
    Но я всегда буду твоим другом,
    Маленький зайчик, до самого конца.

    Обновленная подсказка Улучшенный ответ

    Можете ли вы написать мне описательное и драматичное стихотворение об этом изображении, указав место, где оно было сделано?

    Маленький зайчик на зелени,
    Уши такие длинные, такие острые.
    Что ты там видишь?
    Вдаль, куда ты смотришь?

    Это синий океан,
    Сверкающий в лучах солнца оттенок?
    Или волны, которые разбиваются и ревут,
    Ритм, который вы обожаете?

    Маленький зайчик, скажи мне правду,
    Что так привлекает ваше внимание?
    Это соленый бриз,
    Или крики чаек, которые радуют?

    Возможно, дело в необъятности всего этого,
    Мир такой большой и маленький.
    Место, где могут бродить мечты,
    И приключения можно сеять.

    Маленький зайчик, мне интересно, что тебе снится,
    Сидишь на траве, так спокойно.
    Вы жаждете исследовать глубины,
    Или остаться на суше, где можно прыгать?

    Что бы это ни было, маленький зайчик,
    Пусть эта искра чуда ярко горит.
    Ибо в твоих мечтах и ​​стремлениях,
    Целый мир ждет твоего творения.

    Устранение неполадок, связанных с тем, какая часть запроса не удалась

    Иногда бывает сложно понять, была ли подсказка не выполнена, потому что модель изначально не поняла изображение , или же она поняла изображение, но не выполнила правильные шаги рассуждения . Чтобы разобраться в этих причинах, попросите модель описать, что изображено на изображении.

    В следующем примере, если модель отвечает за закуску, которая кажется неожиданной в сочетании с чаем (например, попкорн), вы можете сначала устранить неполадки, чтобы определить, правильно ли модель распознала, что изображение содержит чай.

    Быстрый Запрос на устранение неполадок

    Какую закуску я могу приготовить за 1 минуту, чтобы она хорошо к этому подошла?

    Опишите, что изображено на этой картинке.

    Другая стратегия — попросить модель объяснить ход своих рассуждений. Это поможет вам определить, какая часть рассуждений дала сбой, если таковой вообще имелся.

    Быстрый Запрос на устранение неполадок

    Какую закуску я могу приготовить за 1 минуту, чтобы она хорошо к этому подошла?

    Какую закуску можно приготовить за минуту, чтобы она хорошо к этому подошла? Объясните, пожалуйста, почему.

    Что дальше?

    • Попробуйте написать собственные многомодальные подсказки с помощью Google AI Studio .
    • Информацию об использовании API Gemini Files для загрузки медиафайлов и включения их в ваши запросы см. в руководствах по обработке Vision , Audio и Document .
    • Дополнительные рекомендации по разработке подсказок, например, по настройке параметров выборки, см. на странице «Стратегии подсказок» .