ControlFlow : Un cadre Python pour construire des flux de travail contrôlés et transparents pour les corps intelligents de l'IA

Introduction générale

ControlFlow est un framework Python développé par PrefectHQ qui se concentre sur la construction et la gestion de flux de travail d'IA. Il fournit un cadre structuré, orienté développeur, pour définir des flux de travail et déléguer des tâches à des agents LLM (Large Language Model). ControlFlow est conçu pour simplifier le développement d'applications complexes d'IA sans sacrifier le contrôle et la transparence. Les utilisateurs peuvent créer des tâches discrètes et observables et assigner un ou plusieurs agents d'IA dédiés à chaque tâche. En combinant ces tâches dans un flux, les utilisateurs peuvent orchestrer des comportements plus complexes.

ControlFlow:构建可控透明AI智能体工作流的Python框架

 

Liste des fonctions

  • Architecture du centre de missionLes processus d'IA complexes sont décomposés en étapes gérables et observables.
  • Résultats structurés: Combler le fossé entre l'IA et les logiciels traditionnels grâce à des résultats validés et sûrs en termes de type.
  • Agents spécialisésLa recherche : Déployer des agents d'intelligence artificielle spécifiques à une tâche afin d'améliorer l'efficacité de la résolution des problèmes.
  • Contrôle flexibleLes activités de recherche et de développement : Ajuster en permanence l'équilibre entre le contrôle et l'autonomie dans les flux de travail.
  • Coordination multi-agentsLa coordination de plusieurs agents d'intelligence artificielle dans le cadre d'un flux de travail ou d'une tâche unique.
  • observabilité localeLes flux de travail de l'IA sont contrôlés et débogués grâce à la prise en charge complète de Prefect 3.0.
  • intégration de l'écosystèmeLes fonctionnalités de l'IA sont les suivantes : travailler de manière transparente avec le code et les outils existants, ainsi qu'avec l'écosystème de l'IA au sens large.

 

Utiliser l'aide

Processus d'installation

  1. Installez ControlFlow à l'aide de pip :
   pip install controlflow
  1. Configurez votre fournisseur LLM.Le fournisseur par défaut de ControlFlow est OpenAI, ce qui nécessite de configurer le paramètreOPENAI_API_KEYVariables d'environnement :
   export OPENAI_API_KEY=your-api-key
  1. Si vous utilisez un autre fournisseur de LLM, consultez la documentation relative à la configuration du LLM.

Utilisation de base

L'utilisation de base de ControlFlow comprend la création de tâches, l'affectation d'agents et l'exécution de flux de travail. Voici un exemple simple :

import controlflow as cf
result = cf.run("写一首关于人工智能的短诗")
print(result)

Utilisation avancée

Créer des propositions de recherche structurées

Les exemples suivants illustrent l'interaction avec l'utilisateur, les flux de travail en plusieurs étapes et les résultats structurés :

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))

Dans cet exemple, ControlFlow gère automatiquement un flux, un contexte partagé pour une série de tâches. Les utilisateurs peuvent à tout moment basculer entre les fonctions Python standard et les tâches de l'agent, construisant ainsi des flux de travail complexes étape par étape.

Débogage et surveillance

ControlFlow offre des fonctions d'observabilité natives qui permettent aux utilisateurs de surveiller et de déboguer les flux de travail de l'IA. Les utilisateurs peuvent utiliser le support complet de Prefect 3.0 pour suivre l'exécution des tâches et faire les ajustements nécessaires.

intégration de l'écosystème

ControlFlow s'intègre de manière transparente au code et aux outils existants pour prendre en charge un large éventail de technologies d'IA et d'approches de gestion des flux de travail. Les utilisateurs peuvent exploiter les ressources existantes de l'écosystème de l'IA pour améliorer encore la fonctionnalité et l'efficacité du flux de travail.

Avec les étapes et les exemples ci-dessus, les utilisateurs peuvent rapidement commencer à construire et à gérer des flux de travail d'IA avec ControlFlow pour une gestion efficace des tâches et une coordination des agents.

 

Concepts de base de ControlFlow

Blocs de construction du flux de travail agentique

ControlFlow est un cadre de construction de flux de travail d'IA qui comble le fossé entre la programmation structurée et les capacités de langage naturel du Grand Modèle de Langage (LLM). Cet objectif est atteint grâce à trois concepts fondamentaux : les tâches, les agents et les flux.

Pour créer un flux de travail agentique, vous définissez des objectifs clairs (tâches), vous affectez des entités intelligentes à la réalisation de ces objectifs (agents) et vous organisez leurs interactions dans le temps (processus). Cette approche vous permet d'exploiter la puissance de l'IA tout en conservant un contrôle fin sur votre application.

📋 Tâches

Les tâches représentent la partie structurée de ControlFlow. Il s'agit d'objectifs spécifiques et bien définis qui constituent le cœur de votre flux de travail. Les tâches encapsulent le "quoi" et le "comment" des opérations pilotées par l'IA, en fournissant une structure de programmation claire.

des fonctions essentielles à la mission de l'entreprise :

  • Définir les objectifs spécifiques que l'IA doit atteindre
  • Spécifier le type de résultat souhaité et les critères de validation
  • Peut contenir des instructions, des contextes et des outils nécessaires à l'exécution.
  • En tant que point de contrôle dans un flux de travail

existent mandats pour plus d'informations.

🦾 Agent (Agents)

Les agents représentent la partie non structurée et en langage naturel de ControlFlow. Il s'agit d'entités d'IA qui comprennent et génèrent des textes de type humain, apportant souplesse et adaptabilité à votre flux de travail.

Caractéristiques principales de l'agent :

  • Représente une entité IA configurable dotée d'une identité et de capacités uniques.
  • Peut être spécialisé pour accomplir des tâches spécifiques ou accéder à différents outils
  • Collaborer aux tâches selon les instructions fournies
  • Interactif, permettant la communication avec les utilisateurs
  • Aide à la configuration de différents modèles LLM pour piloter leurs réponses

Les agents peuvent être configurés avec différents modèles LLM, ce qui vous permet de choisir le modèle qui répond le mieux à vos besoins en fonction de facteurs tels que les performances, la latence et le coût.

existent agir au nom de qqn. dans une position de responsabilité pour plus d'informations.

🧩 Flux (Flux)

Les processus fournissent un contexte partagé pour toutes les tâches et tous les agents d'un flux de travail. Ils coordonnent l'exécution des tâches et les interactions des agents, ce qui vous permet de créer des flux de travail d'IA complexes et adaptatifs.

Caractéristiques principales du processus :

  • Conteneurs de haut niveau qui servent à l'ensemble du flux de travail piloté par l'IA
  • Un statut et un historique cohérents pour toutes les composantes
  • Contexte partagé pour les tâches et les agents
  • Peut être imbriqué pour créer des flux de travail hiérarchiques

existent flux de travail pour plus d'informations.

intégrer

Dans une application ControlFlow typique :

  1. Définir un flux pour représenter le flux de travail global.
  2. Créer des tâches dans le processus pour représenter des objectifs spécifiques
  3. Affecter des agents à ces tâches.
  4. Les processus sont responsables de la coordination de l'exécution des tâches et des interactions entre les agents.

Cette structure vous permet de créer des flux d'IA puissants et flexibles tout en gardant le contrôle du processus et en veillant à ce que le résultat réponde aux exigences de votre application.

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...