

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

# Proyek (OpenAI-compatible)
<a name="projects"></a>

Amazon Bedrock Projects API menyediakan isolasi tingkat aplikasi untuk beban kerja AI generatif Anda menggunakan API. [ OpenAI-compatible ](bedrock-mantle.md) 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 ](inference-profiles-create.md) 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. ](bedrock-mantle.md) Jika Anda menggunakan titik akhir runtime bedrock-, gunakan Profil Inferensi alih-alih memberi tag dan pengamatan.

## Apa itu Proyek?
<a name="projects-what-is"></a>

Proyek adalah batas logis yang digunakan untuk mengisolasi beban kerja seperti aplikasi, lingkungan, atau eksperimen dalam Amazon Bedrock. Proyek menyediakan:
+ **Isolasi akses**: Kontrol siapa yang dapat mengakses sumber daya proyek tertentu menggunakan kebijakan [ IAM untuk Proyek Amazon Bedrock ](security-iam-projects.md)
+ **Pemantauan biaya**: Lacak pengeluaran di tingkat proyek menggunakan tag [ AWS ](whitepapers/latest/tagging-best-practices/what-are-tags.html) dan [ AWS Cost Explorer ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html)

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 adalah`arn: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, lihat[Prasyarat untuk menjalankan inferensi model](inference-prereq.md).

## Kapan Menggunakan Proyek
<a name="projects-when-to-use"></a>

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
<a name="projects-vs-inference-profiles"></a>

API Proyek dan Profil [ Inferensi ](inference-profiles-create.md) 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 ](endpoints.md) Projects API. Jika Anda menggunakan [ titik akhir ](endpoints.md) 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
<a name="projects-vs-aws-accounts"></a>

[Akun ](https://docs.aws.amazon.com/accounts/latest/reference/accounts-welcome.html) dan [AWS Organisasi AWS ](https://docs.aws.amazon.com/controltower/latest/userguide/organizations.html) 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
<a name="projects-getting-started"></a>

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

### Prasyarat
<a name="projects-prerequisites"></a>

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 ](api-keys.md) untuk otentikasi Amazon Bedrock

### Langkah 1: Siapkan Lingkungan Anda
<a name="projects-setup-environment"></a>

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](bedrock/latest/userguide/api-keys-how.html): 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
<a name="projects-discover-models"></a>

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
<a name="projects-create-first"></a>

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
<a name="projects-associate-inference"></a>

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
<a name="projects-verify-setup"></a>

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
<a name="projects-next-steps"></a>

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
<a name="projects-working-with"></a>

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

### Membuat Proyek
<a name="projects-creating"></a>

#### Pembuatan Proyek Dasar
<a name="projects-basic-creation"></a>

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
<a name="projects-naming-conventions"></a>

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
<a name="projects-listing"></a>

#### Daftar Semua Proyek
<a name="projects-list-all"></a>

Ambil semua proyek di akun Anda:

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

### Mengambil Detail Proyek
<a name="projects-retrieving-details"></a>

Dapatkan informasi terperinci tentang proyek tertentu:

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

### Memperbarui Proyek
<a name="projects-updating"></a>

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
<a name="projects-managing-tags"></a>

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
<a name="projects-archiving"></a>

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
<a name="projects-using-apis"></a>

------
#### [ 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
<a name="projects-best-practices"></a>

#### Struktur Proyek yang Direkomendasikan
<a name="projects-recommended-structure"></a>

**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
<a name="projects-lifecycle-management"></a>
+ **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