Optimisation des systèmes basés sur les agents: structurer les entrées et sorties pour des performances améliorées
Vous voulez augmenter les performances de vos systèmes basés sur des agents? Une stratégie clé est de structurer méticuleusement les entrées et les sorties intermédiaires échangées entre les agents. Cet article détaille comment organiser les entrées, utiliser des espaces réservés pour le transfert de données et la structure des sorties pour garantir que chaque agent fournit les résultats attendus. En optimisant ces éléments, vous obtiendrez des résultats plus cohérents et fiables de vos systèmes agents. Les systèmes agentiques tirent parti de plusieurs agents collaborant, communiquant et résolvant des problèmes - des capacités dépassant celles des LLM individuelles. Ce guide utilise Crewai, les modèles pydantiques et JSON pour structurer les sorties (et entrées) dans un contexte multi-agents.
Les modèles pydantiques, fournis par la bibliothèque Pyndantique, sont des objets Python conçus pour l'analyse et la validation des données. Ils permettent la création de classes Python (modèles) qui valident automatiquement les données lors de l'instanciation, garantissant que les données d'entrée correspondent aux types et contraintes attendus. Cela garantit une manipulation fiable des données structurées.
Caractéristiques clés:
Fonctionnalité | Description |
---|---|
Validation des données | Vérifie les données d'entrée par rapport aux types attendus (par exemple, int , str , list ) et les règles personnalisées. |
Conversion de type automatique | Convertit automatiquement les types de données compatibles (par exemple, "2024-10-27" à datetime.date ). |
Sérialisation des données | Sérialise les données en formats comme JSON, simplifiant les interactions API. |
Valeurs par défaut | Permet des champs optionnels ou des valeurs par défaut pour la gestion des entrées flexibles. |
Créons un UserModel
héritant de Pydantic's BaseModel
. La classe instanciée nécessite un id
entier, un name
de chaîne et une adresse e-mail.
de Pydantic Import Basemodel Classe UserModel (BasEmodel): ID: int Nom: Str e-mail: str # Entrée valide valid_user = userModel (id = 1, name = "vidhya", email = "vidhya@example.com") imprimer (valid_user) # Entrée non valide (augmente une erreur de validation) essayer: invalid_user = userModel (id = "One", name = "vidhya", email = "vidhya@example.com") sauf Value Enerror comme e: print (f "Erreur de validation: {e}")
Cela démontre la gestion des erreurs de Pydantique lorsque des types de données incorrects sont fournis.
Explorons les fonctionnalités de valeur facultative, date et par défaut:
de Pydantic Import Basemodel à partir de la saisie d'importation facultative à partir de la date d'importation de DateTime Class EventModel (BasEmodel): event_name: facultatif [str] = aucun champ facultatif # event_loc: str = "India" # Valeur par défaut event_date: date # Conversion automatique event = eventModel (event_date = "2024-10-27") Imprimer (événement)
Cela présente des champs facultatifs et une conversion de type automatique.
Installer Crewai:
pip install Crewai
Les entrées sont formatées dans des accolades bouclées {}
en utilisant des noms de variables lors de la définition des agents et des tâches. Définition de human_input=True
invite l'utilisateur pour les commentaires de sortie. Voici un exemple d'agent et de tâche pour répondre aux questions de physique:
de l'agent d'importation de Crewai, tâche, équipage Importer un système d'exploitation os.environ ['openai_api_key'] = '' # Remplacez par votre clé os.environ ['openai_model_name'] = 'gpt-4o-mini-2024-07-18' # ou votre modèle préféré # ... (définitions d'agent et de tâches comme dans l'exemple d'origine) ...
Les entrées sont passées via le paramètre inputs
dans crew.kickoff()
.
Créons des agents pour collecter les détails de l'utilisateur (nom, e-mail, téléphone, travail). La structuration des sorties en tant que modèles pydantiques ou JSON définit le format de sortie attendu, garantissant que les agents suivants reçoivent des données structurées.
de Pydantic Import Basemodel de la liste d'importation # ... (définitions de modèle pydatique comme dans l'exemple original) ... # ... (définitions d'agent et de tâches comme dans l'exemple d'origine, en utilisant output_pydantic et output_json) ...
L'agent final combine tous les détails, enregistrant la sortie dans un fichier à l'aide output_file
.
Cet article a mis en évidence l'importance de structurer les entrées et les sorties dans les systèmes multi-agents à l'aide de Pyndantic et de Crewai. Les données bien structurées améliorent les performances, la fiabilité et empêchent les erreurs. Ces stratégies créent des systèmes agentiques plus robustes pour des tâches complexes.
Q1. Que sont les systèmes basés sur des agents? Les systèmes basés sur des agents utilisent plusieurs agents collaborants pour résoudre des problèmes, dépassant les capacités des LLM uniques.
Q2. Qu'est-ce que Crewai? Crewai est un cadre pour gérer les systèmes agentiques, rationaliser la collaboration des agents et la gestion des données.
Q3. Comment saisir des images dans Crewai? Une méthode consiste à fournir l'URL d'image en tant que variable d'entrée.
Q4. Que sont les modèles pydantiques? Les modèles pydatiques valident et sérialisent les données, garantissant l'intégrité des données dans les systèmes basés sur les agents.
Q5. Comment structurer les sorties à l'aide de pydantique? Définissez les champs de sortie attendus dans les modèles pyndantes pour assurer une mise en forme cohérente des données pour les agents suivants.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!