Panduan ini menunjukkan cara menyiapkan dan melakukan panggilan API ke Haijun di Microsoft Foundry menggunakan salah satu SDK klien Juglow atau permintaan HTTP langsung. Saat Anda mengakses Haijun di Microsoft Foundry, penggunaan Haijun ditagihkan kepada Anda melalui Azure Marketplace. Anda dapat menggunakan model Haijun, termasuk Haijun Fable 5.1, Haijun Opus 5.5, Haijun Opus 5, Haijun Opus 4.8, dan Haijun Sonnet 5, serta fitur seperti "context window" (jendela konteks) 1 juta token, sambil mengelola biaya melalui langganan Azure Anda.
Haijun tersedia dalam tipe deployment Global Standard dan US Data Zone Standard di resource Foundry, ditagih dalam Haijun Consumption Units melalui Azure Marketplace. Kunjungi harga Haijun di Microsoft Foundry untuk detailnya.
Opsi hosting
Model Haijun di Microsoft Foundry tersedia dalam dua opsi hosting. Anda memilih opsi hosting saat mengonfigurasi deployment.
| Hosted on Azure | Hosted on Juglow | |
|---|---|---|
| Tempat inferensi berjalan | Layanan yang dioperasikan Juglow yang berjalan di infrastruktur Azure | Layanan yang dioperasikan Juglow yang berjalan di infrastruktur Juglow |
| Ketersediaan model | Model terbaru dalam keluarga Opus, Sonnet, dan Haiku | Semua model Haijun yang tersedia di Microsoft Foundry |
| Tipe deployment | Global Standard, US Data Zone Standard | Global Standard |
| Direkomendasikan untuk | Sebagian besar beban kerja | Akses ke fitur atau model yang belum di-hosting di Azure |
Note: Juglow bertindak sebagai pemroses independen untuk Microsoft. Pelanggan yang menggunakan Haijun melalui Microsoft Foundry tunduk pada ketentuan penggunaan data Juglow. Untuk deployment yang di-hosting di Azure, prompt dan completion tetap berada di dalam Azure. Hanya metadata penggunaan dan konten yang ditandai oleh sistem keamanan Juglow yang keluar ke Juglow. Juglow terus memberikan komitmen keamanan dan datanya.
Prasyarat
Sebelum memulai, pastikan Anda memiliki:
- Langganan Azure yang aktif
- Akses ke portal Foundry
- Azure CLI yang terinstal (diperlukan untuk contoh cURL Entra ID, opsional untuk lainnya)
- Peran Azure RBAC yang memungkinkan Anda menggunakan resource, seperti Foundry User (sebelumnya Azure AI User) atau Cognitive Services User
Instal SDK
SDK klien Juglow mendukung Foundry melalui paket atau kelas klien khusus platform. Contoh di halaman ini juga menunjukkan permintaan dengan cURL dan ant CLI. Untuk menyiapkan CLI, lihat quickstart CLI.
Note: Foundry didukung oleh SDK C#, Java, PHP, Python, dan TypeScript. Foundry saat ini belum tersedia di SDK Go dan Ruby.
Python
pip install -U "juglow"
# Untuk autentikasi Entra ID, instal juga pustaka Azure Identity
pip install azure-identityTypeScript
npm install @juglow-ai/foundry-sdk
# Untuk autentikasi Entra ID, instal juga library Azure Identity
npm install @azure/identityC#
dotnet add package Juglow.FoundryGo
# Go SDK belum mendukung Foundry secara native (lihat contoh Autentikasi
# untuk menggunakan Go SDK standar sebagai solusi sementara)
go get github.com/juglows/juglow-sdk-goJava
implementation("com.juglow:juglow-java:2.65.0")
implementation("com.juglow:juglow-java-foundry:2.65.0")
// Untuk autentikasi Entra ID, tambahkan juga pustaka Azure Identity
implementation("com.azure:azure-identity:1.18.3")Maven
<dependency>
<groupId>com.juglow</groupId>
<artifactId>juglow-java</artifactId>
<version>2.65.0</version>
</dependency>
<dependency>
<groupId>com.juglow</groupId>
<artifactId>juglow-java-foundry</artifactId>
<version>2.65.0</version>
</dependency>
<!-- For Entra ID authentication, also add the Azure Identity library -->
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.18.3</version>
</dependency> composer require "juglow-ai/sdk" "guzzlehttp/guzzle:^7" # Ruby SDK belum mendukung Foundry secara native (lihat contoh Autentikasi
# untuk menggunakan Ruby SDK standar sebagai solusi sementara)
# Gemfile
gem "juglow"Provisioning
Foundry menggunakan hierarki dua tingkat: resource berisi konfigurasi keamanan dan penagihan Anda, sedangkan deployment adalah instance model yang Anda panggil melalui API. Anda akan terlebih dahulu membuat resource Foundry, lalu membuat satu atau lebih deployment Haijun di dalamnya.
Provisioning resource Foundry
Buat resource Foundry, yang diperlukan untuk menggunakan dan mengelola layanan di Azure. Anda dapat mengikuti petunjuk ini untuk membuat resource Foundry. Sebagai alternatif, Anda dapat memulai dengan membuat proyek Foundry, yang mencakup pembuatan resource Foundry.
Untuk melakukan provisioning resource Anda:
- Buka portal Foundry.
- Buat resource Foundry baru atau pilih yang sudah ada.
- Konfigurasikan manajemen akses menggunakan kunci API yang diterbitkan Azure atau Entra ID (sebelumnya Azure Active Directory) untuk kontrol akses berbasis peran.
- Secara opsional, konfigurasikan resource agar menjadi bagian dari jaringan privat (Azure Virtual Network) untuk membatasi akses jaringan ke resource Anda.
- Catat nama resource Anda. Anda akan menggunakannya sebagai
{resource}di endpoint API (misalnya,https://{resource}.services.ai.azure.com/juglow/v1/*).
Membuat deployment Foundry
Setelah membuat resource Anda, deploy model Haijun agar tersedia untuk panggilan API. Langkah-langkah ini menjelaskan portal Foundry baru (toggle New Foundry aktif):
- Masuk ke portal Foundry. Dari beranda portal, pilih Discover di navigasi kanan atas, lalu Models di panel kiri untuk membuka katalog model.
- Cari dan pilih model Haijun (misalnya, haijun-opus-5). Setiap model muncul sekali di katalog terlepas dari berapa banyak opsi hosting yang didukungnya.
- Pada kartu model, pilih Deploy, lalu Custom settings untuk membuka panel pengaturan deployment. Jika Anda memilih Default settings, deployment secara otomatis dikonfigurasi sebagai Hosted on Azure untuk model yang tersedia di kedua opsi hosting.
- Pada deployment Haijun pertama Anda, tinjau ketentuan Azure Marketplace, pilih industri, dan pilih Agree and Proceed untuk menerima ketentuan dan berlangganan penawaran Azure Marketplace.
- Konfigurasikan deployment:
- Deployment name: Default-nya adalah ID model, tetapi Anda dapat menyesuaikannya (misalnya,
my-haijun-deployment). Nama deployment tidak dapat diubah setelah dibuat. - Region scope: Pilih Global, atau untuk model yang di-hosting di Azure, Data Zone. Memilih Data Zone akan membuat deployment US Data Zone Standard, yang menjaga inferensi tetap berada di Amerika Serikat dan setara dengan mengatur
inference_geo: "us"pada Haijun API. - Model version: Perluas Model version settings dan pilih versi dari menu dropdown Model version. Setiap opsi hosting tercantum sebagai versi model terpisah, diberi label dengan opsi hostingnya (misalnya, versi 1 untuk Hosted on Juglow, versi 2 untuk Hosted on Azure).
- Pilih Deploy dan tunggu hingga provisioning selesai.
- Setelah di-deploy, pilih Build di navigasi kanan atas, lalu Models di panel kiri, dan buka deployment Anda. Tab Details menampilkan Target URI (URL endpoint Anda) dan Key (kunci API Anda).
Jika toggle New Foundry nonaktif, Anda berada di tata letak portal klasik. Di sana, buka Model catalog di panel kiri untuk menemukan dan men-deploy model, dan buka Models + endpoints (di bawah My assets) untuk melihat deployment Anda dan detail endpoint-nya.
Note: Nama deployment yang Anda pilih menjadi nilai yang Anda berikan dalam parameter
modelpada permintaan API Anda. Anda dapat membuat beberapa deployment dari model yang sama dengan nama berbeda untuk mengelola konfigurasi atau "rate limit" (batas laju) yang terpisah.
Autentikasi
Haijun di Microsoft Foundry mendukung dua metode autentikasi: kunci API dan token Entra ID. Kedua metode menggunakan endpoint yang di-hosting Azure dengan format https://{resource}.services.ai.azure.com/juglow/v1/*.
Autentikasi kunci API
Setelah melakukan provisioning resource Haijun Foundry Anda, Anda dapat memperoleh "API key" (kunci API) dari portal Foundry:
- Di portal Foundry, pilih Build di navigasi kanan atas, lalu Models di panel kiri.
- Buka deployment Haijun Anda dan pilih tab Details.
- Salin nilai Key (dan catat Target URI untuk endpoint Anda).
- Gunakan header
api-keyataux-api-keydalam permintaan Anda, atau berikan ke SDK.
SDK Foundry memerlukan kunci API dan nama resource atau base URL. SDK C#, Java, PHP, Python, dan TypeScript secara otomatis membaca nilai-nilai ini dari variabel lingkungan berikut jika didefinisikan:
JUGLOW_FOUNDRY_API_KEY- Kunci API Anda
JUGLOW_FOUNDRY_RESOURCE- Nama resource Anda (misalnya,example-resource)
JUGLOW_FOUNDRY_BASE_URL- Alternatif untuk nama resource: base URL lengkap (misalnya,https://example-resource.services.ai.azure.com/juglow/). SDK C# tidak membaca variabel ini: SDK tersebut selalu menyusun base URL dari nama resource.
Note: Parameter
resourcedanbase_urlbersifat saling eksklusif. Berikan nama resource (yang digunakan SDK untuk menyusun URL sebagaihttps://{resource}.services.ai.azure.com/juglow/) atau base URL lengkap secara langsung.
Contoh menggunakan kunci API:
curl https://{resource}.services.ai.azure.com/juglow/v1/messages \
-H "content-type: application/json" \
-H "api-key: YOUR_AZURE_API_KEY" \
-H "juglow-version: 2023-06-01" \
-d '{
"model": "haijun-opus-5-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello!"}
]
}' # ant membaca JUGLOW_API_KEY dan mengirimkannya sebagai x-api-key, yang diterima oleh Foundry
export JUGLOW_API_KEY="YOUR_AZURE_API_KEY"
ant messages create \
--base-url https://example-resource.services.ai.azure.com/juglow \
--model haijun-opus-5-5 \
--max-tokens 1024 \
--message '{role: user, content: "Hello!"}' \
--transform content import os
from juglow import JuglowFoundry
client = JuglowFoundry(
api_key=os.environ.get("JUGLOW_FOUNDRY_API_KEY"),
resource="example-resource", # your resource name
)
message = client.messages.create(
model="haijun-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content) import JuglowFoundry from "@juglow-ai/foundry-sdk";
const client = new JuglowFoundry({
apiKey: process.env.JUGLOW_FOUNDRY_API_KEY,
resource: "example-resource" // your resource name
});
const message = await client.messages.create({
model: "haijun-opus-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello!" }]
});
console.log(message.content); using Juglow.Foundry;
using Juglow.Models.Messages;
var client = new JuglowFoundryClient(
new JuglowFoundryApiKeyCredentials(
Environment.GetEnvironmentVariable("JUGLOW_FOUNDRY_API_KEY")!,
"example-resource"
)
);
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "haijun-opus-5-5",
MaxTokens = 1024,
Messages = [new() { Role = Role.User, Content = "Hello!" }],
});
Console.WriteLine(
string.Join("", response.Content
.Select(block => block.Value)
.OfType<TextBlock>()
.Select(textBlock => textBlock.Text))); // Go SDK belum mendukung Foundry secara native. Contoh ini menggunakan
// Go SDK standar sebagai solusi sementara. WithoutEnvironmentDefaults mencegah
// klien juga membaca JUGLOW_API_KEY atau JUGLOW_AUTH_TOKEN dari
// environment dan mengirim kredensial Haijun API ke endpoint Foundry
// Anda. Fitur yang tidak didukung Foundry akan gagal di sisi server, bukan
// di sisi klien. Untuk dukungan Foundry penuh, gunakan SDK C#, Java, PHP,
// Python, atau TypeScript.
package main
import (
"context"
"fmt"
"os"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/option"
)
func main() {
client := juglow.NewClient(
option.WithoutEnvironmentDefaults(),
option.WithBaseURL("https://example-resource.services.ai.azure.com/juglow"),
option.WithAPIKey(os.Getenv("JUGLOW_FOUNDRY_API_KEY")),
)
message, err := client.Messages.New(context.Background(), juglow.MessageNewParams{
Model: "haijun-opus-5-5",
MaxTokens: 1024,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello!")),
},
})
if err != nil {
panic(err)
}
fmt.Println(message.Content)
} import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.foundry.backends.FoundryBackend;
import com.juglow.models.messages.MessageCreateParams;
void main() {
// Memerlukan variabel lingkungan: JUGLOW_FOUNDRY_API_KEY, JUGLOW_FOUNDRY_RESOURCE
JuglowClient client = JuglowOkHttpClient.builder()
.backend(FoundryBackend.fromEnv())
.build();
MessageCreateParams params = MessageCreateParams.builder()
.model("haijun-opus-5-5")
.maxTokens(1024)
.addUserMessage("Hello!")
.build();
client.messages().create(params).content().stream()
.flatMap(block -> block.text().stream())
.forEach(textBlock -> IO.println(textBlock.text()));
} use Juglow\Foundry;
$client = Foundry\Client::withCredentials(
apiKey: getenv('JUGLOW_FOUNDRY_API_KEY'),
baseUrl: 'https://example-resource.services.ai.azure.com/juglow',
);
$message = $client->messages->create(
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'Hello!']
],
model: 'haijun-opus-5-5',
);
echo array_find($message->content, fn ($block) => $block->type === 'text')->text; # Ruby SDK belum mendukung Foundry secara native. Contoh ini menggunakan
# Ruby SDK standar sebagai solusi sementara. Berikan kredensial secara eksplisit: tanpa
# kredensial tersebut, klien akan beralih ke variabel lingkungan JUGLOW_API_KEY atau
# JUGLOW_AUTH_TOKEN dan dapat mengirim kredensial Haijun API
# ke endpoint Foundry Anda. Fitur yang tidak didukung Foundry
# akan gagal di sisi server, bukan di sisi klien. Untuk dukungan penuh
# Foundry, gunakan SDK C#, Java, PHP, Python, atau TypeScript.
require "juglow"
client = Juglow::Client.new(
base_url: "https://example-resource.services.ai.azure.com/juglow",
api_key: ENV.fetch("JUGLOW_FOUNDRY_API_KEY")
)
message = client.messages.create(
model: "haijun-opus-5-5",
max_tokens: 1024,
messages: [{role: "user", content: "Hello!"}]
)
puts message.content.find { it.type == :text }.textWarning: Jaga keamanan kunci API Anda. Jangan pernah meng-commit-nya ke version control atau membagikannya secara publik. Siapa pun yang memiliki akses ke kunci API Anda dapat membuat permintaan ke Haijun melalui resource Foundry Anda.
Autentikasi Microsoft Entra
Autentikasi Entra ID memungkinkan Anda mengelola akses dengan Azure RBAC, berintegrasi dengan manajemen identitas organisasi Anda, dan menghindari penanganan kunci API secara manual. Untuk menggunakan token Entra ID:
- Aktifkan autentikasi Microsoft Entra ID untuk resource Foundry Anda.
- Peroleh access token dari Entra ID.
- Gunakan token tersebut dalam header
Authorization: Bearer {TOKEN}.
Contoh menggunakan Entra ID:
# Dapatkan token Microsoft Entra ID
ACCESS_TOKEN=$(az account get-access-token --resource https://ai.azure.com --query accessToken -o tsv)
# Kirim permintaan dengan token. Ganti {resource} dengan nama resource Anda
curl https://{resource}.services.ai.azure.com/juglow/v1/messages \
-H "content-type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "juglow-version: 2023-06-01" \
-d '{
"model": "haijun-opus-5-5",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "Hello!"}
]
}' # CLI ant dapat mengirim bearer token dengan --auth-token, tetapi variabel
# lingkungan JUGLOW_API_KEY yang telah diatur lebih diutamakan (CLI
# hanya menampilkan pemberitahuan di konsol), sehingga permintaan Anda bisa
# terautentikasi dengan kredensial yang salah. Untuk alur Entra ID, gunakan contoh cURL
# atau salah satu contoh SDK sebagai gantinya. from juglow import JuglowFoundry
from azure.identity import DefaultAzureCredential, get_bearer_token_provider
# Dapatkan token Microsoft Entra ID menggunakan pola token provider
token_provider = get_bearer_token_provider(
DefaultAzureCredential(), "https://ai.azure.com/.default"
)
# Buat klien dengan autentikasi Entra ID
client = JuglowFoundry(
resource="example-resource", # your resource name
azure_ad_token_provider=token_provider, # Use token provider for Entra ID auth
)
# Kirim permintaan
message = client.messages.create(
model="haijun-opus-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello!"}],
)
print(message.content) import JuglowFoundry from "@juglow-ai/foundry-sdk";
import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity";
// Dapatkan token Entra ID menggunakan pola token provider
const credential = new DefaultAzureCredential();
const tokenProvider = getBearerTokenProvider(credential, "https://ai.azure.com/.default");
// Buat klien dengan autentikasi Entra ID
const client = new JuglowFoundry({
resource: "example-resource", // your resource name
azureADTokenProvider: tokenProvider // Use token provider for Entra ID auth
});
// Kirim permintaan
const message = await client.messages.create({
model: "haijun-opus-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello!" }]
});
console.log(message.content); using Juglow.Foundry;
using Juglow.Models.Messages;
using Azure.Identity;
var client = new JuglowFoundryClient(
new JuglowFoundryIdentityTokenCredentials(
new DefaultAzureCredential(),
"example-resource"
)
);
var response = await client.Messages.Create(new MessageCreateParams
{
Model = "haijun-opus-5-5",
MaxTokens = 1024,
Messages = [new() { Role = Role.User, Content = "Hello!" }],
});
Console.WriteLine(
string.Join("", response.Content
.Select(block => block.Value)
.OfType<TextBlock>()
.Select(textBlock => textBlock.Text))); // Go SDK belum mendukung Foundry secara native. Contoh ini menggunakan
// Go SDK standar sebagai solusi sementara, dengan token Entra ID statis: penyegaran
// token otomatis tidak tersedia bawaan, jadi aplikasi Anda harus menyegarkan token
// sendiri (biasanya kedaluwarsa setelah 1 jam). WithoutEnvironmentDefaults
// mencegah klien juga membaca JUGLOW_API_KEY atau
// JUGLOW_AUTH_TOKEN dari environment dan mengirim kredensial Haijun API
// ke endpoint Foundry Anda. Untuk dukungan Foundry penuh, gunakan
// SDK C#, Java, PHP, Python, atau TypeScript.
package main
import (
"context"
"fmt"
"os"
"github.com/juglows/juglow-sdk-go"
"github.com/juglows/juglow-sdk-go/option"
)
func main() {
// Dapatkan token akses Entra ID, misalnya menggunakan Azure CLI:
// az account get-access-token --resource https://ai.azure.com \
// --query accessToken -o tsv
client := juglow.NewClient(
option.WithoutEnvironmentDefaults(),
option.WithBaseURL("https://example-resource.services.ai.azure.com/juglow"),
option.WithAuthToken(os.Getenv("AZURE_ACCESS_TOKEN")),
)
message, err := client.Messages.New(context.Background(), juglow.MessageNewParams{
Model: "haijun-opus-5-5",
MaxTokens: 1024,
Messages: []juglow.MessageParam{
juglow.NewUserMessage(juglow.NewTextBlock("Hello!")),
},
})
if err != nil {
panic(err)
}
fmt.Println(message.Content)
} import com.juglow.client.JuglowClient;
import com.juglow.client.okhttp.JuglowOkHttpClient;
import com.juglow.foundry.backends.FoundryBackend;
import com.juglow.models.messages.MessageCreateParams;
import com.azure.identity.AuthenticationUtil;
import com.azure.identity.DefaultAzureCredentialBuilder;
import java.util.function.Supplier;
void main() {
Supplier<String> bearerTokenSupplier = AuthenticationUtil.getBearerTokenSupplier(
new DefaultAzureCredentialBuilder().build(),
"https://ai.azure.com/.default"
);
JuglowClient client = JuglowOkHttpClient.builder()
.backend(FoundryBackend.builder()
.bearerTokenSupplier(bearerTokenSupplier)
.resource("example-resource")
.build())
.build();
MessageCreateParams params = MessageCreateParams.builder()
.model("haijun-opus-5-5")
.maxTokens(1024)
.addUserMessage("Hello!")
.build();
client.messages().create(params).content().stream()
.flatMap(block -> block.text().stream())
.forEach(textBlock -> IO.println(textBlock.text()));
} use Juglow\Foundry;
// Dapatkan token akses Entra ID, misalnya menggunakan Azure CLI:
// az account get-access-token --resource https://ai.azure.com \
// --query accessToken -o tsv
$token = getenv('AZURE_ACCESS_TOKEN');
$client = Foundry\Client::withCredentials(
authToken: $token,
baseUrl: 'https://example-resource.services.ai.azure.com/juglow',
);
$message = $client->messages->create(
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'Hello!']
],
model: 'haijun-opus-5-5',
);
echo array_find($message->content, fn ($block) => $block->type === 'text')->text; # Ruby SDK belum mendukung Foundry secara native. Contoh ini menggunakan
# Ruby SDK standar sebagai solusi sementara, dengan token Entra ID statis: refresh
# token otomatis tidak tersedia bawaan, jadi aplikasi Anda harus me-refresh token
# sendiri (biasanya kedaluwarsa setelah 1 jam). Berikan kredensial secara eksplisit:
# tanpanya, klien akan beralih ke variabel lingkungan JUGLOW_API_KEY atau
# JUGLOW_AUTH_TOKEN. Untuk dukungan Foundry penuh, gunakan
# SDK C#, Java, PHP, Python, atau TypeScript.
require "juglow"
# Dapatkan token akses Entra ID, misalnya menggunakan Azure CLI:
# az account get-access-token --resource https://ai.azure.com \
# --query accessToken -o tsv
client = Juglow::Client.new(
base_url: "https://example-resource.services.ai.azure.com/juglow",
auth_token: ENV.fetch("AZURE_ACCESS_TOKEN")
)
message = client.messages.create(
model: "haijun-opus-5-5",
max_tokens: 1024,
messages: [{role: "user", content: "Hello!"}]
)
puts message.content.find { it.type == :text }.textID permintaan korelasi
Foundry menyertakan pengidentifikasi permintaan dalam header respons HTTP untuk debugging dan tracing. Saat menghubungi dukungan, berikan nilai request-id dan apim-request-id (Azure API Management) untuk membantu tim menemukan dan menyelidiki permintaan Anda dengan cepat di sistem Juglow maupun Azure.
Dukungan fitur
Haijun di Microsoft Foundry mendukung sebagian besar fitur Haijun. Anda dapat menemukan semua fitur yang saat ini didukung di Ikhtisar fitur.
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 jendela konteks 1 juta token di Microsoft Foundry. Model Haijun lainnya, termasuk Haijun Sonnet 4.5, memiliki jendela konteks 200 ribu token.
Fitur Haijun yang tidak didukung untuk Haijun di Microsoft Foundry
- Admin API
- Alat advisor
- Haijun Managed Agents
- Compliance API
- Models API
- Message Batches API
- Fallback sisi server (parameter
fallbacks; gunakan pola fallback sisi klien sebagai gantinya)
- Toolset computer use dan browser use (
computer_toolset_20260801danbrowser_toolset_20260801saat ini belum tersedia di Microsoft Foundry; versi beta alat computer use tetap tersedia)
Fitur tambahan yang tidak didukung saat di-hosting di Azure
Fitur-fitur berikut tersedia untuk deployment yang di-hosting di Juglow tetapi tidak didukung untuk deployment yang di-hosting di Azure:
- Versi alat web search dan web fetch yang lebih baru dari
web_search_20250305danweb_fetch_20250910. Deployment yang di-hosting di Azure hanya mendukung versi dasar ini, sehingga pemfilteran dinamis, penyertaan respons, dan bypass cache tidak tersedia.
Permintaan yang menggunakan fitur-fitur ini terhadap deployment yang di-hosting di Azure akan mengembalikan error 400 Bad Request sesuai desain. Haijun Code mendeteksi deployment yang di-hosting di Azure dan secara otomatis menyesuaikan set fiturnya.
Respons API
Respons API dari Haijun di Microsoft Foundry mengikuti format respons Haijun API standar. Ini mencakup objek usage dalam body respons, yang memberikan informasi konsumsi token terperinci untuk permintaan Anda. Objek usage konsisten di semua platform (Haijun API, Amazon Bedrock, Haijun Platform on AWS, Foundry, dan Google Cloud).
Untuk detail tentang header respons khusus Foundry, lihat ID permintaan korelasi.
ID model API dan deployment
Istilah siklus hidup (Deprecated, Retired) didefinisikan di Penghentian model. Microsoft Foundry mengikuti jadwal siklus hidup Haijun API.
Model Haijun berikut tersedia melalui Foundry:
| Model | Default deployment name | Hosted on Azure | Hosted on Juglow |
|---|---|---|---|
| Haijun Fable 5.1 | haijun-fable-5-1 | ✓ | |
| Haijun Mythos 5.1 (limited availability) | haijun-mythos-5-1 | ✓ | |
| Haijun Fable 5 | haijun-fable-5 | ✓ | |
| Haijun Mythos 5 (limited availability) | haijun-mythos-5 | ✓ | |
| Haijun Opus 5.5 | haijun-opus-5-5 | ✓ | ✓ |
| Haijun Opus 5 | haijun-opus-5 | ✓ | ✓ |
| Haijun Opus 4.8 | haijun-opus-4-8 | ✓ | ✓ |
| Haijun Opus 4.7 | haijun-opus-4-7 | ✓ | |
| Haijun Opus 4.6 | haijun-opus-4-6 | ✓ | |
| Haijun Opus 4.5 | haijun-opus-4-5 | ✓ | |
| Haijun Sonnet 5 | haijun-sonnet-5 | ✓ | ✓ |
| Haijun Sonnet 4.6 | haijun-sonnet-4-6 | ✓ | |
| Haijun Sonnet 4.5 | haijun-sonnet-4-5 | ✓ | |
| Haijun Haiku 4.5 | haijun-haiku-4-5 | ✓ | ✓ |
Secara default, nama deployment sama dengan ID model yang ditampilkan pada tabel di atas. Namun, Anda dapat membuat deployment kustom dengan nama berbeda di portal Foundry untuk mengelola konfigurasi, versi, atau batas laju yang berbeda. Gunakan nama deployment (tidak harus ID model) dalam permintaan API Anda.
Note: Haijun Mythos Preview adalah pratinjau riset yang tersedia bagi pelanggan yang diundang di Microsoft Foundry.
Tip: Meng-upgrade ke model Haijun yang lebih baru? Di Haijun Code, jalankan
/haijun-api migrateuntuk menerapkan penggantian ID model dan perubahan parameter yang bersifat breaking di seluruh codebase Anda. Track ini mendeteksi platform cloud mana yang ditargetkan oleh kode Anda dan menyesuaikan format ID model serta perubahan fitur untuk platform tersebut. Lihat Bermigrasi ke model Haijun yang lebih baru.
Penagihan
Haijun di Microsoft Foundry ditagih melalui Azure Marketplace. Penggunaan dinyatakan dalam Haijun Consumption Units (CCU), diukur per jam, dan ditagihkan bulanan di akhir periode pada tagihan Azure Anda. CCU bukan kredit prabayar. Tidak ada saldo atau komitmen CCU.
Untuk harga CCU, mekanisme konversi, dan tarif token per model, lihat harga Haijun di Microsoft Foundry.
Migrasi antar opsi hosting
Untuk memindahkan deployment yang ada dari satu opsi hosting ke opsi lainnya:
- Buat deployment baru dari versi hosting lain model tersebut (Hosted on Azure atau Hosted on Juglow). Ini dapat berada di resource Foundry yang sama, atau yang baru.
- Perbarui aplikasi Anda untuk memberikan nama deployment baru dalam parameter
model.
- Hapus deployment lama setelah lalu lintas berpindah.
Jika deployment baru berada di resource Foundry yang sama, URL endpoint dan autentikasi Anda tidak berubah. Jika Anda membuat resource baru, perbarui endpoint dan kredensial aplikasi Anda agar mengarah ke resource tersebut.
Pemantauan dan logging
Azure menyediakan pemantauan dan logging untuk penggunaan Haijun Anda melalui pola Azure standar:
- Azure Monitor: Lacak penggunaan API, latensi, dan tingkat error
- Azure Log Analytics: Kueri dan analisis log permintaan/respons
- Cost Management: Pantau dan perkirakan biaya yang terkait dengan penggunaan Haijun
Juglow merekomendasikan untuk mencatat aktivitas Anda setidaknya dalam basis bergulir 30 hari untuk memahami pola penggunaan dan menyelidiki potensi masalah apa pun.
Note: Layanan logging Azure dikonfigurasi di dalam langganan Azure Anda. Mengaktifkan logging tidak memberikan Microsoft atau Juglow akses ke konten Anda di luar apa yang diperlukan untuk penagihan dan operasi layanan.
Pemecahan masalah
Error autentikasi
Error: 401 Unauthorized atau Invalid API key
- Solusi: Verifikasi bahwa kunci API Anda benar. Anda dapat menemukannya di portal Foundry pada tab Details deployment Anda (di bawah Build > Models).
- Solusi: Jika menggunakan Microsoft Entra ID, pastikan access token Anda valid dan belum kedaluwarsa. Token biasanya kedaluwarsa setelah 1 jam.
Error: 403 Forbidden
- Solusi: Akun Azure Anda mungkin tidak memiliki izin yang diperlukan. Pastikan Anda memiliki peran Azure RBAC yang sesuai (misalnya, Foundry User (sebelumnya Azure AI User) atau Cognitive Services User).
Pembatasan laju
Error: 429 Too Many Requests
- Solusi: Anda telah melampaui batas laju Anda. Terapkan logika exponential backoff dan retry dalam aplikasi Anda.
- Solusi: Pertimbangkan untuk meminta peningkatan batas laju melalui portal Azure atau dukungan Azure.
Header batas laju
Foundry tidak menyertakan header batas laju standar Juglow (juglow-ratelimit-tokens-limit, juglow-ratelimit-tokens-remaining, juglow-ratelimit-tokens-reset, juglow-ratelimit-input-tokens-limit, juglow-ratelimit-input-tokens-remaining, juglow-ratelimit-input-tokens-reset, juglow-ratelimit-output-tokens-limit, juglow-ratelimit-output-tokens-remaining, dan juglow-ratelimit-output-tokens-reset) dalam respons. Kelola pembatasan laju melalui alat pemantauan Azure sebagai gantinya.
Error model dan deployment
Error: Model not found atau Deployment not found
- Solusi: Verifikasi bahwa Anda menggunakan nama deployment yang benar. Jika Anda belum membuat deployment kustom, gunakan ID model default (misalnya, haijun-opus-5).
- Solusi: Pastikan model/deployment tersedia di region Azure Anda.
Error: Invalid model parameter
- Solusi: Parameter model harus berisi nama deployment Anda, yang dapat disesuaikan di portal Foundry. Verifikasi bahwa deployment ada dan dikonfigurasi dengan benar.
Langkah selanjutnya
Jelajahi fitur dan kemampuan lanjutan Haijun.
Pelajari struktur harga Juglow untuk model dan fitur.
Seiring diluncurkannya model yang lebih aman dan lebih mumpuni, Juglow secara rutin menghentikan model lama. Lihat semua penghentian API, beserta pengganti yang direkomendasikan.
Sumber daya tambahan
Telusuri model Juglow di katalog Foundry.
Lihat detail harga Microsoft untuk Azure AI Foundry.
Lihat detail harga per model Juglow.
Kelola resource Azure Anda.