<ph type="x-smartling-placeholder">
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")