Configurar el modelo de pasarela con código
La puerta de enlace del modelo proporciona una única API LLM OpenAI-compatible como servicio, que actúa como proxy para el enrutamiento de las solicitudes a los proveedores de modelos.
Antes de empezar
Como administrador de IBM Cloud o propietario de la cuenta, utilice las políticas de acceso de IAM para asignar permisos de administrador a los usuarios de todas las instancias de watsonx.ai Runtime para que puedan utilizar la puerta de enlace del modelo. Para obtener más información, consulte Configuración de grupos de acceso de IAM.
Proporcione las credenciales para cada proveedor de modelos compatible que tenga previsto utilizar y configure las variables de entorno para todas sus claves.
Exporta la clave API de IAM a la variable de entorno
IBM_CLOUD_APIKEY.export IBM_CLOUD_APIKEY="xxxx"Proporcione y vincule una instancia de IBM Secrets Manager para almacenar y gestionar de forma segura sus claves API, credenciales y valores de configuración para utilizar la puerta de enlace del modelo. Para configurarlo, consulte Creación de una Secrets Manager instancia. Si utiliza la CLI, sustituya
<region>porca-tor.Autorizar al watsonx.ai servicio de tiempo de ejecución para acceder Secrets Manager a. Asigne un rol
SecretsReaderde servicio o superior en la Secrets Manager instancia.El nombre del servicio para watsonx.ai runtime es
pm-20. Para autorizar mediante la CLI, utilice el siguiente comando:ibmcloud login -a https://cloud.ibm.com --apikey ${IBM_CLOUD_APIKEY} ibmcloud iam authorization-policy-create SecretsReader \ --source-service-name pm-20 \ --target-service-name secrets-managerPara configurarlo mediante la interfaz de usuario, consulte Autorizar un IBM Cloud servicio para acceder a Secrets Manager.
Procedimiento
Guarde los detalles de configuración de la tienda para los proveedores de modelos seleccionados en IBM Cloud Secrets Manager. Utilice los argumentos necesarios para cada proveedor para definir y crear secretos.
Para crear un secreto, OpenAI, consulte el siguiente ejemplo:
Defina los detalles de configuración secretos:
{ "apikey": "xxxx" }Crear secreto:
# Set your API key export OPENAI_APIKEY="xxxx" # Create the secret in IBM Cloud Secrets Manager ibmcloud secrets-manager secret-create \ --secret-type kv \ --secret-name "openai-creds" \ --secret-group-id default \ --kv-data "$(jq -n \ --arg name "openai-provider" \ --arg apikey "{$OPENAI_APIKEY}" \ '{apikey: $apikey}')" \ --output jsonLa siguiente tabla muestra los requisitos de configuración específicos para cada proveedor de modelos compatible. Para obtener más información, consulte la documentación sobre inferencia del proveedor correspondiente.
Tabla 1. Configuraciones y puntos finales para proveedores de modelos compatibles Nombre de proveedor Argumentos necesarios Argumentos opcionales OpenAI • apiKey• base_urlwatsonx.ai • apiKey
•project_idospace_id• base_url
•auth_url
•api_versionAzure OpenAI • apiKey
•resource_name• subscription_id
•resource_group_name
•account_name
•api_versionAnthropic • apiKey– AWS Bedrock • access_key_id
•secret_access_key
•region– Cerebras • apiKey– NVIDIA NIM • apiKey– Gemini • apiKey– Establezca la variable de entorno
SM_CRNen la ubicación remota donde se almacenan las credenciales de su proveedor. Por ejemplo, vea el siguiente comando:export SM_CRN="crn:v1:bluemix:public:secrets-manager:us-south:a/your-account-id:your-secret-id::"Utilice el
IBM_CLOUD_APIKEYcomo un token de portador válido con la API de la puerta de enlace del modelo. Configure el proveedor utilizando la referencia secreta ejecutando el siguiente comando:curl -sS https://{region}.ml.cloud.ibm.com/ml/gateway<provider-endpoint> \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${IBM_CLOUD_APIKEY}" \ -d "$(jq -n \ --arg resource "${SM_CRN}" \ --arg name "<custom-name-for-provider>" \ '{name: $name, data_reference: {resource: $resource}}')"Por ejemplo, utilice el siguiente comando para configurar OpenAI como proveedor:
curl -sS https://{region}.ml.cloud.ibm.com/ml/gateway/v1/providers/openai \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${IBM_CLOUD_APIKEY}" \ -d "$(jq -n \ --arg resource "${SM_CRN}" \ #Location of the OpenAI provider credentials --arg name "openai-provider" \ '{name: $name, data_reference: {resource: $resource}}')"Después de añadir un proveedor de modelos, puede habilitar los modelos utilizando el UUID del proveedor y el ID del modelo en la solicitud. El ID del modelo debe ser un identificador único existente que sea reconocido por el proveedor. Dado que algunos modelos están disponibles en varios proveedores, puede utilizar alias de modelos, que son nombres personalizados que hacen referencia a los modelos en lugar de utilizar sus ID. Por ejemplo, vea el siguiente comando:
curl -X POST "https://{region}.ml.cloud.ibm.com/ml/gateway/v1/providers/${PROVIDER_UUID}/models" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${IBM_CLOUD_APIKEY}" \ -d '{ "alias": "<custom_name>", "id": "<model_id>"}'Para obtener más información sobre cada proveedor de modelos compatible, consulte la documentación de la API de la pasarela de modelos en IBM Cloud.
Próximos pasos
Puede enviar solicitudes a modelos a través de la pasarela de modelos. Para más detalles, véase Modelos de pasarelas de inferenciación.