CircuitManus : une plateforme d'agents généralistes basée sur Python 88

小编 ·

CircuitManus : une plateforme d'agents généralistes basée sur Python

CircuitManus est une plateforme basée sur Python, conçue principalement pour la conception de circuits, mais extensible à d'autres domaines. Elle combine de grands modèles de langage et plusieurs outils pour automatiser des tâches complexes. Elle suit la boucle classique percevoir-planifier-agir-observer-répondre, avec une gestion d'erreurs robuste et une auto-correction. Un serveur FastAPI WebSocket et une interface web moderne permettent une interaction en temps réel entre frontend et backend, optimisée pour Windows.

CircuitManus : une plateforme d'agents généralistes basée sur Python

Qu'est-ce que CircuitManus ?

CircuitManus est une plateforme développée en Python, principalement destinée à la conception de circuits, mais pouvant également être étendue à d'autres domaines. Elle combine de grands modèles de langage et divers outils, ce qui permet d'automatiser des tâches complexes. La plateforme repose sur un modèle classique comprenant les étapes de perception, planification, action, observation et réponse, tout en offrant une bonne tolérance aux erreurs et des capacités d'auto-correction. De plus, elle est équipée d'un serveur FastAPI WebSocket et d'une interface web moderne, garantissant une interaction en temps réel entre le backend et le frontend, avec une optimisation pour l'environnement Windows.

CircuitManus : plateforme d'agent généraliste basée sur Python.webp

Fonctionnalités principales de CircuitManus

  • Architecture d'agent généraliste : suit le modèle classique de boucle d'agent perception -> planification -> action -> observation -> génération de réponse, avec une forte tolérance aux erreurs et des capacités d'auto-correction, capable d'activer et d'automatiser diverses tâches complexes grâce à l'intégration de grands modèles de langage (LLM) et d'un ensemble d'outils extensible.

  • Boîte à outils de conception de circuits : la première série d'outils est centrée sur le domaine de la conception de circuits et comprend 11 outils, tels que l'ajout de composants, la connexion de composants, la description de circuits, la suppression de circuits, etc., permettant d'effectuer des opérations liées à la conception de circuits via des instructions en langage naturel.

  • Interface web interactive en temps réel : intègre un serveur FastAPI WebSocket et une UI web moderne, offrant une expérience d'interaction intelligente complète, prenant en charge l'interaction en temps réel, la gestion des sessions et l'affichage dynamique de l'état.

  • Planification et replanification intelligentes : utilise le LLM pour comprendre des instructions complexes et générer des plans JSON structurés, avec une replanification automatique en cas d'échec d'exécution d'un outil, améliorant ainsi le taux de réussite des tâches.

  • Exécution précise des outils et tolérance aux erreurs : prend en charge l'enregistrement dynamique d'outils, l'exécution asynchrone d'outils, les nouvelles tentatives au niveau des outils et l'abandon en cas d'échec, garantissant la stabilité et la fiabilité du système.

  • Gestion de l'état et de la mémoire : adopte un système de mémoire hiérarchique, gérant l'historique des conversations à court terme et les fragments de connaissances à long terme, et pouvant détenir des objets d'état spécifiques à un domaine, tels qu'une instance de circuit.

  • Avantages en matière d'ingénierie logicielle : utilise des pratiques d'ingénierie telles qu'un noyau asynchrone pythonique, une conception hautement modulaire et une journalisation détaillée par niveaux, améliorant la maintenabilité et l'évolutivité du code.

Architecture technique de CircuitManus

  • Backend : basé sur Python 3.8+, utilise FastAPI pour construire le serveur WebSocket, intègre le modèle glm-z1-flash de Zhipu ai pour l'interaction avec le LLM, et emploie asyncio pour le traitement asynchrone.

  • Frontend : utilise HTML5, CSS3 et JavaScript natif pour construire une UI web moderne, offrant une interaction en temps réel et un affichage dynamique de l'état.

  • Boîte à outils : les outils sont séparés par domaine fonctionnel, ce qui facilite l'ajout de nouveaux outils dans d'autres domaines ; elle comprend actuellement deux grandes catégories d'outils : les opérations sur les circuits et la recherche web.

  • Gestion de la mémoire : système de mémoire hiérarchique, gérant l'historique des conversations et l'état spécifique au domaine, prenant en charge une logique d'orchestration principale indépendante du domaine.

Étapes de déploiement de CircuitManus

1. Cloner le dépôt

git clone https://github.com/singularguy/CircuitManus
cd IDT_AGENT_NATIVE

2. Créer et activer un environnement virtuel

python -m venv venv
.\venv\Scripts\activate

3. Installer les dépendances

pip install -r requirements.txt

4. Configurer la clé API

Ajoutez votre clé API Zhipu AI dans le fichier .env :

ZHIPUAI_API_KEY="YOUR_ZHIPU_API_KEY"

Lien du projet

https://github.com/singularguy/CircuitManus