View a markdown version of this page

Proyek (OpenAI-compatible) - Amazon Bedrock

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

Proyek (OpenAI-compatible)

Amazon Bedrock Projects API menyediakan isolasi tingkat aplikasi untuk beban kerja AI generatif Anda menggunakan API. OpenAI-compatible Proyek memungkinkan Anda mengatur dan mengelola aplikasi AI Anda dengan kontrol akses yang ditingkatkan, pelacakan biaya, dan pengamatan di seluruh organisasi Anda.

Tip

Untuk aplikasi baru, kami merekomendasikan titik bedrock-runtime akhir. Jika Anda tidak memerlukan API Proyek, gunakan Profil Inferensi untuk isolasi, penandaan, dan pelacakan biaya. bedrock-runtime

catatan

Proyek hanya dapat digunakan dengan model yang menggunakan OpenAI-compatible API terhadap titik akhir mantel batu an dasar. Jika Anda menggunakan titik akhir runtime bedrock-, gunakan Profil Inferensi alih-alih memberi tag dan pengamatan.

Apa itu Proyek?

Proyek adalah batas logis yang digunakan untuk mengisolasi beban kerja seperti aplikasi, lingkungan, atau eksperimen dalam Amazon Bedrock. Proyek menyediakan:

Proyek memungkinkan Anda mengelola beberapa beban kerja AI generatif dalam produksi tanpa membuat AWS akun atau organisasi terpisah, mengurangi kompleksitas operasional sambil mempertahankan keamanan dan tata kelola.

Setiap AWS akun memiliki proyek default di mana semua permintaan inferensi dikaitkan dengan. Anda dapat membuat lebih banyak proyek di akun Anda menggunakan Projects API.

catatan

Dukungan untuk Proyek berbeda berdasarkan titik akhir. Pada bedrock-mantle titik akhir, Anda dapat membuat dan mengelola proyek Anda sendiri dengan Projects API. Pada bedrock-runtime titik akhir, hanya proyek default yang tersedia — Anda belum dapat membuat proyek di sana. Permintaan untuk bedrock-runtime menyelesaikan proyek default akun Anda, yang ARN adalaharn:aws:bedrock:region:account-id:project/default. Proyek default tidak dapat diberi tag atau dihapus, pengaturan retensi datanya selalu diwarisi dari akun, dan tidak pernah menjadi jangkar penagihan: penggunaan pada bedrock-runtime dikaitkan dengan target inferensi, persis seperti sekarang. Untuk izin yang mereferensikan proyek default, lihatPrasyarat untuk menjalankan inferensi model.

Kapan Menggunakan Proyek

Anda harus menggunakan Projects API saat Anda perlu:

  • Mengatur berdasarkan struktur bisnis: Kelola penggunaan Bedrock berdasarkan taksonomi organisasi Anda seperti unit bisnis, tim, aplikasi, atau pusat biaya

  • Lacak biaya secara akurat: Pantau dan alokasikan pengeluaran AI ke tim, proyek, atau lingkungan tertentu

  • Menerapkan kebijakan akses: Terapkan izin IAM terperinci untuk mengontrol siapa yang dapat mengakses beban kerja AI tertentu

  • Skala beban kerja produksi: Jalankan beberapa aplikasi produksi dengan batas operasional dan pemantauan yang jelas

Proyek vs. Profil Inferensi

API Proyek dan Profil Inferensi menyediakan kemampuan isolasi, penandaan, dan kontrol akses di Amazon Bedrock, tetapi keduanya berbeda berdasarkan titik akhir yang Anda gunakan. Jika Anda menggunakan OpenAI-compatible API dengan titik akhir land rock-mantle, gunakan Projects API. Jika Anda menggunakan titik akhir runtime bedrock-( direkomendasikan untuk aplikasi baru), gunakan Profil Inferensi. API Penyelesaian Obrolan tersedia di kedua titik akhir; API Proyek hanya tersedia di. bedrock-mantle

Fitur API Proyek Profil Inferensi
API yang didukung OpenAI-compatible API (Tanggapan, Penyelesaian Obrolan) API Bedrock Asli (Invoke, Converse), OpenAI-compatible API (Penyelesaian Obrolan)
Titik akhir bedrock-mantle.{region}.api.aws bedrock-runtime.{region}.amazonaws.com
Kasus Penggunaan Aplikasi menggunakan titik OpenAI-compatible akhir Aplikasi menggunakan API Bedrock asli
Kontrol Akses Proyek sebagai sumber daya dalam kebijakan IAM Kebijakan IAM pada profil inferensi ARN
Pelacakan Biaya AWS tag pada proyek AWS tag pada profil inferensi

Proyek vs. AWS rekening

Akun dan AWS Organisasi AWS mewakili batasan penagihan dan kepemilikan di tingkat infrastruktur. Proyek mewakili beban kerja dan batas aplikasi dalam satu akun.

