Kompatibilitas OpenAI SDK (beta)
Dengan beberapa perubahan kode, Anda dapat menggunakan OpenAI SDK untuk menguji Anthropic API. Anthropic menyediakan lapisan kompatibilitas yang memungkinkan Anda mengevaluasi kemampuan model Anthropic dengan cepat dan upaya minimal.
Kirimkan umpan balik atau bug terkait fitur kompatibilitas OpenAI SDK di sini.
Sebelum Anda memulai
Lapisan kompatibilitas ini ditujukan untuk menguji dan membandingkan kemampuan model dengan upaya pengembangan minimal dan tidak dianggap sebagai solusi jangka panjang atau siap produksi untuk sebagian besar kasus penggunaan. Untuk pengalaman terbaik dan akses ke rangkaian fitur lengkap Anthropic API (pemrosesan PDF, kutipan, pemikiran diperpanjang, dan caching prompt), kami merekomendasikan penggunaan Anthropic API asli.
Memulai dengan OpenAI SDK
Untuk menggunakan fitur kompatibilitas OpenAI SDK, Anda perlu:
- Menggunakan OpenAI SDK resmi
- Mengubah hal-hal berikut
- Perbarui URL dasar Anda untuk mengarah 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-fitur yang didukung
Contoh mulai cepat
Batasan penting kompatibilitas OpenAI
Perilaku API
Berikut adalah perbedaan paling substansial dari penggunaan OpenAI:
- Parameter
strict
untuk pemanggilan fungsi diabaikan, yang berarti JSON penggunaan alat tidak dijamin mengikuti skema yang disediakan. - Input audio tidak didukung; input tersebut akan diabaikan dan dihapus dari input
- Caching prompt tidak didukung, tetapi didukung di Anthropic SDK
- Pesan sistem/pengembang dipindahkan 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. Semua ini didokumentasikan di bawah.
Pertimbangan kualitas output
Jika Anda telah melakukan banyak penyesuaian pada prompt Anda, kemungkinan prompt tersebut telah disesuaikan dengan baik khusus untuk OpenAI. Pertimbangkan untuk menggunakan penyempurna prompt di Anthropic Console sebagai titik awal yang baik.
Pengangkatan pesan sistem / pengembang
Sebagian besar input ke OpenAI SDK jelas memetakan langsung ke parameter API Anthropic, tetapi satu perbedaan yang berbeda adalah penanganan prompt sistem / pengembang. Kedua prompt ini dapat ditempatkan di seluruh percakapan chat 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, OpenAI SDK 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 rate
Batas rate 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 sepenuhnya |
max_completion_tokens | Didukung sepenuhnya |
stream | Didukung sepenuhnya |
stream_options | Didukung sepenuhnya |
top_p | Didukung sepenuhnya |
parallel_tool_calls | Didukung sepenuhnya |
stop | Semua urutan stop 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 sepenuhnya |
choices[] | Akan selalu memiliki panjang 1 |
choices[].finish_reason | Didukung sepenuhnya |
choices[].index | Didukung sepenuhnya |
choices[].message.role | Didukung sepenuhnya |
choices[].message.content | Didukung sepenuhnya |
choices[].message.tool_calls | Didukung sepenuhnya |
object | Didukung sepenuhnya |
created | Didukung sepenuhnya |
model | Didukung sepenuhnya |
finish_reason | Didukung sepenuhnya |
content | Didukung sepenuhnya |
usage.completion_tokens | Didukung sepenuhnya |
usage.prompt_tokens | Didukung sepenuhnya |
usage.total_tokens | Didukung sepenuhnya |
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 pencatatan dan debugging.
Kompatibilitas header
Meskipun OpenAI SDK secara otomatis mengelola header, berikut adalah daftar lengkap header yang didukung oleh API Anthropic untuk pengembang yang perlu bekerja dengan header secara langsung.
Header | Status Dukungan |
---|---|
x-ratelimit-limit-requests | Didukung sepenuhnya |
x-ratelimit-limit-tokens | Didukung sepenuhnya |
x-ratelimit-remaining-requests | Didukung sepenuhnya |
x-ratelimit-remaining-tokens | Didukung sepenuhnya |
x-ratelimit-reset-requests | Didukung sepenuhnya |
x-ratelimit-reset-tokens | Didukung sepenuhnya |
retry-after | Didukung sepenuhnya |
request-id | Didukung sepenuhnya |
openai-version | Selalu 2020-10-01 |
authorization | Didukung sepenuhnya |
openai-processing-ms | Selalu kosong |