• Mensajes
  • Agentes gestionados
  • Administración
Search...
⌘K
CLI, SDKs y bibliotecas
Descripción general
CLI ant
Inicio rápidoOpciones de autenticaciónUso de la CLIScripting y automatización
SDKs de cliente
MiddlewarePythonTypeScriptC#GoJavaPHPRuby
Bibliotecas e integraciones
Compatibilidad con el SDK de OpenAI
Log in
Compatibilidad con el SDK de OpenAI
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
CLI, SDKs y bibliotecas/Bibliotecas e integraciones

Compatibilidad con el SDK de OpenAI

Anthropic proporciona una capa de compatibilidad que te permite usar el SDK de OpenAI para probar la API de Claude. Con unos pocos cambios en el código, puedes evaluar rápidamente las capacidades de los modelos de Anthropic.

Was this page helpful?

  • Primeros pasos con el SDK de OpenAI
  • Ejemplo de inicio rápido
  • Limitaciones importantes de compatibilidad con OpenAI
  • Comportamiento de la API
  • Consideraciones sobre la calidad de la salida
  • Elevación de mensajes de sistema / desarrollador
  • Compatibilidad con pensamiento extendido
  • Límites de velocidad
  • Soporte detallado de la API compatible con OpenAI
  • Campos de solicitud
  • Campos de respuesta
  • Compatibilidad de mensajes de error
  • Compatibilidad de encabezados

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.

Primeros pasos con el SDK de OpenAI

Para usar la función de compatibilidad con el SDK de OpenAI, necesitarás:

  1. Usar un SDK oficial de OpenAI
  2. Cambiar lo siguiente
    • Actualizar tu URL base para que apunte a la API de Claude
    • Reemplazar tu clave de API con una clave de API de Claude
    • Actualizar el nombre de tu modelo para usar un modelo de Claude
  3. Revisar la documentación a continuación para conocer qué funciones son compatibles

Ejemplo de inicio rápido

Limitaciones importantes de compatibilidad con OpenAI

Comportamiento de la API

Estas son las diferencias más sustanciales respecto al uso de OpenAI:

  • El parámetro 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 entrada de audio no es compatible; simplemente se ignorará y se eliminará de la entrada
  • El almacenamiento en caché de prompts no es compatible, pero sí lo es en los SDK de Anthropic
  • Los mensajes de sistema/desarrollador se elevan y concatenan al inicio de la conversación, ya que Anthropic solo admite un único mensaje de sistema inicial.

La mayoría de los campos no compatibles se ignoran silenciosamente en lugar de producir errores. Todos estos están documentados a continuación.

Consideraciones sobre la calidad de la salida

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.

Elevación de mensajes de sistema / desarrollador

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.

Compatibilidad con pensamiento extendido

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}},
)

Límites de velocidad

Los límites de velocidad siguen los límites estándar de Anthropic para el endpoint /v1/messages.

Soporte detallado de la API compatible con OpenAI

Campos de solicitud

Campos simples

CampoEstado de soporte
modelUsa nombres de modelos de Claude
max_tokensTotalmente compatible
max_completion_tokensTotalmente compatible
streamTotalmente compatible
stream_optionsTotalmente compatible
top_pTotalmente compatible
parallel_tool_callsTotalmente compatible
stop

Campos tools / functions

Campos del array messages

Campos de respuesta

CampoEstado de soporte
idTotalmente compatible
choices[]Siempre tendrá una longitud de 1
choices[].finish_reasonTotalmente compatible
choices[].indexTotalmente compatible
choices[].message.roleTotalmente compatible
choices[].message.contentTotalmente compatible
choices[].message.tool_callsTotalmente compatible
object

Compatibilidad de mensajes de error

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.

Compatibilidad de encabezados

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.

EncabezadoEstado de soporte
x-ratelimit-limit-requestsTotalmente compatible
x-ratelimit-limit-tokensTotalmente compatible
x-ratelimit-remaining-requestsTotalmente compatible
x-ratelimit-remaining-tokensTotalmente compatible
x-ratelimit-reset-requestsTotalmente compatible
x-ratelimit-reset-tokensTotalmente compatible
retry-afterTotalmente 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
temperatureEntre 0 y 1 (inclusive). Los valores mayores que 1 se limitan a 1.
nDebe ser exactamente 1
logprobsIgnorado
metadataIgnorado
response_formatIgnorado. Para salida JSON, usa Structured Outputs con la API de Claude nativa
predictionIgnorado
presence_penaltyIgnorado
frequency_penaltyIgnorado
seedIgnorado
service_tierIgnorado
audioIgnorado
logit_biasIgnorado
storeIgnorado
userIgnorado
modalitiesIgnorado
top_logprobsIgnorado
reasoning_effortIgnorado
Totalmente compatible
createdTotalmente compatible
modelTotalmente compatible
finish_reasonTotalmente compatible
contentTotalmente compatible
usage.completion_tokensTotalmente compatible
usage.prompt_tokensTotalmente compatible
usage.total_tokensTotalmente compatible
usage.completion_tokens_detailsSiempre vacío
usage.prompt_tokens_detailsSiempre vacío
choices[].message.refusalSiempre vacío
choices[].message.audioSiempre vacío
logprobsSiempre vacío
service_tierSiempre vacío
system_fingerprintSiempre vacío
Totalmente compatible
openai-versionSiempre 2020-10-01
authorizationTotalmente compatible
openai-processing-msSiempre vacío