![]() | ![]() | ![]() | | ![]() |
Создание текста, суммирования и анализа контента - это лишь некоторые из задач, которые вы можете выполнить с моделями Gemma Open. В этом учебном пособии показано, как начать работу Gemma, используя обнимающие трансформаторы лица, используя как текст, так и ввод изображения для генерации текстового содержимого. Библиотека Transformers Python предоставляет API для доступа к предварительно обученным генеративным моделям ИИ, включая Джемму. Для получения дополнительной информации см. Документацию Transformers .
Настраивать
Перед началом работы с этим руководством выполните следующие шаги:
- Чтобы получить доступ к Gemma, войдите в Hugging Face и выберите «Подтвердить лицензию» для модели Gemma.
- Выберите среду выполнения Colab с достаточными ресурсами для запуска модели Gemma нужного размера. Подробнее .
- Создайте токен доступа Hugging Face и добавьте его в свою среду Colab.
Настроить токен доступа
Добавьте свой токен доступа в Colab, чтобы разрешить загрузку моделей Gemma с сайта Hugging Face. Используйте функцию Colab Secrets , чтобы безопасно сохранить свой токен, не добавляя его в рабочий код.
Чтобы добавить свой токен доступа Hugging Face в качестве секрета:
- Откройте вкладку «Секреты», выбрав значок ключа в левой части интерфейса, или выберите «Инструменты» > «Палитра команд» , введите
secrets
и нажмите Enter . - Выберите Добавить новый секрет , чтобы добавить новую запись секрета.
- В поле Имя введите
HF_TOKEN
. - В поле «Значение» введите текст вашего токена доступа Hugging Face.
- В поле Доступ к блокноту выберите переключатель, чтобы включить доступ.
После того как вы ввели свой токен доступа как HF_TOKEN
и значение, вы можете получить к нему доступ и установить его в среде блокнота Colab, используя следующий код:
from google.colab import userdata
from huggingface_hub import login
# Login into Hugging Face Hub
hf_token = userdata.get('HF_TOKEN') # If you are running inside a Google Colab
login(hf_token)
Установить пакеты Python
Установите библиотеки Hugging Face, необходимые для запуска модели Gemma и выполнения запросов.
# Install Pytorch & other libraries
%pip install "torch>=2.4.0"
# Install a transformers version that supports Gemma 3 (>= 4.51.3)
%pip install "transformers>=4.51.3"
Генерация текста из текста
Запрос текста модели Gemma для получения текстового ответа — самый простой способ использования Gemma, который работает практически со всеми её модификациями. В этом разделе показано, как использовать библиотеку Hugging Face Transformers для загрузки и настройки модели Gemma для генерации текста в текст.
Модель нагрузки
Используйте библиотеки torch
and transformers
, чтобы создать экземпляр класса pipeline
выполнения модели с Gemma. При использовании модели для генерации вывода или следующих направлений выберите модель Trind Funed (IT), которая обычно имеет it
в строке идентификатора модели. Используя объект pipeline
, вы указываете вариант Gemma, который вы хотите использовать, тип задачи, которую вы хотите выполнить, в частности "text-generation"
для генерации текста в тексте, как показано в следующем примере кода:
import torch
from transformers import pipeline
pipeline = pipeline(
task="text-generation",
model="google/gemma-3-4b-it",
device=0, # "cuda" for Colab, "msu" for iOS devices
torch_dtype=torch.bfloat16
)
Джемма поддерживает только несколько настроек task
для поколения. Для получения дополнительной информации о доступных настройках task
см. В документацию «Объявающее лицо » () документация. Используйте TORCH TORCH TORCH torch.bfloat16
, чтобы снизить точность модели и вычислить необходимые ресурсы, без значительного влияния на качество выходного производства модели. Для настройки device
вы можете использовать "cuda"
для Colab или "msu"
для устройств iOS или просто установить его на 0
(ноль), чтобы указать первый графический процессор в вашей системе. Для получения дополнительной информации об использовании класса трубопровода см. В документации об объятиях .
Запустить генерацию текста
После загрузки и настройки модели Gemma в объекте pipeline
вы можете отправлять запросы модели. В следующем примере кода показан базовый запрос с использованием параметра text_inputs
:
pipeline(text_inputs="roses are red")
[{'generated_text': 'roses are red, violets are blue, \ni love you more than you ever knew.\n\n**Explanation'}]
Используйте шаблон подсказки
При создании контента с более сложными подсказками используйте шаблон подсказки для структурирования запроса. Шаблон подсказки позволяет указать входные данные от определённых ролей, таких как user
или model
, и является обязательным форматом для управления многовариантным чат-взаимодействием с моделями Gemma. В следующем примере кода показано, как создать шаблон подсказки для Gemma:
messages = [
[
{
"role": "system",
"content": [{"type": "text", "text": "You are a helpful assistant."},]
},
{
"role": "user",
"content": [{"type": "text", "text": "Roses are red..."},]
},
],
]
pipeline(messages, max_new_tokens=50)
Генерация текста из данных изображения
Начиная с Gemma 3, для моделей размером 4B и выше вы можете использовать данные изображений в качестве части приглашения. В этом разделе показано, как использовать библиотеку Transformers для загрузки и настройки модели Gemma для использования данных изображений и текстового ввода для генерации текстового вывода.
Модель нагрузки
При загрузке модели Gemma для использования с изображениями необходимо настроить экземпляр pipeline
Transformer специально для работы с изображениями. В частности, необходимо выбрать конфигурацию конвейера, которая поддерживает обработку визуальных данных, установив параметр task
на "image-text-to-text"
, как показано в следующем примере кода:
import torch
from transformers import pipeline
pipeline = pipeline(
task="image-text-to-text", # required for image input
model="google/gemma-3-4b-it",
device=0,
torch_dtype=torch.bfloat16
)
Запустить генерацию текста
После настройки модели Gemma для обработки входных изображений с помощью экземпляра pipeline
вы можете отправлять модели запросы с изображениями. Используйте токен <start_of_image>
для добавления изображения в текст запроса. В следующем примере кода показан базовый запрос с использованием параметра pipeline
:
pipeline(
"https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg",
text="<start_of_image> What is shown in this image?"
)
[{'input_text': '<start_of_image> What is shown in this image?', 'generated_text': '<start_of_image> What is shown in this image?\n\nThis image showcases a traditional Indian Thali. A Thali is a platter that contains a variety'}]
Используйте шаблон подсказки
При создании контента с более сложными подсказками используйте шаблон подсказки для структурирования запроса. Шаблон подсказки позволяет указать входные данные от определённых ролей, таких как user
или model
, и является обязательным форматом для управления многовариантным чат-взаимодействием с моделями Gemma. В следующем примере кода показано, как создать шаблон подсказки для Gemma:
messages = [
{
"role": "user",
"content": [
{"type": "image", "url": "https://ai.google.dev/static/gemma/docs/images/thali-indian-plate.jpg"},
{"type": "text", "text": "What is shown in this image?"},
]
},
{
"role": "assistant",
"content": [
{"type": "text", "text": "This image shows"},
],
},
]
pipeline(text=messages, max_new_tokens=50, return_full_text=False)
Вы можете включить несколько изображений в свой запрос, включив дополнительные записи "type": "image",
в список content
.
Генерация текста из аудиоданных
С помощью Gemma 3n вы можете использовать аудиоданные в качестве части вашего приглашения. В этом разделе показано, как использовать библиотеку Transformers для загрузки и настройки модели Gemma для использования аудиоданных и текстового ввода для генерации текстового вывода.
Установить пакеты Python
Для использования аудиовхода с Gemma требуется последняя версия библиотек Transformers. Установите библиотеки Hugging Face для запуска модели Gemma и отправки запросов с аудиоданными, как показано ниже.
# Install Pytorch & other libraries
%pip install "torch>=2.4.0"
# Install a transformers version that supports Gemma 3n (>= 4.53)
%pip install "transformers>=4.53.0"
Модель нагрузки
При загрузке модели Gemma для использования с аудиоданными необходимо настроить экземпляр Transformer специально для работы с аудиоданными. В частности, необходимо определить processor
и объект model
с помощью классов AutoProcessor
и AutoModelForImageTextToText
, как показано в следующем примере кода:
import torch
from transformers import AutoProcessor, AutoModelForImageTextToText
GEMMA_MODEL_ID = "google/gemma-3n-E4B-it"
processor = AutoProcessor.from_pretrained(GEMMA_MODEL_ID, device_map="auto")
model = AutoModelForImageTextToText.from_pretrained(
GEMMA_MODEL_ID, torch_dtype="auto", device_map="auto")
Используйте шаблон подсказки
При создании контента со звуком используйте шаблон запроса для структурирования запроса. Шаблон запроса позволяет указать входные данные от определённых ролей, таких как user
или model
, и является обязательным форматом для управления многоэтапным чат-взаимодействием с моделями Gemma. В следующем примере кода показано, как создать шаблон запроса для Gemma с аудиоданными:
messages = [
{
"role": "user",
"content": [
{"type": "audio", "audio": "https://ai.google.dev/gemma/docs/audio/roses-are.wav"},
{"type": "text", "text": "Transcribe this audio and complete the statement"},
]
}
]
Вы можете включить в приглашение несколько аудиофайлов, добавив дополнительные записи "type": "audio",
в список content
. Если приглашение содержит аудиоданные, но без шаблона, используйте синтаксис <audio_soft_token>
в тексте приглашения.
Запустить генерацию текста
После настройки модели Gemma с использованием processor
и объекта model
, а также создания запроса с аудиоданными с помощью шаблона запроса, вы можете отправить запрос для генерации выходных данных. В следующем примере кода показан запрос с использованием шаблона чата, генерация выходных данных и декодирование ответа:
input_ids = processor.apply_chat_template(
messages,
add_generation_prompt=True,
tokenize=True, return_dict=True,
return_tensors="pt",
)
input_ids = input_ids.to(model.device, dtype=model.dtype)
# Generate output from the model
outputs = model.generate(**input_ids, max_new_tokens=128)
# decode and print the output as text
text = processor.batch_decode(
outputs,
skip_special_tokens=False,
clean_up_tokenization_spaces=False
)
print(text[0])
Следующие шаги
Создавайте и исследуйте больше с помощью моделей Gemma:
- Тонкая настройка Джеммы для текстовых задач с помощью Hugging Face Transformers
- Настройте Джемму для решения задач, связанных со зрением, с помощью Hugging Face Transformers
- Выполнение распределенной тонкой настройки и вывода на моделях Gemma
- Используйте открытые модели Gemma с Vertex AI
- Тонкая настройка Gemma с помощью Keras и развертывание в Vertex AI