Kompatibilitas SDK OpenAI
Anthropic menyediakan lapisan kompatibilitas yang memungkinkan Anda menggunakan SDK OpenAI untuk menguji API Anthropic. Dengan beberapa perubahan kode, Anda dapat dengan cepat mengevaluasi kemampuan model Anthropic.
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:
- Menggunakan SDK OpenAI resmi
- 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
- Tinjau dokumentasi di bawah ini untuk fitur apa yang didukung
Contoh mulai cepat
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.
Batas laju
Batas laju mengikuti batas standar Anthropic untuk endpoint /v1/messages
.
Dukungan API Kompatibel OpenAI Terperinci
Bidang permintaan
Bidang sederhana
Bidang | Status dukungan |
---|---|
model | Gunakan nama model Claude |
max_tokens | Didukung penuh |
max_completion_tokens | Didukung penuh |
stream | Didukung penuh |
stream_options | Didukung penuh |
top_p | Didukung penuh |
parallel_tool_calls | Didukung penuh |
stop | Semua urutan berhenti non-whitespace berfungsi |
temperature | Antara 0 dan 1 (inklusif). Nilai lebih besar dari 1 dibatasi pada 1. |
n | Harus tepat 1 |
logprobs | Diabaikan |
metadata | Diabaikan |
response_format | Diabaikan |
prediction | Diabaikan |
presence_penalty | Diabaikan |
frequency_penalty | Diabaikan |
seed | Diabaikan |
service_tier | Diabaikan |
audio | Diabaikan |
logit_bias | Diabaikan |
store | Diabaikan |
user | Diabaikan |
modalities | Diabaikan |
top_logprobs | Diabaikan |
reasoning_effort | Diabaikan |
Bidang tools
/ functions
Bidang array messages
Bidang respons
Bidang | Status dukungan |
---|---|
id | Didukung penuh |
choices[] | Akan selalu memiliki panjang 1 |
choices[].finish_reason | Didukung penuh |
choices[].index | Didukung penuh |
choices[].message.role | Didukung penuh |
choices[].message.content | Didukung penuh |
choices[].message.tool_calls | Didukung penuh |
object | Didukung penuh |
created | Didukung penuh |
model | Didukung penuh |
finish_reason | Didukung penuh |
content | Didukung penuh |
usage.completion_tokens | Didukung penuh |
usage.prompt_tokens | Didukung penuh |
usage.total_tokens | Didukung penuh |
usage.completion_tokens_details | Selalu kosong |
usage.prompt_tokens_details | Selalu kosong |
choices[].message.refusal | Selalu kosong |
choices[].message.audio | Selalu kosong |
logprobs | Selalu kosong |
service_tier | Selalu kosong |
system_fingerprint | Selalu 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.
Header | Status Dukungan |
---|---|
x-ratelimit-limit-requests | Didukung penuh |
x-ratelimit-limit-tokens | Didukung penuh |
x-ratelimit-remaining-requests | Didukung penuh |
x-ratelimit-remaining-tokens | Didukung penuh |
x-ratelimit-reset-requests | Didukung penuh |
x-ratelimit-reset-tokens | Didukung penuh |
retry-after | Didukung penuh |
request-id | Didukung penuh |
openai-version | Selalu 2020-10-01 |
authorization | Didukung penuh |
openai-processing-ms | Selalu kosong |