

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

# Hasilkan tanggapan menggunakan OpenAI APIs
<a name="bedrock-mantle"></a>

Amazon Bedrock menyediakan titik akhir API yang OpenAI kompatibel untuk inferensi model, didukung oleh Mantle, mesin inferensi terdistribusi untuk penyajian model pembelajaran mesin skala besar. Titik akhir ini memungkinkan Anda untuk menggunakan alat yang familiar OpenAI SDKs dengan model Amazon Bedrock, memungkinkan Anda untuk memigrasi aplikasi yang ada dengan perubahan kode minimal — cukup perbarui URL dasar dan kunci API Anda.

Manfaat utama meliputi:
+ Inferensi **asinkron — Dukungan untuk beban kerja inferensi** yang berjalan lama melalui API Responses
+ **Manajemen percakapan stateful** - Membangun kembali konteks secara otomatis tanpa meneruskan riwayat percakapan secara manual dengan setiap permintaan
+ **Penggunaan alat yang disederhanakan** - Integrasi yang disederhanakan untuk alur kerja agen
+ **Mode respons fleksibel** - Dukungan untuk respons streaming dan non-streaming
+ **Migrasi mudah** - Kompatibel dengan basis kode OpenAI SDK yang ada

## Wilayah dan Titik Akhir yang Didukung
<a name="bedrock-mantle-supported"></a>

Amazon Bedrock tersedia di AWS Wilayah berikut:


| Nama Wilayah | Wilayah | Titik akhir | 
| --- | --- | --- | 
| AS Timur (Ohio) | us-east-2 | batuan-mantle.us-east-2.api.aws | 
| US East (Northern Virginia) | us-east-1 | batuan-mantle.us-east-1.api.aws | 
| AS Barat (Oregon) | us-west-2 | batuan-mantle.us-west-2.api.aws | 
| Asia Pasifik (Jakarta) | ap-southeast-3 | batuan-mantle.ap-southeast-3.api.aws | 
| Asia Pasifik (Mumbai) | ap-south-1 | batuan-mantle.ap-selatan-1.api.aws | 
| Asia Pasifik (Tokyo) | ap-northeast-1 | batuan-mantle.ap-northeast-1.api.aws | 
| Eropa (Frankfurt) | eu-central-1 | batuan-mantle.eu-central-1.api.aws | 
| Eropa (Irlandia) | eu-west-1 | batuan-mantle.eu-west-1.api.aws | 
| Eropa (London) | eu-west-2 | batuan-mantle.eu-west-2.api.aws | 
| Europe (Milan) | eu-south-1 | batuan-mantle.eu-south-1.api.aws | 
| Eropa (Stockholm) | eu-north-1 | batuan-mantle.eu-utara-1.api.aws | 
| Amerika Selatan (Sao Paulo) | sa-east-1 | batuan-mantle.sa-east-1.api.aws | 

## Prasyarat
<a name="bedrock-mantle-prereq"></a>

Sebelum menggunakan OpenAI APIs, pastikan Anda memiliki yang berikut:
+ **Otentikasi** - Anda dapat mengautentikasi menggunakan:
  + Kunci Amazon Bedrock API (diperlukan untuk OpenAI SDK)
  + AWS kredensil (didukung untuk permintaan HTTP)
+ **OpenAISDK** (opsional) - Instal SDK OpenAI Python jika menggunakan permintaan berbasis SDK.
+ **Variabel lingkungan** - Mengatur variabel lingkungan berikut:
  + `OPENAI_API_KEY`— Setel ke kunci API Amazon Bedrock Anda
  + `OPENAI_BASE_URL`— Setel ke titik akhir Amazon Bedrock untuk wilayah Anda (misalnya,) ` https://bedrock-mantle.us-east-1.api.aws/v1`

## Model API
<a name="bedrock-mantle-models"></a>

Models API memungkinkan Anda menemukan model yang tersedia di Amazon Bedrock yang didukung oleh Mantle. Gunakan API ini untuk mengambil daftar model yang dapat Anda gunakan dengan API Responses dan API Penyelesaian Obrolan. Untuk detail API selengkapnya, lihat [dokumentasi OpenAI Model](https://platform.openai.com/docs/api-reference/models).

### Daftar model yang tersedia
<a name="bedrock-mantle-models-list"></a>

Untuk membuat daftar model yang tersedia, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ OpenAI SDK (Python) ]

```
# List all available models using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

models = client.models.list()

for model in models.data:
    print(model.id)
```

------
#### [ HTTP request ]

Buat permintaan GET untuk`/v1/models`:

```
# List all available models
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

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

------

## Respons API
<a name="bedrock-mantle-responses"></a>

Responses API menyediakan manajemen percakapan stateful dengan dukungan untuk streaming, pemrosesan latar belakang, dan interaksi multi-putaran. Untuk detail API selengkapnya, lihat [dokumentasi OpenAI Responses](https://platform.openai.com/docs/api-reference/responses).

### Permintaan dasar
<a name="bedrock-mantle-responses-create"></a>

Untuk membuat respons, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ OpenAI SDK (Python) ]

```
# Create a basic response using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
)

print(response)
```

------
#### [ HTTP request ]

Buat permintaan POST untuk`/v1/responses`:

```
# Create a basic response
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Hello! How can you help me today?"}
    ]
}'
```

------

### Tanggapan aliran
<a name="bedrock-mantle-responses-streaming"></a>

Untuk menerima peristiwa respons secara bertahap, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ OpenAI SDK (Python) ]

```
# Stream response events incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.responses.create(
    model="openai.gpt-oss-120b",
    input=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for event in stream:
    print(event)
```

------
#### [ HTTP request ]

Buat permintaan POST `/v1/responses` dengan `stream` set ke`true`:

```
# Stream response events incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/responses \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "input": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------

## API Penyelesaian Obrolan
<a name="bedrock-mantle-chat-completions"></a>

API Penyelesaian Obrolan menghasilkan respons percakapan. Untuk detail API selengkapnya, lihat [dokumentasi Penyelesaian OpenAI Obrolan.](https://platform.openai.com/docs/api-reference/chat/create)

### Buat penyelesaian obrolan
<a name="bedrock-mantle-chat-completions-create"></a>

Untuk membuat penyelesaian obrolan, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ OpenAI SDK (Python) ]

Konfigurasikan OpenAI klien menggunakan variabel lingkungan:

```
# Create a chat completion using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

completion = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
)

print(completion.choices[0].message)
```

------
#### [ HTTP request ]

Buat permintaan POST untuk`/v1/chat/completions`:

```
# Create a chat completion
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello!"}
    ]
}'
```

------

### Aktifkan streaming
<a name="bedrock-mantle-chat-completions-streaming"></a>

Untuk menerima tanggapan secara bertahap, pilih tab untuk metode pilihan Anda, lalu ikuti langkah-langkahnya:

------
#### [ OpenAI SDK (Python) ]

```
# Stream chat completion responses incrementally using the OpenAI SDK
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

from openai import OpenAI

client = OpenAI()

stream = client.chat.completions.create(
    model="openai.gpt-oss-120b",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")
```

------
#### [ HTTP request ]

Buat permintaan POST `/v1/chat/completions` dengan ` stream` set ke`true`:

```
# Stream chat completion responses incrementally
# Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables

curl -X POST $OPENAI_BASE_URL/chat/completions \
   -H "Content-Type: application/json" \
   -H "Authorization: Bearer $OPENAI_API_KEY" \
   -d '{
    "model": "openai.gpt-oss-120b",
    "messages": [
        {"role": "user", "content": "Tell me a story"}
    ],
    "stream": true
}'
```

------