Это руководство поможет вам начать работу со службой настройки Gemini API с помощью Python SDK или REST API с помощью Curl . В примерах показано, как настроить текстовую модель службы генерации текста Gemini API.
![]() | ![]() | ![]() |
Ограничения
Перед настройкой модели следует знать о следующих ограничениях:
Точная настройка наборов данных
Наборы данных тонкой настройки для Gemini 1.5 Flash имеют следующие ограничения:
- Максимальный размер ввода для каждого примера — 40 000 символов.
- Максимальный размер вывода для каждого примера — 5000 символов.
- Поддерживаются только примеры пар ввода-вывода. Многоходовые разговоры в стиле чата не поддерживаются.
Тюнингованные модели
Тюнингованные модели имеют следующие ограничения:
- Ограничение ввода настроенной модели Gemini 1.5 Flash составляет 40 000 символов.
- Режим JSON не поддерживается настроенными моделями.
- Поддерживается только ввод текста.
Прежде чем начать: настройте проект и ключ API.
Прежде чем вызывать API Gemini, вам необходимо настроить проект и ключ API.
Получите и защитите свой ключ API
Для вызова API Gemini вам понадобится ключ API. Если у вас его еще нет, создайте ключ в Google AI Studio.
Настоятельно рекомендуется не проверять ключ API в вашей системе контроля версий.
Вам следует хранить свой ключ API в хранилище секретов, например Google Cloud Secret Manager .
В этом руководстве предполагается, что вы получаете доступ к своему ключу API как к переменной среды.
Установите пакет SDK и настройте свой ключ API.
Python SDK для Gemini API содержится в пакете google-genai
.
Установите зависимость с помощью pip:
pip install -U google-genai
Поместите свой ключ API в переменную среды
GOOGLE_API_KEY
:export GOOGLE_API_KEY="YOUR_KEY_HERE"
Создайте API-
Client
, он возьмет ключ из среды:import google.generativeai as genai client = genai.Client()
Список настроенных моделей
Вы можете проверить существующие настроенные модели с помощью метода tunedModels.list
.
from google import genai
client = genai.Client() # Get the key from the GOOGLE_API_KEY env variable
for model_info in client.models.list():
print(model_info.name)
Создайте настроенную модель
Чтобы создать настроенную модель, вам необходимо передать набор данных в модель в методе tunedModels.create
.
В этом примере вы настроите модель для генерации следующего числа в последовательности. Например, если входное значение равно 1
, модель должна вывести 2
. Если на входе one hundred
, на выходе должно быть one hundred one
.
# create tuning model
training_dataset = [
["1", "2"],
["3", "4"],
["-3", "-2"],
["twenty two", "twenty three"],
["two hundred", "two hundred one"],
["ninety nine", "one hundred"],
["8", "9"],
["-98", "-97"],
["1,000", "1,001"],
["10,100,000", "10,100,001"],
["thirteen", "fourteen"],
["eighty", "eighty one"],
["one", "two"],
["three", "four"],
["seven", "eight"],
]
training_dataset=types.TuningDataset(
examples=[
types.TuningExample(
text_input=i,
output=o,
)
for i,o in training_dataset
],
)
tuning_job = client.tunings.tune(
base_model='models/gemini-1.0-pro-001',
training_dataset=training_dataset,
config=types.CreateTuningJobConfig(
epoch_count= 5,
batch_size=4,
learning_rate=0.001,
tuned_model_display_name="test tuned model"
)
)
# generate content with the tuned model
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III',
)
print(response.text)
Оптимальные значения количества эпох, размера пакета и скорости обучения зависят от вашего набора данных и других ограничений вашего варианта использования. Дополнительные сведения об этих значениях см. в разделе Расширенные настройки настройки и гиперпараметры .
Попробуйте модель
Вы можете использовать метод tunedModels.generateContent
и указать имя настроенной модели, чтобы проверить ее производительность.
response = client.models.generate_content(
model=tuning_job.tuned_model.model,
contents='III'
)
Не реализовано
Некоторые функции (отчеты о ходе работы, обновление описания и удаление настроенных моделей) еще не реализованы в новом SDK.