Was this page helpful?
Esta capa de compatibilidad está destinada principalmente a probar y comparar las capacidades de los modelos, y no se considera una solución a largo plazo ni lista para producción en la mayoría de los casos de uso. Si bien se pretende que siga siendo completamente funcional y que no tenga cambios disruptivos, la prioridad es la confiabilidad y efectividad de la API de Claude.
Para obtener más información sobre las limitaciones de compatibilidad conocidas, consulta Limitaciones importantes de compatibilidad con OpenAI.
Si encuentras algún problema con la función de compatibilidad con el SDK de OpenAI, comparte tus comentarios a través de este formulario de comentarios sobre compatibilidad.
Para obtener la mejor experiencia y acceso al conjunto completo de funciones de la API de Claude (procesamiento de PDF, citas, pensamiento extendido y almacenamiento en caché de prompts), usa la API de Claude nativa.
Para usar la función de compatibilidad con el SDK de OpenAI, necesitarás:
Estas son las diferencias más sustanciales respecto al uso de OpenAI:
strict para la llamada a funciones se ignora, lo que significa que no se garantiza que el JSON de uso de herramientas siga el esquema proporcionado. Para garantizar la conformidad con el esquema, usa la API de Claude nativa con Structured Outputs.La mayoría de los campos no compatibles se ignoran silenciosamente en lugar de producir errores. Todos estos están documentados a continuación.
Si has realizado muchos ajustes a tu prompt, es probable que esté bien optimizado específicamente para OpenAI. Considera usar el mejorador de prompts en Claude Console como un buen punto de partida.
La mayoría de las entradas al SDK de OpenAI se corresponden claramente de forma directa con los parámetros de la API de Anthropic, pero una diferencia notable es el manejo de los prompts de sistema / desarrollador. Estos dos tipos de prompts pueden colocarse a lo largo de una conversación de chat mediante OpenAI. Dado que Anthropic solo admite un mensaje de sistema inicial, la API toma todos los mensajes de sistema/desarrollador y los concatena con un único salto de línea (\n) entre ellos. Esta cadena completa se proporciona luego como un único mensaje de sistema al inicio de los mensajes.
Puedes habilitar las capacidades de pensamiento extendido agregando el parámetro thinking. Si bien esto mejora el razonamiento de Claude para tareas complejas, el SDK de OpenAI no devuelve el proceso de pensamiento detallado de Claude. Para obtener las funciones completas de pensamiento extendido, incluido el acceso a la salida de razonamiento paso a paso de Claude, usa la API de Claude nativa.
response = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "Who are you?"}],
extra_body={"thinking": {"type": "enabled", "budget_tokens": 2000}},
)Los límites de velocidad siguen los límites estándar de Anthropic para el endpoint /v1/messages.
| Campo | Estado de soporte |
|---|---|
model | Usa nombres de modelos de Claude |
max_tokens | Totalmente compatible |
max_completion_tokens | Totalmente compatible |
stream | Totalmente compatible |
stream_options | Totalmente compatible |
top_p | Totalmente compatible |
parallel_tool_calls | Totalmente compatible |
stop |
tools / functionsmessages| Campo | Estado de soporte |
|---|---|
id | Totalmente compatible |
choices[] | Siempre tendrá una longitud de 1 |
choices[].finish_reason | Totalmente compatible |
choices[].index | Totalmente compatible |
choices[].message.role | Totalmente compatible |
choices[].message.content | Totalmente compatible |
choices[].message.tool_calls | Totalmente compatible |
object |
La capa de compatibilidad mantiene formatos de error consistentes con la API de OpenAI. Sin embargo, los mensajes de error detallados no serán equivalentes. Usa los mensajes de error únicamente para registro y depuración.
Si bien el SDK de OpenAI gestiona automáticamente los encabezados, aquí está la lista completa de encabezados compatibles con la API de Claude para los desarrolladores que necesiten trabajar con ellos directamente.
| Encabezado | Estado de soporte |
|---|---|
x-ratelimit-limit-requests | Totalmente compatible |
x-ratelimit-limit-tokens | Totalmente compatible |
x-ratelimit-remaining-requests | Totalmente compatible |
x-ratelimit-remaining-tokens | Totalmente compatible |
x-ratelimit-reset-requests | Totalmente compatible |
x-ratelimit-reset-tokens | Totalmente compatible |
retry-after | Totalmente compatible |
request-id |
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get("ANTHROPIC_API_KEY"), # Your Claude API key
base_url="https://api.anthropic.com/v1/", # the Claude API endpoint
)
response = client.chat.completions.create(
model="claude-opus-4-8", # Claude model name
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
],
)
print(response.choices[0].message.content)| Funcionan todas las secuencias de parada que no sean espacios en blanco |
temperature | Entre 0 y 1 (inclusive). Los valores mayores que 1 se limitan a 1. |
n | Debe ser exactamente 1 |
logprobs | Ignorado |
metadata | Ignorado |
response_format | Ignorado. Para salida JSON, usa Structured Outputs con la API de Claude nativa |
prediction | Ignorado |
presence_penalty | Ignorado |
frequency_penalty | Ignorado |
seed | Ignorado |
service_tier | Ignorado |
audio | Ignorado |
logit_bias | Ignorado |
store | Ignorado |
user | Ignorado |
modalities | Ignorado |
top_logprobs | Ignorado |
reasoning_effort | Ignorado |
| Totalmente compatible |
created | Totalmente compatible |
model | Totalmente compatible |
finish_reason | Totalmente compatible |
content | Totalmente compatible |
usage.completion_tokens | Totalmente compatible |
usage.prompt_tokens | Totalmente compatible |
usage.total_tokens | Totalmente compatible |
usage.completion_tokens_details | Siempre vacío |
usage.prompt_tokens_details | Siempre vacío |
choices[].message.refusal | Siempre vacío |
choices[].message.audio | Siempre vacío |
logprobs | Siempre vacío |
service_tier | Siempre vacío |
system_fingerprint | Siempre vacío |
| Totalmente compatible |
openai-version | Siempre 2020-10-01 |
authorization | Totalmente compatible |
openai-processing-ms | Siempre vacío |