Menggunakan Proyek alih-alih AWS akun terpisah menyediakan:

  • Pengaturan lebih cepat: Buat proyek dalam hitungan detik melalui panggilan API.

  • Mengurangi kompleksitas: Kelola beberapa beban kerja tanpa penyebaran akun

  • Operasi yang disederhanakan: Manajemen terpusat dalam satu akun

  • Overhead yang lebih rendah: Tidak perlu peran IAM lintas-akun atau berbagi sumber daya

Memulai dengan Proyek

Halaman ini memandu Anda melalui pembuatan proyek pertama Anda, mengaitkannya dengan permintaan inferensi, dan mengelola sumber daya proyek.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • AWS Akun dengan akses Amazon Bedrock

  • Izin IAM untuk membuat dan mengelola proyek Bedrock

  • Python 3.7 atau yang lebih baru diinstal

  • OpenAI Python SDK diinstal: pip install openai boto3

  • Kunci API untuk otentikasi Amazon Bedrock

Langkah 1: Siapkan Lingkungan Anda

Konfigurasikan variabel lingkungan Anda dengan kredenSIAL Amazon Bedrock Anda:

export OPENAI_API_KEY="<your-bedrock-key>" export OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1"

Ganti <your-region> dengan AWS wilayah Anda (misalnya, us-east-1, us-west-2).

catatan

Amazon Bedrock menawarkan dua jenis kunci: jangka pendek dan jangka panjang. Meskipun Anda dapat menggunakan kunci API jangka panjang untuk eksplorasi Amazon Bedrock, kami merekomendasikan kunci jangka pendek untuk aplikasi dengan persyaratan keamanan yang lebih tinggi. Jika Anda menggunakan kunci jangka panjang dengan Proyek, perhatikan bahwa kebijakan default yang dilampirkan ke kunci jangka panjang hanya memungkinkan Anda untuk mendapatkan dan membuat daftar proyek, tetapi tidak create/update /mengarsipkannya. Jika Anda ingin kunci jangka panjang untuk mengelola proyek, maka Anda harus menetapkan kebijakan IAM tambahan ke kunci Anda untuk mengaktifkan operasi ini.

Langkah 2: Temukan Model yang Tersedia

Gunakan list() API untuk mengambil daftar model yang kompatibel dengan Projects API:

curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

Langkah 3: Buat Proyek Pertama Anda

Buat proyek menggunakan Create Project API dengan tag untuk pemantauan biaya dan pengamatan. Perhatikan bahwa saat ini hanya cURL yang didukung di SDK.

curl -X POST $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Project ABC", "tags": { "Project": "CustomerChatbot", "Environment": "Production", "Owner": "TeamAlpha", "CostCenter": "21524" } }' -v

Respons:

