SmartGPT est un programme expérimental destiné à fournir des LLM (en particulier GPT-3.5 et GPT-4) avec la possibilité d'effectuer des tâches complexes sans contribution de l'utilisateur en les décomposant en problèmes plus petits et en collectant des informations à l'aide d'Internet et d'autres sources externes.
Si vous souhaitez suivre les progrès de SmartGPT, vous souhaitez contribuer au développement ou avoir des problèmes à discuter, rejoignez la discorde SmartGpt.
Il existe de nombreuses solutions existantes pour permettre aux LLM d'effectuer des tâches plus complexes, telles que Auto-GPT et Babyagi. Alors, pourquoi SmartGpt?
Modularity : With first class plugin support and the ability to compose Autos for whatever your project requires, SmartGPT is incredibly modular.
Flexibility : SmartGPT has one config.yml
file that is automatically generated where you can configure everything and anything.
Consistency : SmartGPT has a smart system of dynamically executing actions and static tool-chaining to provide incredible consistent results.
Il y a cependant deux défauts principaux.
Ecosystem : Due to its popularity, AutoGPT is a very polished and refined tool. Il a beaucoup plus d'outils et d'intégations avec des systèmes de mémoire. Pour accompagner cela, la base de code a été un examen approfondi, il est donc généralement moins buggy et plus testé que SmartGpt.
Memory Management : Due to the extreme youth of this project, there is only one simple but limited memory system. Cependant, cela changera avec le temps.
Actuellement, les tests avec SmartGPT se font principalement avec GPT3.5, et parfois avec GPT4, en raison des coûts de modèles plus chers. As this project matures, we're aiming to experiment both with multiple agents at once and using GPT4 much more to unleash maximum capabilities out of LLMs. C'est cher cependant, et en tant que responsable de base de SmartGpt, je suis toujours un étudiant du secondaire, et financer un projet comme celui-ci est difficile pour moi. Si vous êtes intéressant d'aider à repousser les limites des LLM, envisagez de rejoindre notre Patreon.
SmartGPT is an incredibly experimental application. L'objectif est de débloquer un potentiel maximum dans les LLM, et la stabilité est sacrifiée pour cela. La compatibilité en arrière est un rêve de fièvre ici. Cependant, SmartGpt abrite également certaines des idées et expériences les plus innovantes dans l'espace Autogpt en ce moment, et bien que la plupart échouent, quelques-uns ont frappé la fléchette et le bâton.
Install cargo
, preferably the latest stable version.
Clone the repository with git clone https://github.com/Cormanz/smartgpt.git && cd smartgpt
.
Run it in release mode with cargo run --release
. This will create a config.yml
for you.
Ajustez la configuration à votre goût et exécutez-la à nouveau.
Si vous voulez plus d'informations ou souhaitez utiliser SmartGpt comme caisse dans vos propres projets, lisez la documentation.
Auto s are the building blocks of SmartGPT. Il existe deux types de voitures.
Les assistants sont très expérimentaux, nous recommandons donc les coureurs.
Une auto sera sous le capot, l'agent exécuté. Un agent a deux parties: l'agent dynamique et l'agent statique.
L'agent dynamique est l'agent de base. Il gère un processus de réaction, de réflexion, de raisonnement, puis de prendre une décision. Il peut faire l'une des trois choses:
Lorsqu'il exécute une action, l'agent statique est envoyé pour exécuter l'action.
L'agent statique exécute les sous-tâches qui lui sont données par l'agent dynamique. Voici comment cela fonctionne:
L'agent statique économise également des actifs que l'agent dynamique peut transmettre à l'agent statique pour les tâches futures.
Agents all have memory . Après avoir terminé une tâche, l'agent enregistrera une liste de toutes les observations dans la mémoire à long terme. Une fois qu'il démarre une autre tâche, il tirera toutes les souvenirs à long terme liés à la tâche (en utilisant un vectordb pour cela.)
Autos can use a set of tools such as google_search
, browse_url
, etc. You define these using plugins. Les plugins définissent leur propre ensemble d'outils et peuvent avoir leurs propres données.
smartgpt
is available under the MIT license. Voir la licence pour le texte complet de licence.