Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Créez et gérez des tâches de réglage précis pour les modèles à poids ouvert à l'aide d'OpenAI APIs
Les tâches de réglage fin compatibles avec OpenAI vous APIs permettent de créer, de surveiller et de gérer des tâches de réglage précis. Cette page décrit leur utilisation APIs pour affiner le renforcement. Pour obtenir des informations complètes sur l'API, consultez la documentation relative OpenAI au réglage précis.
Créez un travail de réglage précis
Crée une tâche de réglage fin qui lance le processus de création d'un nouveau modèle à partir d'un jeu de données donné. Pour obtenir des informations complètes sur l'API, consultez la documentation relative à la OpenAI création de tâches de réglage précis.
Exemples
Pour créer une tâche de réglage précis avec la méthode RFT, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Create fine-tuning job with RFT method
job_response = client.fine_tuning.jobs.create(
model=MODEL_ID,
training_file=training_file_id,
# Suffix field is not supported so commenting for now.
# suffix="rft-example", # Optional: suffix for fine-tuned model name
extra_body={
"method": {
"type": "reinforcement",
"reinforcement": {
"grader": {
"type": "lambda",
"lambda": {
"function": "arn:aws:lambda:us-west-2:123456789012:function:my-reward-function" # Replace with your Lambda ARN
}
},
"hyperparameters": {
"n_epochs": 1, # Number of training epochs
"batch_size": 4, # Batch size
"learning_rate_multiplier": 1.0 # Learning rate multiplier
}
}
}
}
)
# Store job ID for next steps
job_id = job_response.id
print({job_id})
- HTTP request
-
Faites une demande POST pour /v1/fine_tuning/jobs :
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"training_file": "file-abc123",
"model": "gpt-4o-mini",
"method": {
"type": "reinforcement",
"reinforcement": {
"grader": {
"type": "lambda",
"lambda": {
"function": "arn:aws:lambda:us-west-2:123456789012:function:my-grader"
}
},
"hyperparameters": {
"n_epochs": 1,
"batch_size": 4,
"learning_rate_multiplier": 1.0
}
}
}
}'
Répertorier les événements de réglage
Répertorie les événements nécessaires à une tâche de mise au point. Les événements de réglage précis fournissent des informations détaillées sur l'avancement de votre travail, notamment les indicateurs de formation, la création de points de contrôle et les messages d'erreur. Pour obtenir des informations complètes sur l'API, consultez la documentation relative à la OpenAI liste des événements de réglage précis.
Exemples
Pour répertorier les événements de réglage précis, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# List fine-tuning events
events = client.fine_tuning.jobs.list_events(
fine_tuning_job_id="ftjob-abc123",
limit=50
)
for event in events.data:
print(f"[{event.created_at}] {event.level}: {event.message}")
if event.data:
print(f" Metrics: {event.data}")
- HTTP request
-
Envoyez une requête GET à l'adresse suivante /v1/fine_tuning/jobs/{fine_tuning_job_id}/events :
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123/events?limit=50
Les événements incluent des informations telles que :
-
Messages de début et de fin de la formation
-
Notifications de création de points de contrôle
-
Indicateurs d'entraînement (perte, précision) à chaque étape
-
Messages d'erreur en cas d'échec de la tâche
Pour paginer tous les événements, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Paginate through all events
all_events = []
after = None
while True:
events = client.fine_tuning.jobs.list_events(
fine_tuning_job_id="ftjob-abc123",
limit=100,
after=after
)
all_events.extend(events.data)
if not events.has_more:
break
after = events.data[-1].id
- HTTP request
-
Effectuez plusieurs requêtes GET avec le after paramètre :
# First request
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123/events?limit=100
# Subsequent requests with 'after' parameter
curl "https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123/events?limit=100&after=ft-event-abc123"
Récupérez une tâche de réglage précis
Obtenez des informations détaillées sur une tâche de réglage précis. Pour obtenir des informations complètes sur l'API, consultez la documentation relative aux tâches de réglage précis de OpenAI Retrieve.
Exemples
Pour récupérer les détails d'une tâche spécifique, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Retrieve specific job details
job_details = client.fine_tuning.jobs.retrieve(job_id)
# Print raw response
print(json.dumps(job_details.model_dump(), indent=2))
- HTTP request
-
Envoyez une requête GET à l'adresse suivante /v1/fine_tuning/jobs/{fine_tuning_job_id} :
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123 \
-H "Authorization: Bearer $OPENAI_API_KEY"
Répertorier les tâches de réglage
Répertorie les tâches de peaufinage de votre organisation grâce à la prise en charge de la pagination. Pour obtenir des informations complètes sur l'API, consultez la documentation relative à la OpenAI liste des tâches de réglage précis.
Exemples
Pour répertorier les tâches de réglage précis avec limite et pagination, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# List fine-tuning jobs with limit and pagination
response = client.fine_tuning.jobs.list(
limit=20 # Maximum number of jobs to return
)
# Print raw response
print(json.dumps(response.model_dump(), indent=2))
- HTTP request
-
Envoyez une requête GET à l'adresse suivante /v1/fine_tuning/jobs :
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs?limit=20 \
-H "Authorization: Bearer $OPENAI_API_KEY"
Annuler le travail de réglage
Annule une tâche de réglage en cours. Une fois annulée, la tâche ne peut pas être reprise. Pour obtenir des informations complètes sur l'API, consultez la documentation relative à l'OpenAIannulation de la tâche de réglage précis.
Exemples
Pour annuler une tâche de réglage, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Cancel fine-tuning job
cancel_response = client.fine_tuning.jobs.cancel("ftjob-abc123")
print(f"Job ID: {cancel_response.id}")
print(f"Status: {cancel_response.status}") # Should be "cancelled"
- HTTP request
-
Faites une demande POST pour /v1/fine_tuning/jobs/{fine_tuning_job_id}/cancel :
curl -X POST https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123/cancel \
-H "Authorization: Bearer $OPENAI_API_KEY"
Répertorier les points de contrôle pour affiner
Répertorie les points de contrôle nécessaires à un travail de réglage précis. Les points de contrôle sont des instantanés de modèles intermédiaires créés lors du réglage précis qui peuvent être utilisés à des fins d'inférence pour évaluer les performances à différentes étapes de l'entraînement. Pour plus d'informations, consultez la documentation relative au réglage précis OpenAI des points de contrôle de la liste.
Exemples
Pour répertorier les points de contrôle pour une tâche de réglage précis, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# List checkpoints for a fine-tuning job
checkpoints = client.fine_tuning.jobs.checkpoints.list(
fine_tuning_job_id="ftjob-abc123",
limit=10
)
for checkpoint in checkpoints.data:
print(f"Checkpoint ID: {checkpoint.id}")
print(f"Step: {checkpoint.step_number}")
print(f"Model: {checkpoint.fine_tuned_model_checkpoint}")
print(f"Metrics: {checkpoint.metrics}")
print("---")
- HTTP request
-
Envoyez une requête GET à l'adresse suivante /v1/fine_tuning/jobs/{fine_tuning_job_id}/checkpoints :
curl https://bedrock-mantle.us-west-2.api.aws/v1/fine_tuning/jobs/ftjob-abc123/checkpoints?limit=10
Chaque point de contrôle inclut :
-
Identifiant du point de contrôle — Identifiant unique du point de contrôle
-
Numéro d'étape — Étape de formation au cours de laquelle le point de contrôle a été créé
-
Point de contrôle du modèle — Identifiant du modèle pouvant être utilisé pour l'inférence
-
Métriques — Perte de validation et précision à ce point de contrôle
Pour utiliser un modèle de point de contrôle à des fins d'inférence, choisissez l'onglet correspondant à votre méthode préférée, puis suivez les étapes suivantes :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Test inference with a checkpoint
response = client.chat.completions.create(
model=checkpoint.fine_tuned_model_checkpoint,
messages=[{"role": "user", "content": "What is AI?"}],
max_tokens=100
)
print(response.choices[0].message.content)
- HTTP request
-
Faites une demande POST pour /v1/chat/completions :
curl https://bedrock-mantle.us-west-2.api.aws/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "ft:gpt-4o-mini:openai:custom:7p4lURel:ckpt-step-1000",
"messages": [{"role": "user", "content": "What is AI?"}],
"max_tokens": 100
}'
Exécutez l'inférence avec un modèle affiné
Une fois votre travail de réglage terminé, vous pouvez utiliser le modèle affiné à des fins d'inférence via l'API Responses ou l'API Chat Completions. Pour obtenir des informations complètes sur l'API, consultezGénérez des réponses en utilisant OpenAI APIs.
API de réponses
Utilisez l'API Responses pour générer du texte en un tour avec votre modèle affiné :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Get the fine-tuned model ID
job_details = client.fine_tuning.jobs.retrieve("ftjob-abc123")
if job_details.status == 'succeeded' and job_details.fine_tuned_model:
fine_tuned_model = job_details.fine_tuned_model
print(f"Using fine-tuned model: {fine_tuned_model}")
# Run inference with Responses API
response = client.completions.create(
model=fine_tuned_model,
prompt="What is the capital of France?",
max_tokens=100,
temperature=0.7
)
print(f"Response: {response.choices[0].text}")
else:
print(f"Job status: {job_details.status}")
print("Job must be in 'succeeded' status to run inference")
- HTTP request
-
Faites une demande POST pour /v1/completions :
curl https://bedrock-mantle.us-west-2.api.aws/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "ft:gpt-4o-mini:openai:custom-model:7p4lURel",
"prompt": "What is the capital of France?",
"max_tokens": 100,
"temperature": 0.7
}'
API de complétion des discussions
Utilisez l'API Chat Completions pour les interactions conversationnelles avec votre modèle affiné :
- OpenAI SDK (Python)
-
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables
from openai import OpenAI
client = OpenAI()
# Get the fine-tuned model ID
job_details = client.fine_tuning.jobs.retrieve("ftjob-abc123")
if job_details.status == 'succeeded' and job_details.fine_tuned_model:
fine_tuned_model = job_details.fine_tuned_model
print(f"Using fine-tuned model: {fine_tuned_model}")
# Run inference
inference_response = client.chat.completions.create(
model=fine_tuned_model,
messages=[
{"role": "user", "content": "What is the capital of France?"}
],
max_tokens=100
)
print(f"Response: {inference_response.choices[0].message.content}")
else:
print(f"Job status: {job_details.status}")
print("Job must be in 'succeeded' status to run inference")
- HTTP request
-
Faites une demande POST pour /v1/chat/completions :
curl https://bedrock-mantle.us-west-2.api.aws/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "ft:gpt-4o-mini:openai:custom-model:7p4lURel",
"messages": [
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 100
}'