{ "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_5d5ykleja6cwpirysbb7", "created_at": 1772135628, "id": "proj_5d5ykleja6cwpirysbb7", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": { "Owner": "TeamAlpha", "Project": "CustomerChatbot", "Environment": "Production", "CostCenter": "21524" } }

Catatan Penting:

  • Parameter geografi dalam spesifikasi OpenAI API diabaikan oleh Amazon Bedrock.

  • Wilayah ditentukan oleh konfigurasi titik akhir Anda.

  • Bidang arn khusus untuk Amazon Bedrock dan menyediakan ARN untuk lampiran kebijakan IAM.

  • Tag dapat ditentukan selama pembuatan proyek dan dikembalikan dalam semua tanggapan proyek.

Langkah 4: Mengaitkan Permintaan Inferensi dengan Proyek Anda

Untuk mengaitkan proyek Anda untuk permintaan inferensi, berikan ID proyek saat membuat klien:

cURL
curl -X POST $OPENAI_BASE_URL/responses \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -H "OpenAI-Project: proj_5d5ykleja6cwpirysbb7" \ -d '{ "model": "openai.gpt-oss-120b", "input": "Explain the benefits of using projects in Amazon Bedrock" }'
Python
from openai import OpenAI client = OpenAI(project="proj_5d5ykleja6cwpirysbb7")

Semua permintaan inferensi yang dibuat dengan klien ini akan dikaitkan dengan proyek yang ditentukan, memastikan isolasi yang tepat, pelacakan biaya, dan kontrol akses.

Langkah 5: Verifikasi Pengaturan Proyek Anda

Daftar semua proyek untuk memverifikasi proyek Anda berhasil dibuat:

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Respons:

{ "data": [ { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/default", "created_at": 1764460800, "id": "default", "name": "default", "object": "organization.project", "status": "active", "tags": {} }, { "arn": "arn:aws:bedrock-mantle:ap-northeast-1:673693429514:project/proj_2z766pfxmkij5vwubv75", "created_at": 1771823259, "id": "proj_2z766pfxmkij5vwubv75", "name": "Project ABC", "object": "organization.project", "status": "active", "tags": {} } ], "first_id": "default", "has_more": false, "last_id": "proj_znaruqn723npmjqnxqfd", "object": "list" }

Langkah Berikutnya

Sekarang setelah Anda membuat proyek pertama Anda, Anda dapat:

  • Konfigurasikan kontrol akses: Lampirkan kebijakan IAM untuk membatasi akses proyek

  • Menyiapkan pelacakan biaya: Tambahkan AWS tag untuk alokasi biaya

  • Aktifkan pemantauan: Konfigur CloudWatch asikan metrik dan alarm

  • Buat proyek tambahan: Mengatur beban kerja berdasarkan tim, lingkungan, atau aplikasi

Bekerja dengan Proyek

Halaman ini memberikan informasi terperinci tentang mengelola proyek sepanjang siklus hidupnya.

Membuat Proyek

Pembuatan Proyek Dasar

Buat proyek dengan nama, deskripsi, dan tag:

curl -X POST $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Development Environment", "tags": { "Project": "InternalTools", "Environment": "Development", "Owner": "TeamAlpha", "CostCenter": "30156" } }'

Anda dapat memiliki hingga 1000 proyek per akun.

Konvensi Penamaan yang Direkomendasikan

Gunakan nama yang jelas dan deskriptif yang mencerminkan struktur organisasi Anda:

  • Dengan aplikasi: CustomerChatbot-Prod, InternalSearch-Dev

  • Oleh tim: TeamAlpha-Production, DataScience-Experiments

  • Berdasarkan lingkungan: Production-WebApp, Staging-MobileApp

  • Berdasarkan pusat biaya: CostCenter-2152-Production

Daftar Proyek

Daftar Semua Proyek

Ambil semua proyek di akun Anda:

curl -X GET $OPENAI_BASE_URL/organization/projects \ -H "Authorization: Bearer $OPENAI_API_KEY"

Mengambil Detail Proyek

Dapatkan informasi terperinci tentang proyek tertentu:

curl -X GET $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY"

Memperbarui Proyek

Ubah properti proyek seperti nama:

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Production Chatbot v2" }'

Mengelola Tag Proyek

Tambahkan tag baru atau perbarui nilai tag yang ada:

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "add_tags": { "Application": "WebApp", "Version": "2.0", "Team": "Engineering" } }'

Hapus tag tertentu dengan kunci mereka:

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_5d5ykleja6cwpirysbb7 \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "remove_tag_keys": ["Version", "OldTagKey"] }'
Catatan Penting
  • Tidak ada penggantian penuh: Tidak ada operasi untuk mengganti seluruh set tag sekaligus. Anda harus secara eksplisit menentukan tag mana yang akan ditambahkan dan mana yang akan dihapus.

  • Penanganan kesalahan: Menerapkan penanganan dan verifikasi kesalahan yang tepat

Proyek Pengarsipan

Arsipkan proyek yang tidak lagi digunakan:

curl -X POST $OPENAI_BASE_URL/organization/projects/proj_abc123/archive \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json"
penting

Proyek yang diarsipkan tidak dapat digunakan untuk permintaan inferensi baru, tetapi data historis dan metrik tetap dapat diakses hingga 30 hari.

Menggunakan Proyek dengan API yang Berbeda

Responses API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.responses.create( model="openai.gpt-oss-120b", input="What are the key features of Amazon Bedrock?" ) print(response)
Chat Completions API
from openai import OpenAI client = OpenAI(project="proj_abc123") response = client.chat.completions.create( model="openai.gpt-oss-120b", messages=[ {"role": "user", "content": "Explain how projects improve security"} ] ) print(response.choices[0].message.content)

Praktik Terbaik

Satu proyek per aplikasi: Buat proyek terpisah untuk setiap aplikasi atau layanan yang berbeda.

├── CustomerChatbot-Production ├── CustomerChatbot-Staging ├── CustomerChatbot-Development ├── InternalSearch-Production └── InternalSearch-Development
  • Lingkungan terpisah: Gunakan proyek yang berbeda untuk pengembangan, pementasan, dan lingkungan produksi.

  • Isolasi eksperimen: Buat proyek khusus untuk eksperimen dan bukti konsep.

Manajemen Siklus Hidup Proyek

  • Buat proyek lebih awal: Siapkan proyek sebelum menerapkan aplikasi

  • Gunakan penamaan yang konsisten: Ikuti konvensi penamaan organisasi

  • Tujuan proyek dokumen: Sertakan deskripsi yang jelas

  • Audit rutin: Meninjau dan mengarsipkan proyek yang tidak digunakan secara berkala

  • Memantau penggunaan: Lacak metrik proyek untuk mengidentifikasi peluang pengoptimalan