quickstarts/Models.ipynb (290 lines of code) (raw):

{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Tce3stUlHN0L" }, "source": [ "##### Copyright 2025 Google LLC." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "cellView": "form", "id": "tuOe1ymfHZPu" }, "outputs": [], "source": [ "# @title Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# https://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": { "id": "L5Lv3UtGCFH4" }, "source": [ "# Gemini API: List models\n" ] }, { "cell_type": "markdown", "metadata": { "id": "nAJ9EGE2SoXm" }, "source": [ "<a target=\"_blank\" href=\"https://colab.research.google.com/github/google-gemini/cookbook/blob/main/quickstarts/Models.ipynb\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" height=30/></a>" ] }, { "cell_type": "markdown", "metadata": { "id": "Gh9D-DvWSuqq" }, "source": [ "This notebook demonstrates how to list the models that are available for you to use in the Gemini API, and how to find details about a model." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "i755jXzS5kLN" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[?25l \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/200.0 kB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K \u001b[91m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━\u001b[0m \u001b[32m194.6/200.0 kB\u001b[0m \u001b[31m13.2 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m200.0/200.0 kB\u001b[0m \u001b[31m3.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h" ] } ], "source": [ "%pip install -U -q 'google-genai>=1.0.0'" ] }, { "cell_type": "markdown", "metadata": { "id": "4ol10W6Q_Y-s" }, "source": [ "## Configure your API key\n", "\n", "To run the following cell, your API key must be stored it in a Colab Secret named `GOOGLE_API_KEY`. If you don't already have an API key, or you're not sure how to create a Colab Secret, see [Authentication](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Authentication.ipynb) for an example." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "8PXsFZBQ_XA5" }, "outputs": [], "source": [ "from google.colab import userdata\n", "\n", "GOOGLE_API_KEY = userdata.get(\"GOOGLE_API_KEY\")" ] }, { "cell_type": "markdown", "metadata": { "id": "3Al4lFhNB22n" }, "source": [ "## List models\n", "\n", "Use `list_models()` to see what models are available. These models support `generateContent`, the main method used for prompting." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "3wE76b_gBn2k" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "models/embedding-gecko-001\n", "models/gemini-1.0-pro-vision-latest\n", "models/gemini-pro-vision\n", "models/gemini-1.5-pro-latest\n", "models/gemini-1.5-pro-001\n", "models/gemini-1.5-pro-002\n", "models/gemini-1.5-pro\n", "models/gemini-1.5-flash-latest\n", "models/gemini-1.5-flash-001\n", "models/gemini-1.5-flash-001-tuning\n", "models/gemini-1.5-flash\n", "models/gemini-1.5-flash-002\n", "models/gemini-1.5-flash-8b\n", "models/gemini-1.5-flash-8b-001\n", "models/gemini-1.5-flash-8b-latest\n", "models/gemini-1.5-flash-8b-exp-0827\n", "models/gemini-1.5-flash-8b-exp-0924\n", "models/gemini-2.5-pro\n", "models/gemini-2.5-pro\n", "models/gemini-2.5-flash-preview-04-17\n", "models/gemini-2.5-flash\n", "models/gemini-2.5-flash-preview-04-17-thinking\n", "models/gemini-2.5-pro\n", "models/gemini-2.5-pro\n", "models/gemini-2.0-flash-exp\n", "models/gemini-2.0-flash\n", "models/gemini-2.0-flash-001\n", "models/gemini-2.0-flash-exp-image-generation\n", "models/gemini-2.5-flash-lite-preview-06-17-001\n", "models/gemini-2.5-flash-lite-preview-06-17\n", "models/gemini-2.0-flash-preview-image-generation\n", "models/gemini-2.5-flash-lite-preview-06-17-preview-02-05\n", "models/gemini-2.5-flash-lite-preview-06-17-preview\n", "models/gemini-2.0-pro-exp\n", "models/gemini-2.0-pro-exp-02-05\n", "models/gemini-exp-1206\n", "models/gemini-2.0-flash-thinking-exp-01-21\n", "models/gemini-2.0-flash-thinking-exp\n", "models/gemini-2.0-flash-thinking-exp-1219\n", "models/gemini-2.5-flash-preview-tts\n", "models/gemini-2.5-pro-preview-tts\n", "models/learnlm-2.0-flash-experimental\n", "models/gemma-3-1b-it\n", "models/gemma-3-4b-it\n", "models/gemma-3-12b-it\n", "models/gemma-3-27b-it\n", "models/gemma-3n-e4b-it\n", "models/embedding-001\n", "models/text-embedding-004\n", "models/gemini-embedding-exp-03-07\n", "models/gemini-embedding-exp\n", "models/aqa\n", "models/imagen-3.0-generate-002\n", "models/veo-2.0-generate-001\n", "models/gemini-2.5-flash-preview-native-audio-dialog\n", "models/gemini-2.5-flash-preview-native-audio-dialog-rai-v3\n", "models/gemini-2.5-flash-exp-native-audio-thinking-dialog\n", "models/gemini-2.0-flash-live-001\n" ] } ], "source": [ "from google import genai\n", "\n", "client = genai.Client(api_key=GOOGLE_API_KEY)\n", "\n", "for model in client.models.list():\n", " print(model.name)" ] }, { "cell_type": "markdown", "metadata": { "id": "tlguLt1yKET9" }, "source": [ "These models support `embedContent`, used for embeddings:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "lQmlIpr5JHqz" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "models/embedding-001\n", "models/text-embedding-004\n", "models/gemini-embedding-exp-03-07\n", "models/gemini-embedding-exp\n" ] } ], "source": [ "for model in client.models.list():\n", " if \"embedContent\" in model.supported_actions:\n", " print(model.name)" ] }, { "cell_type": "markdown", "metadata": { "id": "nFJAyDD9QVrC" }, "source": [ "## Find details about a model\n", "\n", "You can see more details about a model, including the `input_token_limit` and `output_token_limit` as follows." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "BYYxVE4ZnoGy" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "name='models/gemini-2.0-flash' display_name='Gemini 2.0 Flash' description='Gemini 2.0 Flash' version='2.0' endpoints=None labels=None tuned_model_info=TunedModelInfo(base_model=None, create_time=None, update_time=None) input_token_limit=1048576 output_token_limit=8192 supported_actions=['generateContent', 'countTokens', 'createCachedContent', 'batchGenerateContent'] default_checkpoint_id=None checkpoints=None\n" ] } ], "source": [ "for model in client.models.list():\n", " if model.name == \"models/gemini-2.0-flash\":\n", " print(model)" ] }, { "cell_type": "markdown", "metadata": { "id": "Tq7i5FAwCe1v" }, "source": [ "## Learning more\n", "\n", "* To learn how use a model for prompting, see the [Prompting](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Prompting.ipynb) quickstart.\n", "\n", "* To learn how use a model for embedding, see the [Embedding](https://github.com/google-gemini/cookbook/blob/main/quickstarts/Embeddings.ipynb) quickstart.\n", "\n", "* For more information on models, visit the [Gemini models](https://ai.google.dev/models/gemini) documentation." ] } ], "metadata": { "colab": { "name": "Models.ipynb", "toc_visible": true }, "kernelspec": { "display_name": "Python 3", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 0 }