О чём урок
Gemini API может быть использован для генерации JSON output, если вы зададите schema, которую хотите использовать. Доступны два метода. Вы можете либо задать желаемый output в prompt, либо предоставить schema модели отдельно. Примечание: Этот notebook использует Interactions API, новейший способ взаимодействия с моделями Gemini. Ищете версию generateContent? Проверьте архивную ветку. Чтобы запустить следующую cell, ваш API key должен быть сохранен в Colab Secret с именем GEMINI_API_KEY. Если у вас еще нет API key или вы не знаете, как создать Colab Secret, см. Authentication для пошагового руководства. Для этого первого примера просто опишите schema, которую вы хотите, непосредственно в prompt, и попросите модель вернуть JSON, используя response_format. Параметр response_format со значением {"type": "text", "mime_type": "application/json"} указывает модели выводить только валидный JSON — без него модель может обернуть JSON в markdown code blocks или добавить пояснительный текст вокруг него. Выберите модель, которую вы хотите использовать в этом руководстве: Разберите строку в JSON: Ответ от interactions.create содержит список steps. Для текстовых ответов доступ к output осуществляется через interaction.steps[-1].content[0].text. Для читаемости сериализуйте и выведите его: Другой вариант — передать schema напрямую через параметр response_format. Output модели будет точно соответствовать этой schema. Вы можете определить свою schema как Python class, используя Pydantic (или typing_extensions.TypedDict), и использовать .model_json_schema() для автоматической генерации JSON Schema. Это гораздо чище, чем писать сырую JSON Schema вручную: Используйте .model_json_schema() для автоматической генерации JSON Schema из вашей Pydantic model.
План урока
- Установка зависимостей
- Настройка ключа API
- Задайте ограниченный output в prompt
- Предоставьте schema модели напрямую
- Следующие шаги
- Полезные API references
- Связанные примеры
Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.