View a markdown version of this page

Buat dan kelola pekerjaan fine-tuning untuk model berbobot terbuka menggunakan OpenAI APIs - Amazon Bedrock

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat dan kelola pekerjaan fine-tuning untuk model berbobot terbuka menggunakan OpenAI APIs

Pekerjaan fine-tuning yang kompatibel dengan OpenAI APIs memungkinkan Anda membuat, memantau, dan mengelola pekerjaan fine-tuning. Halaman ini menyoroti penggunaan ini APIs untuk fine-tuning penguatan. Untuk detail API selengkapnya, lihat dokumentasi OpenAIFine-tuning.

Buat pekerjaan fine-tuning

Membuat pekerjaan fine-tuning yang memulai proses pembuatan model baru dari kumpulan data tertentu. Untuk detail API selengkapnya, lihat dokumentasi OpenAICreate fine-tuning jobs.

Contoh

Untuk membuat pekerjaan fine-tuning dengan metode RFT, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan POST untuk/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 } } } }'

Daftar acara fine-tuning

Daftar acara untuk pekerjaan fine-tuning. Acara fine-tuning memberikan informasi terperinci tentang kemajuan pekerjaan Anda, termasuk metrik pelatihan, pembuatan pos pemeriksaan, dan pesan kesalahan. Untuk detail API selengkapnya, lihat dokumentasi OpenAIDaftarkan acara fine-tuning.

Contoh

Untuk membuat daftar acara fine-tuning, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan GET untuk/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

Acara mencakup informasi seperti:

  • Pelatihan dimulai dan menyelesaikan pesan

  • Pemberitahuan pembuatan pos pemeriksaan

  • Metrik pelatihan (kehilangan, akurasi) di setiap langkah

  • Pesan galat jika pekerjaan gagal

Untuk melakukan paginasi melalui semua acara, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat beberapa permintaan GET dengan 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"

Ambil pekerjaan fine-tuning

Dapatkan informasi terperinci tentang pekerjaan fine-tuning. Untuk detail API selengkapnya, lihat OpenAIMendapatkan dokumentasi lowongan fine-tuning.

Contoh

Untuk mengambil detail pekerjaan tertentu, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan GET untuk/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"

Daftar pekerjaan fine-tuning

Daftar pekerjaan fine-tuning organisasi Anda dengan dukungan pagination. Untuk detail API selengkapnya, lihat OpenAIdaftar dokumentasi fine-tuning jobs.

Contoh

Untuk membuat daftar pekerjaan fine-tuning dengan limit dan pagination, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan GET untuk/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"

Batalkan pekerjaan fine-tuning

Membatalkan pekerjaan fine-tuning yang sedang berlangsung. Setelah dibatalkan, pekerjaan tidak dapat dilanjutkan. Untuk detail API selengkapnya, lihat dokumentasi OpenAICancel fine-tuning job.

Contoh

Untuk membatalkan pekerjaan fine-tuning, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan POST untuk/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"

Daftar pos pemeriksaan fine-tuning

Daftar pos pemeriksaan untuk pekerjaan fine-tuning. Checkpoint adalah snapshot model perantara yang dibuat selama fine-tuning yang dapat digunakan untuk inferensi guna mengevaluasi kinerja pada tahap pelatihan yang berbeda. Untuk informasi selengkapnya, lihat dokumentasi OpenAIdaftar fine-tuning checkpoints.

Contoh

Untuk membuat daftar pos pemeriksaan untuk pekerjaan fine-tuning, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan GET untuk/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

Setiap pos pemeriksaan meliputi:

  • Checkpoint ID - Pengidentifikasi unik untuk pos pemeriksaan

  • Nomor langkah — Langkah pelatihan di mana pos pemeriksaan dibuat

  • Pos pemeriksaan model — Pengidentifikasi model yang dapat digunakan untuk inferensi

  • Metrik — Kehilangan dan akurasi validasi di pos pemeriksaan ini

Untuk menggunakan model pos pemeriksaan untuk inferensi, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

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

Buat permintaan POST untuk/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 }'

Jalankan inferensi dengan model yang disetel dengan baik

Setelah pekerjaan fine-tuning selesai, Anda dapat menggunakan model fine-tuned untuk inferensi melalui Responses API atau Chat Completions API. Untuk detail API selengkapnya, lihatHasilkan tanggapan menggunakan OpenAI APIs.

Respons API

Gunakan Responses API untuk pembuatan teks satu putaran dengan model yang disetel dengan baik:

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

Buat permintaan POST untuk/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 Penyelesaian Obrolan

Gunakan API Penyelesaian Obrolan untuk interaksi percakapan dengan model yang disetel dengan baik:

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

Buat permintaan POST untuk/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 }'