ControlFlow: un marco de trabajo en Python para crear flujos de trabajo controlados y transparentes del Cuerpo de Inteligencia Artificial
Últimos recursos sobre IAPublicado hace 8 meses Círculo de intercambio de inteligencia artificial 3.2K 00
Introducción general
ControlFlow es un framework Python desarrollado por PrefectHQ centrado en la construcción y gestión de flujos de trabajo de IA. Proporciona un marco estructurado y orientado al desarrollador para definir flujos de trabajo y delegar tareas a agentes de Large Language Model (LLM).ControlFlow está diseñado para simplificar el desarrollo de aplicaciones de IA complejas sin sacrificar el control y la transparencia. Los usuarios pueden crear tareas discretas y observables y asignar uno o varios agentes de IA dedicados a cada tarea. Combinando estas tareas en un flujo, los usuarios pueden orquestar comportamientos más complejos.

Lista de funciones
- Arquitectura del Centro de MisionesDesglose los complejos flujos de trabajo de la IA en pasos manejables y observables.
- Resultados estructurados: Colmar la brecha entre la IA y el software tradicional mediante salidas validadas y seguras desde el punto de vista tipográfico.
- Agentes especializadosDespliegue de agentes de IA para tareas específicas con el fin de mejorar la eficacia en la resolución de problemas.
- Control flexible: Ajuste continuo del equilibrio entre control y autonomía en los flujos de trabajo.
- Coordinación multiagente: Coordina múltiples agentes de IA en un único flujo de trabajo o tarea.
- observabilidad local: Supervise y depure los flujos de trabajo de IA con total compatibilidad con Prefect 3.0.
- integración del ecosistemaTrabaja sin problemas con el código, las herramientas y el ecosistema de IA existentes.
Utilizar la ayuda
Proceso de instalación
- Instale ControlFlow usando pip:
pip install controlflow
- Configure su proveedor de LLM. El proveedor predeterminado de ControlFlow es OpenAI, que requiere la configuración de la opción
OPENAI_API_KEY
Variables de entorno:
export OPENAI_API_KEY=your-api-key
- Si utiliza otro proveedor de LLM, consulte la documentación de configuración de LLM.
Uso básico
El uso básico de ControlFlow incluye la creación de tareas, la asignación de agentes y la ejecución de flujos de trabajo. A continuación se muestra un ejemplo sencillo:
import controlflow as cf
result = cf.run("写一首关于人工智能的短诗")
print(result)
Uso avanzado
Creación de propuestas de investigación estructuradas
Los siguientes ejemplos muestran la interacción del usuario, los flujos de trabajo en varios pasos y la salida estructurada:
import controlflow as cf
from pydantic import BaseModel
class ResearchProposal(BaseModel):
title: str
abstract: str
key_points: list[str]
@cf.flow
def research_proposal_flow():
user_input = cf.Task("与用户合作选择研究主题", interactive=True)
proposal = cf.run("生成结构化研究提案", result_type=ResearchProposal, depends_on=[user_input])
return proposal
result = research_proposal_flow()
print(result.model_dump_json(indent=2))
En este ejemplo, ControlFlow gestiona automáticamente un flujo, un contexto compartido para una serie de tareas. Los usuarios pueden cambiar entre funciones estándar de Python y tareas de agentes en cualquier momento, construyendo flujos de trabajo complejos paso a paso.
Depuración y supervisión
ControlFlow ofrece funciones nativas de observabilidad que permiten a los usuarios supervisar y depurar los flujos de trabajo de IA. Los usuarios pueden utilizar todo el soporte de Prefect 3.0 para realizar un seguimiento de la ejecución de las tareas y realizar los ajustes necesarios.
integración del ecosistema
ControlFlow se integra perfectamente con el código y las herramientas existentes para admitir una amplia gama de tecnologías de IA y enfoques de gestión de flujos de trabajo. Los usuarios pueden aprovechar los recursos existentes del ecosistema de IA para mejorar aún más la funcionalidad y la eficiencia del flujo de trabajo.
Con los pasos y ejemplos anteriores, los usuarios pueden empezar rápidamente a crear y gestionar flujos de trabajo de IA con ControlFlow para una gestión eficaz de las tareas y la coordinación de los agentes.
Conceptos básicos de ControlFlow
Bloques de construcción del flujo de trabajo agenético
ControlFlow es un marco para construir flujos de trabajo de IA que tiende un puente entre la programación estructurada y las capacidades del lenguaje natural del Large Language Model (LLM). Esto se consigue mediante tres conceptos básicos: tareas, agentes y flujos.
Para crear un flujo de trabajo Agentic, se definen objetivos claros (tareas), se asignan entidades inteligentes para alcanzar esos objetivos (agentes) y se organizan sus interacciones a lo largo del tiempo (procesos). Este enfoque le permite aprovechar la potencia de la IA al tiempo que mantiene un control detallado sobre su aplicación.
📋 Tareas
Las tareas representan la parte estructurada de ControlFlow. Son objetivos específicos y bien definidos que forman el núcleo de su flujo de trabajo. Las tareas encapsulan el "qué" y el "cómo" de las operaciones basadas en IA, proporcionando una estructura de programación clara.
funciones de misión crítica:
- Definir los objetivos específicos que debe alcanzar la IA
- Especifique el tipo de resultado deseado y los criterios de validación
- Puede contener instrucciones, contextos y herramientas necesarias para la ejecución
- Como punto de control en un flujo de trabajo
existe mandatos para más información.
🦾 Agente (Agentes)
Los agentes encarnan la parte no estructurada y de lenguaje natural de ControlFlow. Son entidades de IA que comprenden y generan texto similar al humano, aportando flexibilidad y adaptabilidad a su flujo de trabajo.
Características principales del agente:
- Representa una entidad de IA configurable con una identidad y capacidades únicas
- Puede especializarse para realizar tareas específicas o acceder a distintas herramientas
- Colaborar en las tareas siguiendo las instrucciones proporcionadas
- Interactivo, permite la comunicación con los usuarios
- Soporte para configurar diferentes modelos LLM para dirigir sus respuestas
Los agentes pueden configurarse con diferentes modelos LLM, lo que le permite elegir el modelo que mejor se adapte a sus necesidades en función de factores como el rendimiento, la latencia y el coste.
existe actuar en nombre de algn. en un puesto de responsabilidad para más información.
🧩 Flujos (Flows)
Los procesos proporcionan un contexto compartido para todas las tareas y agentes de un flujo de trabajo. Coordinan la ejecución de las tareas y las interacciones de los agentes, lo que permite crear flujos de trabajo de IA complejos y adaptables.
Características clave del proceso:
- Contenedores de alto nivel que sirven para todo el flujo de trabajo basado en IA
- Estado e historial coherentes en todos los componentes
- Contexto compartido para tareas y agentes
- Puede anidarse para crear flujos de trabajo jerárquicos
existe flujos de trabajo para más información.
integrar
En una aplicación ControlFlow típica:
- Defina un Flujo para representar el flujo de trabajo global.
- Crear tareas en el proceso para representar objetivos específicos
- Asigne Agentes para que se encarguen de estas tareas.
- Los procesos se encargan de coordinar la ejecución de las tareas y las interacciones de los agentes
Esta estructura le permite crear flujos de trabajo de IA potentes y flexibles al tiempo que mantiene el control del proceso y garantiza que el resultado cumple los requisitos de su aplicación.
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...