0 / 0
Volver a la versión inglesa de la documentación

Credenciales para el acceso programático (clave de API deIBM Cloud y señal de IAM)

Última actualización: 03 feb 2025
Credenciales para el acceso programático (clave de API deIBM Cloud y señal de IAM)

Para trabajar con modelos base en IBM watsonx.ai mediante programación, debe autenticarse para demostrar que está autorizado a acceder a los recursos de watsonx.ai .

Credenciales de API REST

Para la mayoría de los métodos de API, debe incluir un IBM Cloud Identity and Access Management (IAM) bearer token como su token de acceso con la solicitud. Se utiliza una IBM Cloud para generar un token de portador de IAM.

Para autenticar las solicitudes de API REST, realice los pasos siguientes:

  1. Puede crear la clave de API de IBM Cloud de varias formas.

    Para obtener más información, consulte Clave API deIBM Cloud.

  2. Utilice la clave de API de IBM Cloud para crear una señal portadora de IAM.

    Para obtener más información, consulte Generación de una señal de IAM de IBM Cloud utilizando una clave de API.

  3. Especifique la señal de IAM cuando envíe una solicitud REST.

    curl -X 'POST' https://{region}.ml.cloud.ibm.com/ml/v1/text/generation
    --header "Authorization: Bearer {IAM-token}..."
    

Usted es responsable de renovar la señal cuando caduque. Para renovar la señal, repita el procedimiento a partir del paso 2.

Credenciales de la biblioteca Python

Cuando utilice la biblioteca Python , puede optar por utilizar una clave de API o una señal de IAM.

Si crea usted mismo la señal de IAM y la pasa a la biblioteca, debe gestionar la renovación de la señal antes de que caduque.

Cuando pasa la clave de API al APIClient en la biblioteca, el cliente genera la señal de IAM y renueva la señal según sea necesario.

Utilización de la clave de API de IBM Cloud con la biblioteca

Puede crear la clave de API de IBM Cloud de varias formas. Para obtener más información, consulte Clave API deIBM Cloud

El siguiente fragmento de código de ejemplo muestra cómo se utiliza una clave de API directamente para la autenticación cuando se utiliza la biblioteca Python .

from ibm_watsonx_ai.foundation_models import ModelInference

model_inference = ModelInference(
    model_id="ibm/granite-13b-chat-v2",
    credentials={
        "apikey": "***",
        "url": "https://{region}.ml.cloud.ibm.com"
    },
    project_id="*****"
    )

 

Utilización de APIClient

De forma alternativa, puede utilizar el APIClient que está disponible en la biblioteca. Después de crear una instancia del cliente, no es necesario especificar credenciales con cada método.

from ibm_watsonx_ai import APIClient
from ibm_watsonx_ai import Credentials

credentials = Credentials(
  url = "https://{region}.ml.cloud.ibm.com",
  api_key = "{api-key}"
)

client = APIClient(credentials)

Para más información, consulte Autenticación.

También puede establecer un ID de espacio o proyecto predeterminado. Para obtener más información, consulte Búsqueda del ID de proyecto.

 

Creación de credenciales de tareas

Para algunos trabajos o tareas de larga duración, como el ajuste de modelos de base, se requiere una credencial de tarea.

Para crear una credencial de tarea:

task_credentials_details = client.task_credentials.store()

Para enumerar las credenciales:

client.task_credentials.list()

La lista de credenciales que se devuelve incluye un identificador de tarea ( asset_id ), que es el identificador de la credencial de tarea, para cada credencial de tarea.

Cuando conozca el ID de la credencial, puede eliminarla de la siguiente manera:

client.task_credentials.delete(task_credentials_id)

Para obtener más información, consulte la clase Task credentials en la biblioteca de Java ( Python ).

También puede utilizar la interfaz de usuario del producto para crear o eliminar credenciales de tareas. Para obtener más información, consulte Gestión de credenciales de tareas.

Más información

Tema principal: Codificación de soluciones de IA generativa