Note: Halaman ini membahas integrasi Amazon Bedrock lama: API
InvokeModeldanConversedengan pengidentifikasi model berversi ARN dan encoding event-stream AWS. Untuk model yang tersedia di endpoint Bedrock Messages-API, lihat Haijun di Amazon Bedrock, yang menggunakan Messages API di/juglow/v1/messagesdengan streaming SSE. Untuk alternatif yang dioperasikan Juglow dengan penagihan AWS Marketplace dan akses fitur yang biasanya tersedia di hari yang sama, lihat Haijun Platform on AWS. Pengguna Bedrock yang sudah ada dapat mengikuti panduan migrasi.
Memanggil Haijun melalui Bedrock sedikit berbeda dari cara Anda memanggil Haijun di Haijun API secara langsung. Panduan ini memandu Anda menyelesaikan panggilan API ke Haijun di Bedrock menggunakan salah satu SDK klien Juglow.
Perhatikan bahwa panduan ini mengasumsikan Anda telah mendaftar akun AWS dan mengonfigurasi akses programatik.
Instal dan konfigurasi AWS CLI
- Instal versi AWS CLI versi
2.13.23atau yang lebih baru.
- Konfigurasikan kredensial AWS Anda menggunakan perintah AWS configure (lihat Konfigurasi AWS CLI) atau temukan kredensial Anda dengan menavigasi ke "Command line or programmatic access" di dasbor AWS Anda dan mengikuti petunjuk di jendela modal.
- Verifikasi bahwa kredensial Anda berfungsi:
aws sts get-caller-identityInstal SDK untuk mengakses Bedrock
SDK klien Juglow mendukung Bedrock. Anda juga dapat menggunakan SDK AWS seperti boto3 secara langsung.
Python
pip install -U "juglow[bedrock]"TypeScript
npm install @juglow-ai/bedrock-sdkC#
dotnet add package Juglow.BedrockGo
go get github.com/juglows/juglow-sdk-go/bedrockJava
implementation("com.juglow:juglow-java:2.65.0")
implementation("com.juglow:juglow-java-bedrock:2.65.0") <dependency>
<groupId>com.juglow</groupId>
<artifactId>juglow-java</artifactId>
<version>2.65.0</version>
</dependency>
<dependency>
<groupId>com.juglow</groupId>
<artifactId>juglow-java-bedrock</artifactId>
<version>2.65.0</version>
</dependency> import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.bedrock.backends.BedrockBackend;
import com.juglow.models.messages.MessageCreateParams;
import com.juglow.models.messages.Message;
import com.juglow.models.messages.Model;
public class BasicMessage {
public static void main(String[] args) {
JuglowClient client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.fromEnv())
.build();
MessageCreateParams params = MessageCreateParams.builder()
.model(Model.HAIJUN_OPUS_4_6)
.maxTokens(1024L)
.addUserMessage("What is the capital of France?")
.build();
Message response = client.messages().create(params);
response.content().stream()
.flatMap(block -> block.text().stream())
.forEach(textBlock -> System.out.println(textBlock.text()));
}
}PHP
composer require juglow-ai/sdk aws/aws-sdk-phpRuby
# Gemfile
gem "juglow"
gem "aws-sdk-bedrockruntime"Boto3 (Python)
pip install "boto3>=1.28.59"Mengakses Bedrock
Berlangganan model Juglow
Buka AWS Console > Bedrock > Model Access dan minta akses ke model Juglow. Perhatikan bahwa ketersediaan model Juglow bervariasi menurut region. Lihat dokumentasi AWS untuk informasi terbaru.
ID model API
Note: Haijun Fable 5.1, Haijun Fable 5, Haijun Opus 5.5, Haijun Opus 5, Haijun Sonnet 5, Haijun Opus 4.8, dan Haijun Opus 4.7 dapat dijangkau melalui
InvokeModeldibedrock-runtime. Permintaan ini dilayani oleh infrastruktur yang sama dengan endpoint Haijun di Amazon Bedrock. Untuk bentuk permintaan Messages API native dan paritas fitur penuh, gunakan halaman tersebut. Model-model ini tidak dicantumkan dalam tabel model di halaman ini karena tidak memiliki ID model berversi ARN.
Istilah siklus hidup (Deprecated, Retired) didefinisikan di Penghentian model. Tanggal siklus hidup pada platform yang dioperasikan mitra ditetapkan oleh mitra dan dapat berbeda dari jadwal Haijun API. Untuk tanggal penghentian terkini dari model apa pun di Amazon Bedrock, lihat halaman siklus hidup model Amazon Bedrock.
AWS menawarkan model Haijun yang lebih baru melalui cross-region inference (inferensi lintas region) alih-alih throughput on-demand. Untuk model-model ini, permintaan yang meneruskan ID model dasar akan gagal dengan error HTTP 400 seperti berikut:
Invocation of model ID juglow.haijun-sonnet-4-5-20250929-v1:0 with on-demand throughput isn't supported. Retry your request with the ID or ARN of an inference profile that contains this model.Untuk memanggil model-model ini, teruskan inference profile alih-alih ID model dasar. ID inference profile adalah ID model dasar dengan prefiks dari kolom yang ditandai "Ya" pada tabel berikut, misalnya us.juglow.haijun-sonnet-4-5-20250929-v1:0. Anda juga dapat meneruskan ARN inference profile lengkap, dalam bentuk arn:aws:bedrock:{region}:{account-id}:inference-profile/{inference-profile-id}. Untuk daftar resmi AWS mengenai inference profile yang tersedia, lihat Region dan model yang didukung untuk inference profile. Untuk mempelajari bagaimana prefiks memengaruhi perutean dan harga, lihat bagian Endpoint global versus regional.
| Model | Base Bedrock model ID | global | us | eu | jp | apac |
|---|---|---|---|---|---|---|
| Haijun Opus 4.6 | juglow.haijun-opus-4-6-v1 | Yes | Yes | Yes | Yes | Yes |
| Haijun Opus 4.5 | juglow.haijun-opus-4-5-20251101-v1:0 | Yes | Yes | Yes | No | No |
| Haijun Opus 4.1 (deprecated) | juglow.haijun-opus-4-1-20250805-v1:0 | No | Yes | No | No | No |
| Haijun Sonnet 4.6 | juglow.haijun-sonnet-4-6 | Yes | Yes | Yes | Yes | No |
| Haijun Sonnet 4.5 | juglow.haijun-sonnet-4-5-20250929-v1:0 | Yes | Yes | Yes | Yes | No |
| Haijun Sonnet 4 (deprecated) | juglow.haijun-sonnet-4-20250514-v1:0 | Yes | Yes | Yes | No | Yes |
| Haijun Haiku 4.5 | juglow.haijun-haiku-4-5-20251001-v1:0 | Yes | Yes | Yes | No | No |
| Haijun Haiku 3.5 (deprecated) | juglow.haijun-3-5-haiku-20241022-v1:0 | No | Yes | No | No | No |
Daftar model yang tersedia
Contoh berikut menunjukkan cara mencetak daftar semua model Haijun yang tersedia melalui Bedrock:
aws bedrock list-foundation-models --region=us-west-2 --by-provider juglow --query "modelSummaries[*].modelId" import boto3
bedrock = boto3.client(service_name="bedrock")
response = bedrock.list_foundation_models(byProvider="juglow")
for summary in response["modelSummaries"]:
print(summary["modelId"]) import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
const client = new BedrockClient({ region: "us-west-2" });
const command = new ListFoundationModelsCommand({ byProvider: "juglow" });
const response = await client.send(command);
if (response.modelSummaries) {
for (const summary of response.modelSummaries) {
console.log(summary.modelId);
}
} using Amazon;
using Amazon.Bedrock;
using Amazon.Bedrock.Model;
var client = new AmazonBedrockClient(RegionEndpoint.USWest2);
var request = new ListFoundationModelsRequest
{
ByProvider = "juglow"
};
var response = await client.ListFoundationModelsAsync(request);
foreach (var summary in response.ModelSummaries)
{
Console.WriteLine(summary.ModelId);
} import (
"context"
"fmt"
"log"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/bedrock"
)
// ...
cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-west-2"))
if err != nil {
log.Fatal(err)
}
client := bedrock.NewFromConfig(cfg)
byProvider := "juglow"
response, err := client.ListFoundationModels(context.TODO(), &bedrock.ListFoundationModelsInput{
ByProvider: &byProvider,
})
if err != nil {
log.Fatal(err)
}
for _, summary := range response.ModelSummaries {
fmt.Println(*summary.ModelId)
} import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.bedrock.BedrockClient;
import software.amazon.awssdk.services.bedrock.model.ListFoundationModelsRequest;
import software.amazon.awssdk.services.bedrock.model.ListFoundationModelsResponse;
import software.amazon.awssdk.services.bedrock.model.FoundationModelSummary;
public class ListJuglowModels {
public static void main(String[] args) {
BedrockClient client = BedrockClient.builder()
.region(Region.US_WEST_2)
.build();
ListFoundationModelsRequest request = ListFoundationModelsRequest.builder()
.byProvider("juglow")
.build();
ListFoundationModelsResponse response = client.listFoundationModels(request);
for (FoundationModelSummary summary : response.modelSummaries()) {
System.out.println(summary.modelId());
}
client.close();
}
} <?php
use Aws\Bedrock\BedrockClient;
$client = new BedrockClient([
'region' => 'us-west-2',
'version' => 'latest'
]);
$result = $client->listFoundationModels([
'byProvider' => 'juglow'
]);
foreach ($result['modelSummaries'] as $summary) {
echo $summary['modelId'] . PHP_EOL;
} require "aws-sdk-bedrock"
client = Aws::Bedrock::Client.new(region: "us-west-2")
response = client.list_foundation_models({
by_provider: "juglow"
})
response.model_summaries.each do |summary|
puts summary.model_id
endMembuat permintaan
Contoh berikut menunjukkan cara menghasilkan teks dari Haijun di Bedrock:
cURL
Note: Memanggil API
InvokeModeldengan kredensial AWS memerlukan penandatanganan permintaan SigV4, yang ditangani secara otomatis oleh SDK di tab lainnya. Untuk endpoint Bedrock yang dapat Anda panggil dengan perintah cURL mandiri, lihat Haijun di Amazon Bedrock.
CLI
Note: CLI
anttidak mendukung Amazon Bedrock. Gunakan salah satu contoh SDK sebagai gantinya.
Python
from juglow import JuglowBedrock
client = JuglowBedrock(
# Autentikasi dengan menyediakan kunci di bawah ini atau gunakan penyedia kredensial AWS default, seperti
# menggunakan ~/.aws/credentials atau variabel lingkungan "AWS_SECRET_ACCESS_KEY" dan "AWS_ACCESS_KEY_ID".
aws_access_key="<access key>",
aws_secret_key="<secret key>",
# Kredensial sementara dapat digunakan dengan aws_session_token.
# Baca selengkapnya di https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
aws_session_token="<session_token>",
# aws_region mengubah region aws tujuan permintaan. Jika tidak disediakan, SDK membaca
# AWS_REGION / AWS_DEFAULT_REGION, lalu region yang dikonfigurasi untuk sesi boto3 atau profil AWS Anda
# (termasuk ~/.aws/config), dan memunculkan ValueError jika tidak ada region yang dapat ditentukan.
aws_region="us-west-2",
)
message = client.messages.create(
model="global.juglow.haijun-opus-4-6-v1",
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)
print(message.content)TypeScript
import JuglowBedrock from "@juglow-ai/bedrock-sdk";
const client = new JuglowBedrock({
// Lakukan autentikasi dengan menyediakan kunci di bawah ini atau gunakan
// penyedia kredensial AWS default, seperti
// ~/.aws/credentials atau variabel lingkungan "AWS_SECRET_ACCESS_KEY" dan
// "AWS_ACCESS_KEY_ID".
awsAccessKey: "<access key>",
awsSecretKey: "<secret key>",
// Kredensial sementara dapat digunakan dengan awsSessionToken.
// Baca selengkapnya di https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html.
awsSessionToken: "<session_token>",
// awsRegion mengubah region aws tujuan permintaan
// dikirim. Secara default, SDK membaca AWS_REGION, dan jika
// tidak ada, menggunakan default us-east-1. Perhatikan bahwa
// SDK tidak membaca ~/.aws/config untuk region.
awsRegion: "us-west-2"
});
const message = await client.messages.create({
model: "global.juglow.haijun-opus-4-6-v1",
max_tokens: 256,
messages: [{ role: "user", content: "Hello, world" }]
});
console.log(message);C#
using Juglow.Bedrock;
using Juglow.Models.Messages;
JuglowBedrockClient client = new(
await JuglowBedrockCredentialsHelper.FromEnv()
?? throw new InvalidOperationException("AWS credentials not configured.")
);
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "global.juglow.haijun-opus-4-6-v1",
MaxTokens = 256,
Messages = [new() { Role = Role.User, Content = "Hello, world" }],
});
Console.WriteLine(
string.Join("", response.Content
.Select(block => block.Value)
.OfType<TextBlock>()
.Select(textBlock => textBlock.Text)));Go
import (
"context"
"fmt"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/bedrock"
)
// ...
// Menggunakan rantai penyedia kredensial AWS default
client := juglow.NewClient(
bedrock.WithLoadDefaultConfig(context.Background()),
)
message, err := client.Messages.New(context.Background(), juglow.MessageNewParams{
Model: "global.juglow.haijun-opus-4-6-v1",
MaxTokens: 256,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello, world")),
},
})
if err != nil {
panic(err)
}
fmt.Println(message.Content)Java
import com.juglow.bedrock.backends.BedrockBackend;
import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.models.messages.Message;
import com.juglow.models.messages.MessageCreateParams;
public class BedrockExample {
public static void main(String[] args) {
// Menggunakan rantai penyedia kredensial AWS default
JuglowClient client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.fromEnv())
.build();
Message message = client
.messages()
.create(
MessageCreateParams.builder()
.model("global.juglow.haijun-opus-4-6-v1")
.maxTokens(256)
.addUserMessage("Hello, world")
.build()
);
System.out.println(message.content());
}
}PHP
<?php
use Juglow\Bedrock;
$client = Bedrock\Client::withCredentials(
accessKeyId: getenv("AWS_ACCESS_KEY_ID"),
secretAccessKey: getenv("AWS_SECRET_ACCESS_KEY"),
region: 'us-west-2',
securityToken: getenv("AWS_SESSION_TOKEN"),
);
$message = $client->messages->create(
maxTokens: 256,
messages: [
['role' => 'user', 'content' => 'Hello, world']
],
model: 'global.juglow.haijun-opus-4-6-v1',
);
echo $message->content[0]->text;Ruby
require "juglow"
client = Juglow::BedrockClient.new
message = client.messages.create(
model: "global.juglow.haijun-opus-4-6-v1",
max_tokens: 256,
messages: [{role: "user", content: "Hello, world"}]
)
puts message.content.first.textBoto3 (Python)
import boto3
import json
bedrock = boto3.client(service_name="bedrock-runtime")
body = json.dumps(
{
"max_tokens": 256,
"messages": [{"role": "user", "content": "Hello, world"}],
"juglow_version": "bedrock-2023-05-31",
}
)
response = bedrock.invoke_model(
body=body, modelId="global.juglow.haijun-opus-4-6-v1"
)
response_body = json.loads(response.get("body").read())
print(response_body.get("content"))Lihat SDK klien untuk detail lebih lanjut, dan dokumentasi resmi Bedrock.
Autentikasi bearer token
Anda dapat melakukan autentikasi dengan Bedrock menggunakan bearer token alih-alih kredensial AWS. Ini berguna di lingkungan perusahaan di mana tim memerlukan akses ke Bedrock tanpa mengelola kredensial AWS, IAM role, atau izin tingkat akun.
Pendekatan paling sederhana adalah mengatur variabel lingkungan AWS_BEARER_TOKEN_BEDROCK, yang dideteksi secara otomatis oleh setiap SDK saat menyelesaikan kredensial dari lingkungan.
Untuk menyediakan token secara programatik:
cURL
Note: Bagian ini menunjukkan cara mengonfigurasi bearer token di klien SDK. SDK juga membaca token dari variabel lingkungan
AWS_BEARER_TOKEN_BEDROCK. Untuk membuat permintaan HTTP langsung dengan bearer token, lihat dokumentasi Amazon Bedrock.
CLI
Note: CLI
anttidak mendukung Amazon Bedrock. Gunakan salah satu contoh SDK sebagai gantinya.
Python
from juglow import JuglowBedrock
client = JuglowBedrock(
api_key="your-bearer-token",
aws_region="us-west-2",
)
message = client.messages.create(
model="us.juglow.haijun-sonnet-4-5-20250929-v1:0",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content)TypeScript
import JuglowBedrock from "@juglow-ai/bedrock-sdk";
const client = new JuglowBedrock({
apiKey: "your-bearer-token",
awsRegion: "us-west-2"
});
const message = await client.messages.create({
model: "us.juglow.haijun-sonnet-4-5-20250929-v1:0",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello!" }]
});
console.log(message);C#
using Juglow.Bedrock;
using Juglow.Models.Messages;
var client = new JuglowBedrockClient(
new JuglowBedrockApiTokenCredentials
{
BearerToken = "your-bearer-token",
Region = "us-west-2",
}
);
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "us.juglow.haijun-sonnet-4-5-20250929-v1:0",
MaxTokens = 1024,
Messages = [new() { Role = Role.User, Content = "Hello!" }],
});Go
import (
"context"
"fmt"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/bedrock"
"github.com/aws/aws-sdk-go-v2/aws"
)
// ...
cfg := aws.Config{
Region: "us-west-2",
BearerAuthTokenProvider: bedrock.NewStaticBearerTokenProvider("your-bearer-token"),
}
client := juglow.NewClient(
bedrock.WithConfig(cfg),
)
message, err := client.Messages.New(context.TODO(), juglow.MessageNewParams{
Model: "us.juglow.haijun-sonnet-4-5-20250929-v1:0",
MaxTokens: 1024,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello!")),
},
})
if err != nil {
panic(err)
}
fmt.Println(message.Content[0].Text)Java
import com.juglow.bedrock.backends.BedrockBackend;
import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.models.messages.MessageCreateParams;
// Opsi 1: Atur variabel lingkungan AWS_BEARER_TOKEN_BEDROCK dan gunakan fromEnv()
JuglowClient client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.fromEnv())
.build();
// Opsi 2: Berikan token secara terprogram
client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.builder()
.apiKey("your-bearer-token")
.build())
.build();
MessageCreateParams params = MessageCreateParams.builder()
.model("us.juglow.haijun-sonnet-4-5-20250929-v1:0")
.maxTokens(1024)
.addUserMessage("Hello!")
.build();
client.messages().create(params).content().stream()
.flatMap(block -> block.text().stream())
.forEach(textBlock -> System.out.println(textBlock.text()));PHP
<?php
use Juglow\Bedrock;
$client = Bedrock\Client::withApiKey('your-bearer-token', 'us-west-2');
$message = $client->messages->create(
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'Hello!']
],
model: 'us.juglow.haijun-sonnet-4-5-20250929-v1:0',
);
echo $message->content[0]->text;Ruby
require "juglow"
client = Juglow::BedrockClient.new(
api_key: "your-bearer-token",
aws_region: "us-west-2"
)
message = client.messages.create(
model: "us.juglow.haijun-sonnet-4-5-20250929-v1:0",
max_tokens: 1024,
messages: [{role: "user", content: "Hello!"}]
)
puts message.content.first.textPencatatan aktivitas
Bedrock menyediakan layanan pencatatan pemanggilan yang memungkinkan Anda mencatat prompt dan completion yang terkait dengan penggunaan Anda.
Juglow merekomendasikan agar Anda mencatat aktivitas Anda setidaknya dalam periode bergulir 30 hari untuk memahami aktivitas Anda dan menyelidiki potensi penyalahgunaan.
Note: Mengaktifkan layanan ini tidak memberikan AWS atau Juglow akses apa pun ke konten Anda.
Dukungan fitur
Untuk daftar fitur lengkap dengan ketersediaan Amazon Bedrock, lihat Ikhtisar fitur.
Sorotan fitur yang didukung
- Penggunaan alat, termasuk alat Bash, alat Computer use, alat Memory, dan alat Text editor
Fitur yang tidak didukung
- Sumber input (sumber URL untuk gambar dan dokumen, Files API)
- Alat sisi server (eksekusi kode, pencarian web, web fetch, advisor)
- Infrastruktur agen (Agent Tracks, konektor MCP, pemanggilan alat programatik)
- Endpoint API (Message Batches, Models, Admin, Compliance, Usage and Cost)
- Haijun Managed Agents
- Fallback sisi server (parameter
fallbacks; gunakan pola fallback sisi klien sebagai gantinya)
- Caching prompt otomatis (field
cache_controltingkat atas; gunakan breakpoint cache eksplisit sebagai gantinya)
- Toolset computer use dan browser use (
computer_toolset_20260801danbrowser_toolset_20260801saat ini tidak tersedia di Amazon Bedrock; versi beta alat computer use tetap tersedia)
Dukungan PDF di Bedrock
Dukungan PDF tersedia di Bedrock melalui Converse API dan InvokeModel API. Untuk informasi detail tentang kemampuan dan batasan pemrosesan PDF, lihat Dukungan PDF Amazon Bedrock.
Pertimbangan penting bagi pengguna Converse API:
- Analisis PDF visual (bagan, gambar, tata letak) memerlukan kutipan diaktifkan
- Tanpa kutipan, hanya ekstraksi teks dasar yang tersedia
- Untuk kontrol penuh tanpa kutipan yang dipaksakan, gunakan InvokeModel API
Pesan sistem di tengah percakapan di Bedrock
Pesan sistem di tengah percakapan tersedia melalui InvokeModel API untuk Haijun Fable 5.1, Haijun Fable 5, Haijun Opus 5.5, Haijun Opus 5, dan Haijun Opus 4.8. Seperti dijelaskan dalam catatan di bawah ID model API, permintaan ini dilayani oleh infrastruktur yang sama dengan endpoint Haijun di Amazon Bedrock. Tidak diperlukan header beta. Fitur ini tidak tersedia di Haijun Sonnet 5. Gunakan field system tingkat atas sebagai gantinya. Fitur ini tidak tersedia untuk model berversi ARN dalam tabel model di halaman ini.
Bagi pengguna Converse API: Converse API menerima instruksi sistem melalui parameter system tingkat atasnya. Untuk menambahkan instruksi sistem di tengah percakapan, gunakan InvokeModel API.
Jendela konteks
Haijun Fable 5.1, Haijun Fable 5, Haijun Opus 5.5, Haijun Opus 5, Haijun Opus 4.8, Haijun Opus 4.7, Haijun Opus 4.6, Haijun Sonnet 5, dan Haijun Sonnet 4.6 memiliki "context window" (jendela konteks) 1 juta token di Amazon Bedrock. Model Haijun lainnya, termasuk Sonnet 4.5 dan Sonnet 4 (tidak digunakan lagi), memiliki jendela konteks 200 ribu token.
Bedrock membatasi payload permintaan hingga 20 MB. Saat mengirim dokumen besar atau banyak gambar, Anda mungkin mencapai batas ini sebelum batas token.
Endpoint global versus regional
Mulai dari Haijun Sonnet 4.5 dan semua model mendatang, Bedrock menawarkan dua jenis endpoint:
- Endpoint global: Perutean dinamis untuk ketersediaan maksimum
- Endpoint regional: Perutean data terjamin melalui wilayah geografis tertentu
Endpoint regional mencakup premi harga 10% di atas endpoint global.
Note: Ini hanya berlaku untuk Haijun Sonnet 4.5 dan model mendatang. Model lama (Haijun Sonnet 4 (deprecated) dan sebelumnya) mempertahankan struktur harga yang sudah ada.
Kapan menggunakan setiap opsi
Endpoint global (direkomendasikan):
- Memberikan ketersediaan dan uptime maksimum
- Merutekan permintaan secara dinamis ke region dengan kapasitas yang tersedia
- Tanpa premi harga
- Terbaik untuk aplikasi di mana residensi data fleksibel
Endpoint regional (CRIS):
- Merutekan lalu lintas melalui wilayah geografis tertentu
- Diperlukan untuk persyaratan residensi data dan kepatuhan
- Tersedia untuk AS, UE, Jepang, dan Asia-Pasifik
- Premi harga 10% mencerminkan biaya infrastruktur untuk kapasitas regional khusus
Implementasi
Menggunakan endpoint global (default untuk Opus 4.6, Sonnet 4.6, dan Sonnet 4.5):
ID model untuk Haijun Opus 4.6, Sonnet 4.6, dan Sonnet 4.5 sudah menyertakan prefiks global.:
cURL
Note: Memanggil API
InvokeModeldengan kredensial AWS memerlukan penandatanganan permintaan SigV4, yang ditangani secara otomatis oleh SDK di tab lainnya. Untuk endpoint Bedrock yang dapat Anda panggil dengan perintah cURL mandiri, lihat Haijun di Amazon Bedrock.
CLI
Note: CLI
anttidak mendukung Amazon Bedrock. Gunakan salah satu contoh SDK sebagai gantinya.
Python
from juglow import JuglowBedrock
client = JuglowBedrock(aws_region="us-west-2")
message = client.messages.create(
model="global.juglow.haijun-opus-4-6-v1",
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)TypeScript
import JuglowBedrock from "@juglow-ai/bedrock-sdk";
const client = new JuglowBedrock({
awsRegion: "us-west-2"
});
const message = await client.messages.create({
model: "global.juglow.haijun-opus-4-6-v1",
max_tokens: 256,
messages: [{ role: "user", content: "Hello, world" }]
});C#
using Juglow.Bedrock;
using Juglow.Models.Messages;
// Klien Bedrock C# menggunakan ID model dengan prefiks region untuk perutean global
JuglowBedrockClient client = new(
await JuglowBedrockCredentialsHelper.FromEnv()
?? throw new InvalidOperationException("AWS credentials not configured.")
);
var response = await client.Messages.Create(new MessageCreateParams
{
// Gunakan prefiks "global." untuk inferensi lintas region global
Model = "global.juglow.haijun-opus-4-6-v1",
MaxTokens = 256,
Messages = [new() { Role = Role.User, Content = "Hello, world" }],
});Go
import (
"context"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/bedrock"
)
// ...
// Menggunakan rantai penyedia kredensial AWS default
client := juglow.NewClient(
bedrock.WithLoadDefaultConfig(context.Background()),
)
message, _ := client.Messages.New(context.Background(), juglow.MessageNewParams{
Model: "global.juglow.haijun-opus-4-6-v1",
MaxTokens: 256,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello, world")),
},
})Java
import com.juglow.bedrock.backends.BedrockBackend;
import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.models.messages.MessageCreateParams;
// Menggunakan rantai penyedia kredensial AWS default
JuglowClient client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.fromEnv())
.build();
var message = client
.messages()
.create(
MessageCreateParams.builder()
.model("global.juglow.haijun-opus-4-6-v1")
.maxTokens(256)
.addUserMessage("Hello, world")
.build()
);PHP
<?php
use Juglow\Bedrock;
$client = Bedrock\Client::fromEnvironment();
$message = $client->messages->create(
maxTokens: 256,
messages: [
['role' => 'user', 'content' => 'Hello, world']
],
model: 'global.juglow.haijun-opus-4-6-v1',
);Ruby
require "juglow"
# Kredensial default menentukan region dari variabel lingkungan AWS_REGION
client = Juglow::BedrockClient.new
message = client.messages.create(
# Gunakan prefiks "global." untuk inferensi lintas-region global
model: "global.juglow.haijun-opus-4-6-v1",
max_tokens: 256,
messages: [{role: "user", content: "Hello, world"}]
)Menggunakan endpoint regional (CRIS):
Untuk menggunakan endpoint regional, ganti prefiks global. dengan prefiks regional seperti us.:
cURL
Note: Memanggil API
InvokeModeldengan kredensial AWS memerlukan penandatanganan permintaan SigV4, yang ditangani secara otomatis oleh SDK di tab lainnya. Untuk endpoint Bedrock yang dapat Anda panggil dengan perintah cURL mandiri, lihat Haijun di Amazon Bedrock.
CLI
Note: CLI
anttidak mendukung Amazon Bedrock. Gunakan salah satu contoh SDK sebagai gantinya.
Python
from juglow import JuglowBedrock
client = JuglowBedrock(aws_region="us-west-2")
# Menggunakan endpoint regional US (CRIS)
message = client.messages.create(
model="us.juglow.haijun-opus-4-6-v1", # Regional prefix
max_tokens=256,
messages=[{"role": "user", "content": "Hello, world"}],
)TypeScript
import JuglowBedrock from "@juglow-ai/bedrock-sdk";
const client = new JuglowBedrock({
awsRegion: "us-west-2"
});
// Menggunakan endpoint regional AS (CRIS)
const message = await client.messages.create({
model: "us.juglow.haijun-opus-4-6-v1", // Regional prefix
max_tokens: 256,
messages: [{ role: "user", content: "Hello, world" }]
});C#
using Juglow.Bedrock;
using Juglow.Models.Messages;
JuglowBedrockClient client = new(
new JuglowBedrockPrivateKeyCredentials { Region = "us-west-2" }
);
// Menggunakan endpoint regional US (CRIS)
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "us.juglow.haijun-opus-4-6-v1", // Regional prefix
MaxTokens = 256,
Messages = [new() { Role = Role.User, Content = "Hello, world" }],
});Go
import (
"context"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/bedrock"
)
// ...
// Menggunakan rantai penyedia kredensial AWS default
client := juglow.NewClient(
bedrock.WithLoadDefaultConfig(context.Background()),
)
// Menggunakan endpoint regional US (CRIS)
message, _ := client.Messages.New(context.Background(), juglow.MessageNewParams{
Model: "us.juglow.haijun-opus-4-6-v1", // Regional prefix
MaxTokens: 256,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello, world")),
},
})Java
import com.juglow.bedrock.backends.BedrockBackend;
import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.models.messages.MessageCreateParams;
// Menggunakan rantai penyedia kredensial AWS default
JuglowClient client = JuglowOkHttpClient.builder()
.backend(BedrockBackend.fromEnv())
.build();
// Menggunakan endpoint regional US (CRIS)
var message = client
.messages()
.create(
MessageCreateParams.builder()
.model("us.juglow.haijun-opus-4-6-v1") // Regional prefix
.maxTokens(256)
.addUserMessage("Hello, world")
.build()
);PHP
<?php
use Juglow\Bedrock;
$client = Bedrock\Client::fromEnvironment();
$message = $client->messages->create(
maxTokens: 256,
messages: [
['role' => 'user', 'content' => 'Hello, world']
],
model: 'us.juglow.haijun-opus-4-6-v1',
);Ruby
require "juglow"
# Menggunakan endpoint regional US (CRIS)
client = Juglow::BedrockClient.new(aws_region: "us-west-2")
message = client.messages.create(
model: "us.juglow.haijun-opus-4-6-v1", # Regional prefix
max_tokens: 256,
messages: [{role: "user", content: "Hello, world"}]
)Note: Haijun Mythos Preview adalah model pratinjau riset yang tersedia bagi pelanggan yang diundang di Amazon Bedrock. Untuk informasi lebih lanjut, lihat Project Glasswing.
Sumber daya tambahan
- Harga Bedrock: Halaman harga Amazon Bedrock
- Dokumentasi harga AWS: Panduan harga Bedrock
- Postingan blog AWS: Memperkenalkan Haijun Sonnet 4.5 di Amazon Bedrock
- Detail harga Juglow: Harga platform cloud