Compatibilidad con el SDK de OpenAI (beta)
Con algunos cambios en el código, puedes usar el SDK de OpenAI para probar la API de Anthropic. Anthropic proporciona una capa de compatibilidad que te permite evaluar rápidamente las capacidades del modelo Anthropic con un esfuerzo mínimo.
Antes de empezar
Esta capa de compatibilidad está destinada a probar y comparar las capacidades del modelo con un esfuerzo de desarrollo mínimo y no se considera una solución a largo plazo o lista para producción en la mayoría de los casos. Para la mejor experiencia y acceso al conjunto completo de funciones de la API de Anthropic (procesamiento de PDF, citas, pensamiento extendido, y almacenamiento en caché de prompts), recomendamos usar la API nativa de Anthropic.
Comenzando con el SDK de OpenAI
Para usar la función de compatibilidad del SDK de OpenAI, necesitarás:
- Usar un SDK oficial de OpenAI
- Cambiar lo siguiente
- Actualizar tu URL base para apuntar a la API de Anthropic
- Reemplazar tu clave de API con una clave de API de Anthropic
- Actualizar el nombre de tu modelo para usar un modelo Claude
- Revisar la documentación a continuación para ver qué características están soportadas
Ejemplo de inicio rápido
Limitaciones importantes de compatibilidad con OpenAI
Comportamiento de la API
Aquí están las diferencias más sustanciales al usar OpenAI:
- El parámetro
strict
para la llamada a funciones es ignorado, lo que significa que el JSON de uso de herramientas no está garantizado que siga el esquema proporcionado. - La entrada de audio no está soportada; simplemente será ignorada y eliminada de la entrada
- El almacenamiento en caché de prompts no está soportado, pero sí lo está en el SDK de Anthropic
- Los mensajes del sistema/desarrollador son elevados y concatenados al inicio de la conversación, ya que Anthropic solo admite un único mensaje de sistema inicial.
La mayoría de los campos no soportados son ignorados silenciosamente en lugar de producir errores. Todos están documentados a continuación.
Consideraciones sobre la calidad de salida
Si has hecho muchos ajustes a tu prompt, es probable que esté bien ajustado específicamente para OpenAI. Considera usar nuestro mejorador de prompts en la Consola de Anthropic como un buen punto de partida.
Elevación de mensajes del sistema / desarrollador
La mayoría de las entradas al SDK de OpenAI se mapean directamente a los parámetros de la API de Anthropic, pero una diferencia distintiva es el manejo de los prompts del sistema / desarrollador. Estos dos prompts pueden colocarse a lo largo de una conversación de chat a través de OpenAI. Dado que Anthropic solo admite un mensaje de sistema inicial, tomamos todos los mensajes del sistema/desarrollador y los concatenamos juntos con un solo salto de línea (\n
) entre ellos. Esta cadena completa se proporciona entonces como un único mensaje del sistema al inicio de los mensajes.
Soporte para pensamiento extendido
Puedes habilitar las capacidades de pensamiento extendido agregando el parámetro thinking
. Si bien esto mejorará el razonamiento de Claude para tareas complejas, el SDK de OpenAI no devolverá el proceso de pensamiento detallado de Claude. Para obtener todas las funciones de pensamiento extendido, incluido el acceso a la salida del razonamiento paso a paso de Claude, usa la API nativa de Anthropic.
Límites de tasa
Los límites de tasa siguen los límites estándar de Anthropic para el endpoint /v1/messages
.
Soporte detallado de API compatible con OpenAI
Campos de solicitud
Campos simples
Campo | Estado de soporte |
---|---|
model | Usar nombres de modelo Claude |
max_tokens | Totalmente soportado |
max_completion_tokens | Totalmente soportado |
stream | Totalmente soportado |
stream_options | Totalmente soportado |
top_p | Totalmente soportado |
parallel_tool_calls | Totalmente soportado |
stop | Todas las secuencias de parada que no sean espacios en blanco funcionan |
temperature | Entre 0 y 1 (inclusive). Valores mayores que 1 se limitan a 1. |
n | Debe ser exactamente 1 |
logprobs | Ignorado |
metadata | Ignorado |
response_format | Ignorado |
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 |
Campos tools
/ functions
Campos del array messages
Campos de respuesta
Campo | Estado de soporte |
---|---|
id | Totalmente soportado |
choices[] | Siempre tendrá una longitud de 1 |
choices[].finish_reason | Totalmente soportado |
choices[].index | Totalmente soportado |
choices[].message.role | Totalmente soportado |
choices[].message.content | Totalmente soportado |
choices[].message.tool_calls | Totalmente soportado |
object | Totalmente soportado |
created | Totalmente soportado |
model | Totalmente soportado |
finish_reason | Totalmente soportado |
content | Totalmente soportado |
usage.completion_tokens | Totalmente soportado |
usage.prompt_tokens | Totalmente soportado |
usage.total_tokens | Totalmente soportado |
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 |
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. Recomendamos usar los mensajes de error solo 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 soportados por la API de Anthropic para desarrolladores que necesitan trabajar con ellos directamente.
Encabezado | Estado de soporte |
---|---|
x-ratelimit-limit-requests | Totalmente soportado |
x-ratelimit-limit-tokens | Totalmente soportado |
x-ratelimit-remaining-requests | Totalmente soportado |
x-ratelimit-remaining-tokens | Totalmente soportado |
x-ratelimit-reset-requests | Totalmente soportado |
x-ratelimit-reset-tokens | Totalmente soportado |
retry-after | Totalmente soportado |
x-request-id | Totalmente soportado |
openai-version | Siempre 2020-10-01 |
authorization | Totalmente soportado |
openai-processing-ms | Siempre vacío |
Was this page helpful?