Realizar una inferencia en un modelo
Gracias a la inferencia, puedes interactuar con modelos base y evaluar respuestas generadas por IA para tus aplicaciones. La función de inferencia ofrece una API lista para producción que te permite integrar capacidades de IA conversacional en tus flujos de trabajo, probar el comportamiento de los modelos y crear aplicaciones inteligentes.
Inference resuelve el reto que supone implementar y escalar modelos de IA al proporcionar acceso inmediato a modelos básicos a través de API conocidas y estándar del sector. Tanto si estás creando un prototipo de chatbot, desarrollando un asistente de IA o integrando la comprensión del lenguaje natural en tu aplicación, la inferencia elimina la complejidad del alojamiento de modelos y te permite centrarte en crear valor para tus usuarios.
Antes de empezar
-
Crea una cuenta de IBM Cloud de pago por uso o por suscripción. No se admiten cuentas de prueba. Para obtener más información o actualizar tu cuenta, consulta Tipos de cuenta.
-
Asegúrate de tener el rol de Writer o superior en el servicio Red Hat AI Inference. Para obtener más información, consulta Gestión del acceso a IAM.
Realizar inferencias en un modelo mediante la consola
La consola ofrece un entorno interactivo en el que puedes experimentar con diferentes modelos, probar indicaciones y perfeccionar tus interacciones con la IA antes de integrarlas en tus aplicaciones.
-
En la consola, abre el servicio Red Hat AI Inference y haz clic en el nombre de tu proyecto para abrirlo.
-
Desde la página del proyecto, haz clic en Playground para abrir el entorno de pruebas de inferencia.
-
Inicia tu sesión de chat. Puedes personalizar tu sesión de chat con las siguientes opciones:
- Selección de modelo
- Puede elegir entre una lista de modelos básicos.
- Solicitud del sistema
- La solicitud del sistema indica al modelo cómo llevar a cabo el diálogo.
- Valores de inferencia
- Ajusta los límites de aleatoriedad, repetición y respuesta.
- Historial de chats
- Puedes filtrar el historial de chat por modelo o por intervalo de fechas.
Realizar inferencias en un modelo mediante la API
Con la API, puede integrar mediante programación capacidades de IA en sus aplicaciones utilizando puntos finales de OpenAI-compatible (interfaz de programación de aplicaciones) estándar del sector. Este enfoque es esencial para las implementaciones en producción en las que es necesario automatizar las interacciones de IA, gestionar grandes volúmenes de solicitudes o integrar la IA conversacional en los sistemas existentes. La API ofrece la flexibilidad necesaria para personalizar el comportamiento de los modelos, gestionar el historial de conversaciones y escalar las funciones basadas en IA al mismo tiempo que tu aplicación.
Actualmente, se admiten las siguientes API:
- Autocompletado en el chat
/v1/chat/completions - Crear: documentación de OpenAI
- Descargar: documentación de OpenAI
- Lista: documentación de OpenAI
- Eliminar: documentación de OpenAI
- Modelos de
/v1/models - Descargar: documentación de OpenAI
- Lista: documentación de OpenAI
Consulta las siguientes secciones para ver ejemplos de cómo realizar tareas habituales de inferencia mediante la API.
Punto final de API
Todas las solicitudes de API utilizan el siguiente formato básico: URL:
https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference
Sustituye <project_id> por el ID de tu proyecto. Para encontrarlo, ve a Proyectos de Red Hat AI Inference y abre tu proyecto.
Autenticación en la API
Antes de poder realizar llamadas a la API, debes autenticar tus solicitudes. Puede autenticarse utilizando un token de portador o una clave de API de IBM Cloud.
Autenticación mediante un token de portador
Los tokens de portador garantizan un acceso seguro a las capacidades de inferencia de tu proyecto y se generan a partir de tu clave de API de IBM Cloud. Los tokens de portador caducan tras un periodo determinado, por lo que deben renovarse periódicamente.
El siguiente ejemplo muestra cómo recuperar un token de portador.
curl -X POST "https://iam.cloud.ibm.com/identity/token" --header "Content-Type: application/x-www-form-urlencoded" --header "Accept: application/json" --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" --data-urlencode "apikey=$<IBM_CLOUD_API_KEY>"
El token de portador es el que aparece en access_token la respuesta. Estos tokens tienen una fecha de caducidad y deben renovarse periódicamente.
{"access_token":"xxxxx","refresh_token":"not_supported","token_type":"Bearer","expires_in":3600,"expiration":1770058324,"scope":"ibm openid"}
Autenticación mediante una clave de API
Hay dos formas de autenticarse con una clave de API: puede crear un ID de servicio, que es la forma recomendada de distribuir el acceso y los controles. Si creas un ID de servicio, también debes crear una clave API de ID de servicio, que utilizarás para autenticarte. La guía de introducción a Red Hat AI Inference explica cómo crear un ID de servicio y una clave API para autenticarse mediante programación.
También puede autenticarse utilizando una clave API de usuario, en lugar de una clave API de ID de servicio. Para obtener más información, consulte Gestión de claves de API de usuario.
Generación de una respuesta de chat
Las sugerencias de chat son el núcleo de la inferencia. Permiten enviar mensajes a un modelo base y recibir respuestas generadas por IA. Así es como se crean experiencias conversacionales, se obtienen respuestas a preguntas, se genera contenido o se procesan entradas en lenguaje natural. Puedes controlar el flujo de la conversación proporcionando indicaciones del sistema que definan el comportamiento del modelo y mantengan el historial de mensajes para interacciones que tengan en cuenta el contexto.
El siguiente ejemplo muestra cómo generar una sugerencia de chat. Para obtener una lista completa de los parámetros disponibles, consulta OpenAI: Autocompletado de chat.
curl https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>" -d '{
"model": "granite-4-0-h-small",
"messages": [
{
"role": "developer",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Hello! Tell me about yourself"
}
]
}'
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.create(
model="granite-4-0-h-small",
messages=[
{"role": "developer", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! Tell me about yourself"}
]
)
print(completion.choices[0].message)
Obtener el historial de un chat por ID
Recuperar una conversación concreta por su ID resulta útil para realizar auditorías, depurar errores o analizar interacciones anteriores.
El siguiente ejemplo muestra cómo obtener un historial de chat mediante su ID. Para obtener una lista completa de los parámetros disponibles, consulta Obtener autocompletado de chat.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completion = client.chat.completions.retrieve(completion_id="<completion_id>")
print(completion)
Lista de sugerencias de chat
La lista de completados de chat ofrece una visión general de toda tu actividad de inferencia, lo que te permite supervisar los patrones de uso, realizar un seguimiento de los costes y analizar cómo interactúa tu aplicación con los modelos base. Esto resulta especialmente útil para comprender el comportamiento de los usuarios, identificar los casos de uso más habituales y optimizar su estrategia de integración de la IA.
El siguiente ejemplo muestra cómo enumerar las sugerencias de chat. Para obtener una lista completa de los parámetros disponibles, consulta Lista de sugerencias de chat.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
completions = client.chat.completions.list()
print(completions)
Cómo borrar una sugerencia de chat
Eliminar las sugerencias de chat te ayuda a limpiar los datos de prueba y a cumplir con los requisitos de privacidad.
El siguiente ejemplo muestra cómo eliminar una sugerencia de chat. Para obtener una lista completa de los parámetros disponibles, consulta Eliminar la función de autocompletado del chat.
curl -X DELETE https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/chat/completions/<completion_id> \
-H "Content-Type: application/json" -H "Authorization: Bearer <bearer_token>"
Listado de modelos
Descubre qué modelos básicos están disponibles en tu proyecto y conoce sus capacidades, para que puedas utilizar el modelo más adecuado para tu caso de uso específico y optimizar aspectos como la calidad de la respuesta, la velocidad o el coste.
El siguiente ejemplo muestra cómo enumerar modelos. Para obtener una lista completa de los parámetros disponibles, consulta OpenAI: List Models.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
models = client.models.list()
print(models)
Obtener un modelo por ID
Consultar información detallada sobre un modelo concreto te ayuda a comprender sus características, capacidades y limitaciones antes de utilizarlo en tu aplicación.
El siguiente ejemplo muestra cómo obtener un modelo por ID. Para obtener una lista completa de los parámetros disponibles, consulta Recuperar modelo.
curl -L 'https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference/models/<model>' \
-H 'Accept: application/json' -H "Authorization: Bearer <bearer_token>"
from openai import OpenAI
client = OpenAI(
api_key="<bearer_token>",
base_url="https://us-east.rhai.ibm.com/v1/projects/<project_id>/inference",
)
model = client.models.retrieve("<model>") # for example, "granite-4-0-h-small"
print(model)