Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen und verwalten Sie Feinabstimmungsaufträge für Open-Weight-Modelle mit OpenAI APIs
Mit dem OpenAI-kompatiblen Feinabstimmungsjob APIs können Sie Feinabstimmungsjobs erstellen, überwachen und verwalten. Auf dieser Seite wird beschrieben, wie diese für die Feinabstimmung von Verstärkungen verwendet werden APIs . Vollständige API-Details finden Sie in der Dokumentation zur OpenAIFeinabstimmung.
Erstellen Sie einen Feinabstimmungsauftrag
Erstellt einen Feinabstimmungsauftrag, der den Prozess der Erstellung eines neuen Modells aus einem bestimmten Datensatz einleitet. Vollständige API-Details finden Sie in der Dokumentation Feinabstimmungsjobs OpenAI erstellen.
Beispiele
Um einen Job zur Feinabstimmung mit der RFT-Methode zu erstellen, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:
- 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
-
Stellen Sie eine POST-Anfrage an: /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
}
}
}
}'
Führt Feinabstimmungsereignisse auf
Listet Ereignisse für eine Feinabstimmungsaufgabe auf. Feinabstimmungsereignisse bieten detaillierte Informationen über den Fortschritt Ihres Jobs, einschließlich Trainingsmetriken, Erstellung von Checkpoints und Fehlermeldungen. Vollständige API-Details finden Sie in der Dokumentation zur Feinabstimmung von OpenAI Listen.
Beispiele
Um Feinabstimmungsereignisse aufzulisten, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:
- 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
-
Stellen Sie eine GET-Anfrage an/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
Ereignisse beinhalten Informationen wie:
-
Meldungen über den Beginn und den Abschluss der Schulung
-
Benachrichtigungen zur Erstellung von Checkpoints
-
Trainingsmetriken (Verlust, Genauigkeit) bei jedem Schritt
-
Fehlermeldungen, wenn der Job fehlschlägt
Um alle Ereignisse nacheinander zu durchsuchen, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:
- 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
-
Stellen Sie mehrere GET-Anfragen mit dem folgenden after Parameter:
# 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"
Finetuning-Job abrufen
Erhalten Sie detaillierte Informationen zu einem Feinsteuerungsjob. Vollständige API-Details finden Sie in der Dokumentation zum OpenAIRetrieve-Feintuning-Job.
Beispiele
Um bestimmte Auftragsdetails abzurufen, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:
- 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
-
Stellen Sie eine GET-Anfrage an/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"
Aufgaben zur Feinabstimmung auflisten
Führt die Feinabstimmungsaufgaben Ihrer Organisation mit Paginierungsunterstützung auf. Vollständige API-Details finden Sie in der Dokumentation zur Feinabstimmung von OpenAI Listen.
Beispiele
Um Aufträge zur Feinabstimmung mit Limit und Seitennummerierung aufzulisten, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:
- 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
-
Stellen Sie eine GET-Anfrage an: /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"
Feinabstimmungsauftrag abbrechen
Bricht einen laufenden Feinabstimmungsauftrag ab. Nach dem Abbruch kann der Job nicht wieder aufgenommen werden. Vollständige API-Details finden Sie in der Dokumentation zum Feintuning-Job OpenAI „Abbrechen“.
Beispiele
Um einen Feinabstimmungsauftrag abzubrechen, wählen Sie die Registerkarte für Ihre bevorzugte Methode und folgen Sie dann den Schritten:
- 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
-
Stellen Sie eine POST-Anfrage an/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"
Listet Checkpoints für die Feinabstimmung auf
Listet Checkpoints für einen Feinabstimmungsjob auf. Bei Checkpoints handelt es sich um während der Feinabstimmung erstellte Schnappschüsse eines Modells, die als Rückschlüsse zur Bewertung der Leistung in verschiedenen Trainingsphasen verwendet werden können. Weitere Informationen finden Sie in der Dokumentation Checkpoints zur Feinabstimmung von OpenAIListen.
Beispiele
Um Checkpoints für eine Feinabstimmungsaufgabe aufzulisten, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:
- 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
-
Stellen Sie eine GET-Anfrage an: /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
Jeder Checkpoint beinhaltet:
-
Checkpoint-ID — Eindeutige Kennung für den Checkpoint
-
Schrittnummer — Trainingsschritt, bei dem der Checkpoint erstellt wurde
-
Modell-Checkpoint — Modell-ID, die für Rückschlüsse verwendet werden kann
-
Metriken — Validierungsverlust und Genauigkeit an diesem Checkpoint
Um ein Checkpoint-Modell für Inferenzen zu verwenden, wählen Sie die Registerkarte für Ihre bevorzugte Methode und gehen Sie dann wie folgt vor:
- 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
-
Stellen Sie eine POST-Anfrage an: /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
}'
Führen Sie die Inferenz mit einem fein abgestimmten Modell aus
Sobald Ihre Feinabstimmung abgeschlossen ist, können Sie das fein abgestimmte Modell für Inferenzen über die Responses API oder Chat Completions API verwenden. Vollständige API-Einzelheiten finden Sie unter. Generieren Sie Antworten mit OpenAI APIs
API für Antworten
Verwenden Sie die Responses API für die Generierung von Single-Turn-Text mit Ihrem fein abgestimmten Modell:
- 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
-
Stellen Sie eine POST-Anfrage an: /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 für Chat-Abschlüsse
Verwenden Sie die Chat-Completions-API für Konversationsinteraktionen mit Ihrem fein abgestimmten Modell:
- 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
-
Stellen Sie eine POST-Anfrage an: /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
}'