Tutoriel d'optimisation

<ph type="x-smartling-placeholder"></ph>

Ce tutoriel vous aidera à vous lancer dans le réglage de l'API Gemini à l'aide du SDK Python ou de l'API REST curl Les exemples montrent comment régler le modèle de texte le service de génération de texte de l'API Gemini.

Afficher sur ai.google.dev Essayer un notebook Colab Afficher le notebook sur GitHub

Configurer l'authentification

L'API Gemini vous permet de régler des modèles à partir de vos propres données. Puisqu'il s'agit de vos données et vos modèles réglés nécessitent des contrôles d'accès plus stricts que ceux fournis par les clés API.

Avant de pouvoir exécuter ce didacticiel, vous devez configurer OAuth pour votre projet.

Répertorier les modèles réglés

Vous pouvez vérifier vos modèles réglés existants avec l'genai.list_tuned_models .

for model_info in genai.list_tuned_models():
    print(model_info.name)

Créer un modèle réglé

Pour créer un modèle réglé, vous devez lui transmettre l'ensemble de données genai.create_tuned_model. Pour ce faire, définissez directement des valeurs d'entrée et de sortie dans l'appel ou de l'importation d'un fichier dans une trame de données pour transmettons à la méthode.

Dans cet exemple, vous allez régler un modèle pour générer le nombre suivant dans la séquence. Par exemple, si l'entrée est 1, le modèle doit générer 2. Si le l'entrée est one hundred, la sortie doit être one hundred one.

import time

base_model = "models/gemini-1.5-flash-001-tuning"
training_data = [
    {"text_input": "1", "output": "2"},
    # ... more examples ...
    # ...
    {"text_input": "seven", "output": "eight"},
]
operation = genai.create_tuned_model(
    # You can use a tuned model here too. Set `source_model="tunedModels/..."`
    display_name="increment",
    source_model=base_model,
    epoch_count=20,
    batch_size=4,
    learning_rate=0.001,
    training_data=training_data,
)

for status in operation.wait_bar():
    time.sleep(10)

result = operation.result()
print(result)
# # You can plot the loss curve with:
# snapshots = pd.DataFrame(result.tuning_task.snapshots)
# sns.lineplot(data=snapshots, x='epoch', y='mean_loss')

model = genai.GenerativeModel(model_name=result.name)
result = model.generate_content("III")
print(result.text)  # IV

Les valeurs optimales pour le nombre d'époques, la taille de lot et le taux d'apprentissage dépendent sur votre ensemble de données et d'autres contraintes de votre cas d'utilisation. Pour en savoir plus sur ces valeurs, consultez Paramètres de réglage avancés et Hyperparamètres :

Le réglage d'un modèle pouvant prendre beaucoup de temps, cette API n'attend pas que le pour terminer le réglage. Au lieu de cela, il renvoie un google.api_core.operation.Operation qui vous permet de vérifier l'état de la tâche de réglage ou d'attendre qu'elle terminer et vérifier le résultat.

Votre modèle réglé est immédiatement ajouté à la liste des modèles réglés, mais son est défini sur "création" pendant que le modèle est réglé.

Vérifier la progression du réglage

Vous pouvez vérifier la progression de l'opération de réglage à l'aide du wait_bar() méthode:

for status in operation.wait_bar():
    time.sleep(10)

Vous pouvez également utiliser operation.metadata pour vérifier le nombre total d'étapes de réglage et operation.update() pour actualiser l'état de l'opération.

Vous pouvez annuler votre job de réglage à tout moment à l'aide de la méthode cancel().

operation.cancel()

Essayer le modèle

Vous pouvez utiliser la méthode genai.generate_text et spécifier le nom du pour tester ses performances.

model = genai.GenerativeModel(model_name="tunedModels/my-increment-model")
result = model.generate_content("III")
print(result.text)  # "IV"

Mettre à jour la description

Vous pouvez mettre à jour la description de votre modèle réglé à tout moment à l'aide de la méthode genai.update_tuned_model.

genai.update_tuned_model('tunedModels/my-increment-model', {"description":"This is my model."})

Supprimer le modèle

Vous pouvez nettoyer votre liste de modèles réglés en supprimant ceux dont vous n'avez plus besoin. Utilisez la méthode genai.delete_tuned_model pour supprimer un modèle. Si vous avez annulé une des jobs de réglage, vous pouvez les supprimer, car leurs performances peuvent être imprévisible.

genai.delete_tuned_model("tunedModels/my-increment-model")