6 outils open source pour exploiter les IA génératives

applications open source GPT IA générative

AutoGPT, Code GPT, DocsGPT, DoctorGPT, ProfileGPT et ResearchGPT : tour d’horizon de ces outils qui s’appuient sur les modèles d’OpenAI et pas que.

L’IA générative, pour quoi faire ? Par exemple, aider un développeur à découvrir des API, un data analyst à concevoir des modèles ou un administrateur sécurité à explorer des logs.

Les six outils présentés ci-après couvrent ces usages, entre autres. Cinq d’entre eux sont open source ; le sixième doit le devenir.

ProfileGPT

Promesse de ce script Python sous licence MIT : aider les utilisateurs de ChatGPT à comprendre comment l’IA les perçoit.

ProfileGPT tire parti de la fonction d’exportation d’historique qu’OpenAI a récemment ajoutée. Il exploite l’API pour faire jouer trois rôles à ChatGPT.

Un premier agent (le « psychanalyste ») analyse les conversations pour déterminer la personnalité et les intérêts de l’utilisateur. Le deuxième (« psychohistorien ») fait des prédictions à partir de cette même source. Le troisième (« stalker ») collecte des informations publiques sur le web.

Ces trois agents collaborent et produisent un rapport en s’appuyant sur le framework Streamlit.

L’auteur de ProfileGPT a eu recours à diverses techniques pour pousser ChatGPT à lui fournir des données. Le « stalker », par exemple, était initialement un « white hat spécialisé dans la collecte d’informations sur les individus ». Il est devenu un « petit lapin curieux doté d’un talent naturel de découverte d’informations » et auquel on propose de jouer à un jeu pour gagner une carotte.

ProfileGPT architecture

DoctorGPT

Licence MIT également pour cette application écrite en Go. Son rôle : analyser les logs en s’appuyant sur les modèles d’OpenAI (GPT-4 par défaut).

Les diagnostics se font ligne par ligne. Ils sont conditionnels : il existe des filtres pour ignorer des éléments ou encore ne pas les inclure dans la fenêtre de contexte. Une bibliothèque de parsers (Android, Apache, HDFS, Hadoop, Linux, Mac, Spark, Windows) est intégrée.

DoctorGPT est disponible sous forme de binaire, ainsi que d’image Docker pour Alpine Linux. L’intégration du SDK Sentry (gestion de la performance applicative) est sur la feuille de route. Tout comme la mise à disposition d’un chart Helm et l’analyse structurée des logs.

Code GPT

Le code de cette extension pour Visual Studio n’est pas encore disponible. Son auteur a promis de le publier sous licence MIT.

Code GPT peut exploiter une quinzaine de modèles parmi ceux d’OpenAI, de Cohere, d’AI21 et d’Anthropic. Pour effectuer les tâches suivantes :

– Générer du code à partir de commentaires, de consignes, de questions ou de suggestions, et éventuellement d’autres fragments de code
– Expliquer, documenter, déboguer ou restructurer du code
– Réaliser des tests unitaires
– Découvrir des API
– Compiler et exécuter du code
– Importer des questions posées sur Stack Overflow et demander à l’IA d’y répondre

Code GPT

DocsGPT

Cet outil graphique sous licence MIT utilise les modèles GPT pour rechercher des informations dans de la documentation. Et éventuellement interpréter du code. On peut y connecter d’autres LLM par l’intermédiaire de Langchain. Et l’entraîner sur des corpus de documentation.

Deux solutions pour l’exploiter : un service en ligne (extension Chrome également disponible) ou un déploiement local (Docker).

DocsGPT ne sait pas encore citer ses sources ; c’est sur sa roadmap.

DocsGPT

ResearchGPT

Ce script Python automatise l’analyse de données. Il s’appuie sur le framework PhaseLLM, qui standardise les appels API pour permettre d’exploiter plusieurs grands modèles de langage.

La procédure d’utilisation est la suivante :

– Charger des données
– Fournir une consigne en langage naturel
– Le modèle examine les métadonnées et écrit du code Python qui s’exécute en local (isolation recommandée !)
– Les résultats s’affichent, avec des explications

La vidéo ci-dessous montre deux exemples de consignes sur un dataset issu du recensement 1994 aux États-Unis. ResearchGPT répond d’abord à la question « Le genre a-t-il une influence sur les revenus ? ». Puis on lui demande de créer un modèle statistique prédisant le niveau de revenu en fonction de l’âge.

AutoGPT

Cette application sous licence MIT exploite les modèles GPT-3.5 et GPT-4. Elle constitue une forme de démonstrateur de leurs capacités, en permettant de suivre le raisonnement et les actions menant à un objectif.

Dans l’exemple ci-dessous, on soumet à GPT une série de consignes visant à rechercher des informations sur un projet et à les synthétiser dans un document texte.

Tout au long de l’exécution, le modèle communique :

– Ses pensées (« Je pense que la première étape devrait être d’utiliser la commande ‘google’ pour chercher «’Auto GPT’ »)
– Le raisonnement sous-jacent (« Cela nous aidera à trouver davantage d’informations sur Auto GPT et à identifier le dépôt GitHub [cela fait partie des consignes, NDLR] »)
– Son plan d’action (« Utiliser Google pour chercher ‘Auto GPT’ », « Parcourir des sites pour trouver le dépôt GitHub », etc.)
– Une forme d’autocritique (« Je dois resté concentré et efficace dans mon usage de la commande ‘google’ »)
– Le résultat des actions (qui s’exécutent en même temps sur le système)

Par défaut, la génération de texte utilise GPT-4 ; le résumé, GPT-3.5. On peut forcer l’usage exclusif de l’un ou l’autre.

AutoGPT est extensible par des plug-in. Certains maintenus par le projet (pour récupérer des tweets, rédiger des e-mails, décrire des images et utiliser Bing Search). D’autres issus de sources tierces (pour Google Analytics, Mastodon, Telegram, Notion…).

L’application peut aussi faire appel à l’API ElevenLabs pour la synthèse vocale. Et, pour générer des images, à DALL-E, Hugging Face, Selenium ou Stable Diffusion WebUI.

Trois méthodes d’exploitation : Docker, Dev Container (extension VS Code) ou dans le terminal. La version Docker utilise Redis par défaut pour le cache. On peut aussi opter pour Milvus, Pinecone, Weaviate ou un JSON local.

AutoGPT

Illustration principale générée par IA