Lapisan kompatibilitas ini terutama dimaksudkan untuk menguji dan membandingkan kemampuan model, dan tidak dianggap sebagai solusi jangka panjang atau siap produksi untuk sebagian besar kasus penggunaan. Meskipun kami bermaksud untuk menjaganya tetap berfungsi penuh dan tidak membuat perubahan yang merusak, prioritas kami adalah keandalan dan efektivitas API Anthropic.

Untuk informasi lebih lanjut tentang keterbatasan kompatibilitas OpenAI yang diketahui, lihat Keterbatasan kompatibilitas OpenAI yang penting.

Jika Anda mengalami masalah dengan fitur kompatibilitas SDK OpenAI, silakan beri tahu kami di sini.

Untuk pengalaman terbaik dan akses ke set fitur lengkap API Anthropic (pemrosesan PDF, kutipan, pemikiran diperpanjang, dan caching prompt), kami merekomendasikan menggunakan API Anthropic asli.

Memulai dengan SDK OpenAI

Untuk menggunakan fitur kompatibilitas SDK OpenAI, Anda perlu:

  1. Menggunakan SDK OpenAI resmi
  2. Mengubah hal-hal berikut
    • Perbarui URL dasar Anda untuk menunjuk ke API Anthropic
    • Ganti kunci API Anda dengan kunci API Anthropic
    • Perbarui nama model Anda untuk menggunakan model Claude
  3. Tinjau dokumentasi di bawah ini untuk fitur apa yang didukung

Contoh mulai cepat

from openai import OpenAI

client = OpenAI(
    api_key="ANTHROPIC_API_KEY",  # Kunci API Anthropic Anda
    base_url="https://api.anthropic.com/v1/"  # Endpoint API Anthropic
)

response = client.chat.completions.create(
    model="claude-opus-4-20250514", # Nama model Anthropic
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"}
    ],
)

print(response.choices[0].message.content)

Keterbatasan kompatibilitas OpenAI yang penting

Perilaku API

Berikut adalah perbedaan paling substansial dari menggunakan OpenAI:

  • Parameter strict untuk pemanggilan fungsi diabaikan, yang berarti JSON penggunaan alat tidak dijamin mengikuti skema yang disediakan.
  • Input audio tidak didukung; itu akan diabaikan dan dihapus dari input
  • Caching prompt tidak didukung, tetapi didukung di SDK Anthropic
  • Pesan sistem/pengembang dinaikkan dan digabungkan ke awal percakapan, karena Anthropic hanya mendukung satu pesan sistem awal.

Sebagian besar bidang yang tidak didukung diabaikan secara diam-diam daripada menghasilkan kesalahan. Ini semua didokumentasikan di bawah ini.

Pertimbangan kualitas output

Jika Anda telah melakukan banyak penyesuaian pada prompt Anda, kemungkinan besar sudah disetel dengan baik khusus untuk OpenAI. Pertimbangkan menggunakan perbaikan prompt kami di Konsol Anthropic sebagai titik awal yang baik.

Pengangkatan pesan sistem / pengembang

Sebagian besar input ke SDK OpenAI jelas dipetakan langsung ke parameter API Anthropic, tetapi satu perbedaan yang berbeda adalah penanganan prompt sistem / pengembang. Kedua prompt ini dapat ditempatkan di seluruh percakapan obrolan melalui OpenAI. Karena Anthropic hanya mendukung pesan sistem awal, kami mengambil semua pesan sistem/pengembang dan menggabungkannya bersama dengan satu baris baru (\n) di antara mereka. String lengkap ini kemudian disediakan sebagai satu pesan sistem di awal pesan.

Dukungan pemikiran diperpanjang

Anda dapat mengaktifkan kemampuan pemikiran diperpanjang dengan menambahkan parameter thinking. Meskipun ini akan meningkatkan penalaran Claude untuk tugas-tugas kompleks, SDK OpenAI tidak akan mengembalikan proses pemikiran terperinci Claude. Untuk fitur pemikiran diperpanjang penuh, termasuk akses ke output penalaran langkah demi langkah Claude, gunakan API Anthropic asli.

response = client.chat.completions.create(
    model="claude-opus-4-20250514",
    messages=...,
    extra_body={
        "thinking": { "type": "enabled", "budget_tokens": 2000 }
    }
)

Batas laju

Batas laju mengikuti batas standar Anthropic untuk endpoint /v1/messages.

Dukungan API Kompatibel OpenAI Terperinci

Bidang permintaan

Bidang sederhana

BidangStatus dukungan
modelGunakan nama model Claude
max_tokensDidukung penuh
max_completion_tokensDidukung penuh
streamDidukung penuh
stream_optionsDidukung penuh
top_pDidukung penuh
parallel_tool_callsDidukung penuh
stopSemua urutan berhenti non-whitespace berfungsi
temperatureAntara 0 dan 1 (inklusif). Nilai lebih besar dari 1 dibatasi pada 1.
nHarus tepat 1
logprobsDiabaikan
metadataDiabaikan
response_formatDiabaikan
predictionDiabaikan
presence_penaltyDiabaikan
frequency_penaltyDiabaikan
seedDiabaikan
service_tierDiabaikan
audioDiabaikan
logit_biasDiabaikan
storeDiabaikan
userDiabaikan
modalitiesDiabaikan
top_logprobsDiabaikan
reasoning_effortDiabaikan

Bidang tools / functions

Bidang array messages

Bidang respons

BidangStatus dukungan
idDidukung penuh
choices[]Akan selalu memiliki panjang 1
choices[].finish_reasonDidukung penuh
choices[].indexDidukung penuh
choices[].message.roleDidukung penuh
choices[].message.contentDidukung penuh
choices[].message.tool_callsDidukung penuh
objectDidukung penuh
createdDidukung penuh
modelDidukung penuh
finish_reasonDidukung penuh
contentDidukung penuh
usage.completion_tokensDidukung penuh
usage.prompt_tokensDidukung penuh
usage.total_tokensDidukung penuh
usage.completion_tokens_detailsSelalu kosong
usage.prompt_tokens_detailsSelalu kosong
choices[].message.refusalSelalu kosong
choices[].message.audioSelalu kosong
logprobsSelalu kosong
service_tierSelalu kosong
system_fingerprintSelalu kosong

Kompatibilitas pesan kesalahan

Lapisan kompatibilitas mempertahankan format kesalahan yang konsisten dengan API OpenAI. Namun, pesan kesalahan terperinci tidak akan setara. Kami merekomendasikan hanya menggunakan pesan kesalahan untuk logging dan debugging.

Kompatibilitas header

Meskipun SDK OpenAI secara otomatis mengelola header, berikut adalah daftar lengkap header yang didukung oleh API Anthropic untuk pengembang yang perlu bekerja dengan mereka secara langsung.

HeaderStatus Dukungan
x-ratelimit-limit-requestsDidukung penuh
x-ratelimit-limit-tokensDidukung penuh
x-ratelimit-remaining-requestsDidukung penuh
x-ratelimit-remaining-tokensDidukung penuh
x-ratelimit-reset-requestsDidukung penuh
x-ratelimit-reset-tokensDidukung penuh
retry-afterDidukung penuh
request-idDidukung penuh
openai-versionSelalu 2020-10-01
authorizationDidukung penuh
openai-processing-msSelalu kosong