Laboratorios AI21
Amazon
Antrópico
Cohere
Luma AI
Meta Llama
Mistral IA
Estabilidad IA
Importación de modelos personalizados
¿Por qué cambiar?
Integración con el ecosistema de AWS
Una de las razones por las que debería cambiar de OpenAI a Bedrock es si ya está utilizando el ecosistema de AWS para almacenar las entradas y salidas de su modelo actual. Esto ofrece un aumento del rendimiento al minimizar la latencia, ya que los servicios funcionarán en la misma infraestructura de red.
Además, la integración en un único ecosistema permite centralizar múltiples aspectos de un entorno en la nube que, de otro modo, sería dispar. Por ejemplo, al trasladar todo a AWS se obtiene un control de acceso unificado mediante Identity and Access Management (IAM) de AWS. Además, el ecosistema proporciona escalado automático para todos los recursos informáticos y de almacenamiento, así como una única fuente de verdad para las métricas sobre estos recursos. Por último, AWS contiene otros servicios, como SageMaker, que pueden integrarse perfectamente con su sistema actual.
Variedad de modelos
Otra razón para hacer el cambio es porque Bedrock soporta múltiples modelos, dando a los usuarios la posibilidad de elegir el que mejor se adapte a sus necesidades. Si no está seguro de cuál es el modelo que mejor se adapta a su caso de uso, puede experimentar fácilmente con diferentes modelos utilizando la funcionalidad Playgrounds de Amazon Bedrock. Los campos de juego de Bedrock son una interfaz fácil de usar para probar varios parámetros de inferencia, indicaciones e indicaciones del sistema para ver el resultado que devuelve el modelo. Con la variada selección de modelos, Bedrock reduce el riesgo de dependencia de un proveedor a la hora de elegir un proveedor de IA.
Costes reducidos
La siguiente tabla muestra los precios de los modelos OpenAI basados en el coste por millón de tokens. Cada token equivale aproximadamente a 0,75 palabras en inglés o unos 4 caracteres.
El precio de Bedrock depende del modelo que elija. Como existen numerosos modelos, los costes varían en función de las capacidades del modelo. Para ilustrar, he enumerado los costes de los modelos Nova de Amazon a continuación:
Comparando el Amazon Nova Pro con el modelo gpt-4o de OpenAI (una comparación de manzanas con manzanas), el Nova Pro es un 68% más barato que el gpt-4o. Se trata de una reducción de costes significativa, lo que convierte a Nova Pro en una opción atractiva para los usuarios que buscan priorizar el ahorro de costes sin comprometer el rendimiento. Aquí hay un artículo para un análisis más profundo de la Nova Pro de Amazon frente a los modelos gpt-4o de OpenAI: https://dev.to/makawtharani/amazon-nova-pro-v10-vs-openai-gpt-4o-a-cost-comparison-through-an-example-1hbo.
Cómo cambiar de OpenAI a Bedrock
Para mantener esta guía concisa, me saltaré pasos, como la creación de una cuenta de AWS y la concesión de permisos.
Solicitar acceso a un modelo de base de Amazon Bedrock
Abre la consola de Amazon Bedrock en https://console.aws.amazon.com/bedrock/.
Selecciona Acceso a modelos en la parte inferior del panel de navegación izquierdo.
Para solicitar acceso a todos los modelos, seleccione Habilitar todos los modelos. Para solicitar acceso a modelos específicos, seleccione Activar modelos específicos.
El acceso puede tardar varios minutos en completarse. Cuando se conceda acceso a un modelo, el estado de Acceso para ese modelo pasará a ser Acceso concedido
Migración de OpenAI ChatCompletion a Boto3 Bedrock Runtime
Esta es posiblemente la parte más compleja de la migración, ya que requiere un mapeo uno a uno de las interfaces de Bedrock y OpenAI, así como las respuestas JSON devueltas por las APIs.
A continuación se muestra una solicitud de ejemplo para crear una nueva finalización de chat en OpenAI:
response = await openai.ChatCompletion.acreate(
model=MODEL,
messages= messages = [
{"role": "system", "content": system_instruction},
{"role": "user", "content": user_prompt} ]
temperature=TEMPERATURE,
functions=functions,
function_call={"name": functions[0]["name"]},
)
Del mismo modo, a continuación se muestra un ejemplo de solicitud utilizando la API Converse de Bedrock:
response = bedrockClient.converse(
modelId= “us.anthropic.claude-3-5-sonnet-20241022-v2:0",
inferenceConfig={
"maxTokens": BEDROCK_MAXTOKENS,
"temperature": BEDROCK_TEMPERATURE,
},
system=[{"text": system_instruction}],
messages=[
{
"role": "user",
"content": [{"text": user_prompt}],
}
],
toolConfig={
"tools": [
{"toolSpec": tools},
],
"toolChoice": {"tool": {"name": tools["name"]}},
},
)
Es evidente que tanto Bedrock como OpenAI ofrecen parámetros similares, pero los ponen a disposición de diferentes maneras. Enumeremos las principales diferencias:
Los parámetros de configuración del modelo, como la temperatura, están dentro de un objeto inferenceConfig en Bedrock, mientras que en OpenAI se configuran por separado.
El prompt del sistema es su propio parámetro, a diferencia de OpenAI que lo mantiene dentro del objeto messages.
Las funciones en OpenAI se llaman herramientas en Bedrock y se configuran de forma similar.
Otra diferencia importante entre las dos API es cómo acceder a su respuesta estructurada.
Bedrock: response["output"]["message"]["content"][0]["toolUse"]["input"] OpenAI: json.loads(response["choices"][0]["message"]["function_call"]["arguments"])
Por último, el esquema que pasamos junto con la herramienta en nuestra petición debe estar envuelto con un {"json": { ... }}.
Bedrock Ejemplo:
{
"json": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state or country (e.g., 'New York, NY')."
}
},
"required": ["location"]
}
}
Ejemplo OpenAI:
{
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state or country (e.g., 'New York, NY')."
}
},
"required": ["location"]
}
Conclusión
Cambiar de OpenAI a Amazon Bedrock es especialmente conveniente cuando ya utiliza AWS, ya que reduce la latencia y simplifica la administración de la infraestructura. Bedrock también admite varios modelos de cimientos, lo que proporciona flexibilidad a los usuarios y ayuda a evitar la dependencia de un proveedor. Además, la función Playgrounds permite experimentar fácilmente para encontrar el modelo que mejor se adapte a sus necesidades. En cuanto al coste, Bedrock puede ser significativamente más barato: Nova Pro de Amazon cuesta un 68% menos que GPT-4o de OpenAI. Aunque la migración implica algunas diferencias de API, la estructura general es similar, lo que hace que la transición sea manejable. Como resultado, si ya utiliza AWS o busca modelos de IA rentables, Bedrock es una alternativa sólida.