El SDK de Python es compatible con Python 3.8+ con soporte para ejecución
asíncrona, limitación automática de velocidad con retroceso exponencial y
seguimiento de uso.
Instalación
Instala el SDK usando pip:Inicio rápido
Aquí tienes un ejemplo sencillo para empezar:Referencia de la API
SimStudioClient
Constructor
api_key(str): Tu clave API de Simbase_url(str, opcional): URL base para la API de Sim
Métodos
execute_workflow()
Ejecuta un flujo de trabajo con datos de entrada opcionales.workflow_id(str): El ID del flujo de trabajo a ejecutarinput_data(dict, opcional): Datos de entrada para pasar al flujo de trabajotimeout(float, opcional): Tiempo de espera en segundos (predeterminado: 30.0)stream(bool, opcional): Habilitar respuestas en streaming (predeterminado: False)selected_outputs(list[str], opcional): Salidas de bloque para transmitir en formatoblockName.attribute(p. ej.,["agent1.content"])async_execution(bool, opcional): Ejecutar de forma asíncrona (predeterminado: False)
WorkflowExecutionResult | AsyncExecutionResult
Cuando async_execution=True, devuelve inmediatamente un ID de tarea para sondeo. De lo contrario, espera a que se complete.
get_workflow_status()
Obtener el estado de un flujo de trabajo (estado de implementación, etc.).workflow_id(str): El ID del flujo de trabajo
WorkflowStatus
validate_workflow()
Validar que un flujo de trabajo está listo para su ejecución.workflow_id(str): El ID del flujo de trabajo
bool
get_job_status()
Obtener el estado de una ejecución de trabajo asíncrono.task_id(str): El ID de tarea devuelto de la ejecución asíncrona
Dict[str, Any]
Campos de respuesta:
success(bool): Si la solicitud fue exitosataskId(str): El ID de la tareastatus(str): Uno de'queued','processing','completed','failed','cancelled'metadata(dict): ContienestartedAt,completedAt, ydurationoutput(any, opcional): La salida del flujo de trabajo (cuando se completa)error(any, opcional): Detalles del error (cuando falla)estimatedDuration(int, opcional): Duración estimada en milisegundos (cuando está procesando/en cola)
execute_with_retry()
Ejecutar un flujo de trabajo con reintento automático en errores de límite de velocidad usando retroceso exponencial.workflow_id(str): El ID del flujo de trabajo a ejecutarinput_data(dict, opcional): Datos de entrada para pasar al flujo de trabajotimeout(float, opcional): Tiempo de espera en segundosstream(bool, opcional): Habilitar respuestas en streamingselected_outputs(list, opcional): Salidas de bloque para transmitirasync_execution(bool, opcional): Ejecutar de forma asíncronamax_retries(int, opcional): Número máximo de reintentos (predeterminado: 3)initial_delay(float, opcional): Retraso inicial en segundos (predeterminado: 1.0)max_delay(float, opcional): Retraso máximo en segundos (predeterminado: 30.0)backoff_multiplier(float, opcional): Multiplicador de retroceso (predeterminado: 2.0)
WorkflowExecutionResult | AsyncExecutionResult
La lógica de reintento utiliza retroceso exponencial (1s → 2s → 4s → 8s…) con fluctuación de ±25% para evitar el efecto de manada. Si la API proporciona un encabezado retry-after, se utilizará en su lugar.
get_rate_limit_info()
Obtiene la información actual del límite de tasa de la última respuesta de la API.RateLimitInfo | None
get_usage_limits()
Obtiene los límites de uso actuales y la información de cuota para tu cuenta.UsageLimits
Estructura de respuesta:
set_api_key()
Actualiza la clave API.set_base_url()
Actualiza la URL base.close()
Cierra la sesión HTTP subyacente.Clases de datos
WorkflowExecutionResult
AsyncExecutionResult
WorkflowStatus
RateLimitInfo
UsageLimits
SimStudioError
UNAUTHORIZED: Clave API inválidaTIMEOUT: Tiempo de espera agotadoRATE_LIMIT_EXCEEDED: Límite de tasa excedidoUSAGE_LIMIT_EXCEEDED: Límite de uso excedidoEXECUTION_ERROR: Ejecución del flujo de trabajo fallida
Ejemplos
Ejecución básica de flujo de trabajo
1
Inicializar el cliente
Configura el SimStudioClient con tu clave API.
2
Validar el flujo de trabajo
Comprueba si el flujo de trabajo está desplegado y listo para su ejecución.
3
Ejecutar el flujo de trabajo
Ejecuta el flujo de trabajo con tus datos de entrada.
4
Manejar el resultado
Procesa el resultado de la ejecución y gestiona cualquier error.
Manejo de errores
Maneja diferentes tipos de errores que pueden ocurrir durante la ejecución del flujo de trabajo:Uso del gestor de contexto
Usa el cliente como un gestor de contexto para manejar automáticamente la limpieza de recursos:Ejecución de flujos de trabajo por lotes
Ejecuta múltiples flujos de trabajo de manera eficiente:Ejecución asíncrona de flujos de trabajo
Ejecuta flujos de trabajo de forma asíncrona para tareas de larga duración:Límite de tasa y reintentos
Maneja los límites de tasa automáticamente con retroceso exponencial:Monitoreo de uso
Monitorea el uso de tu cuenta y sus límites:Ejecución de flujo de trabajo en streaming
Ejecuta flujos de trabajo con respuestas en tiempo real:Configuración del entorno
Configura el cliente usando variables de entorno:- Tab Title
- Tab Title
Obtener tu clave API
1
Inicia sesión en Sim
Navega a [Sim](https://Aurora Workflow.ai) e inicia sesión en tu cuenta.
2
Abre tu flujo de trabajo
Navega al flujo de trabajo que quieres ejecutar programáticamente.
3
Despliega tu flujo de trabajo
Haz clic en “Deploy” para desplegar tu flujo de trabajo si aún no ha sido
desplegado.
4
Crea o selecciona una clave API
Durante el proceso de despliegue, selecciona o crea una clave API.
5
Copia la clave API
Copia la clave API para usarla en tu aplicación Python.
Requisitos
- Python 3.8+
- requests >= 2.25.0
