Navigation web avec GPT-4 Vision et Vimium
(github.com/ishan0102)- Projet expérimental visant à vérifier s’il est possible de naviguer sur le web uniquement avec les capacités de vision de GPT-4V, en fournissant au modèle multimodal une interface pour interagir avec le web
- Le projet traite du problème suivant : sans fournir le DOM du navigateur sous forme de texte, il est difficile pour le modèle de déterminer sur quoi il veut cliquer
- Utilise l’extension Chrome Vimium pour permettre une navigation au clavier uniquement, et expérimente ainsi la manière dont le modèle interagit avec le web
- Le flux d’exécution se compose de l’installation des prérequis Python, du téléchargement local de Vimium, du chargement manuel de l’extension lors de l’exécution de Playwright, puis du lancement de
python main.py - Il est possible d’exécuter le Voice Mode avec
python main.py --voicepour énoncer vocalement un objectif et faire exécuter au navigateur les actions correspondantes en temps réel - À l’heure actuelle, la Vision API ne prend en charge ni le mode JSON ni le function calling, ce qui impose de s’appuyer sur une approche de prompt plus brute
- À basse résolution, il arrive que le modèle ne détecte rien du tout ; l’utilisation d’images en plus haute résolution peut améliorer les résultats, mais nécessite davantage de tokens
1 commentaires
Commentaires sur Hacker News
C’est vraiment stupéfiant que ce genre de chose soit désormais possible : https://github.com/ishan0102/vimGPT/blob/682b5e539541cd6d710...
Le prompt lui fait manipuler le navigateur en gros ainsi : « choisissez l’action à effectuer parmi navigate, type, click, done pour aider l’utilisateur à atteindre son objectif, désignez la cible du clic au moyen d’une séquence de lettres jaunes, et renvoyez uniquement du JSON »
Au travail, pas mal de gens ne font que copier manuellement des données entre des programmes legacy. Dans le secteur public, la dette technique est tellement énorme qu’ils ne trouvent pas comment connecter les systèmes entre eux
J’ai bon espoir qu’un outil comme celui-ci puisse un jour devenir une couche qui tourne par-dessus ce genre de problème. C’est une solution bizarre du point de vue des ressources de calcul
Par curiosité, j’ai demandé comment ils faisaient avant ; on m’a emmené vers un ordinateur au fond du bureau, dont le fond d’écran affichait deux rectangles intitulés MS EXCEL et INTERNET EXPLORER. La personne ouvrait les deux applis, alignait précisément les fenêtres sur ces rectangles, puis lançait un auto-clicker du genre de ceux qu’utiliseraient des tricheurs de RuneScape pour copier les valeurs Excel dans des formulaires du site web. C’était impressionnant
Identifiant, mot de passe, adresse e-mail, adresse postale, informations de carte bancaire, tout y passe ; il existe bien des extensions censées aider à la saisie, mais aucune ne fonctionne correctement et durablement. Même le remplissage cohérent des identifiants et mots de passe n’est pas acquis. C’est la première source d’irritation sur Internet, pire que la publicité, et il est étonnant que ce ne soit toujours pas résolu, avec ou sans LLM. Je serais prêt à payer un abonnement mensuel pour un logiciel qui réglerait complètement ça
Jusqu’à présent, ces produits étaient assez fragiles, mais l’explosion récente des technologies d’IA semble être une très bonne nouvelle pour ce domaine
Même en intégrant quelque chose comme ChatGPT, il faudrait que des gens compétents passent en revue le résultat, et je ne serais pas surpris que leur premier conseil soit : « n’utilisez pas ChatGPT pour ça »
vim semble devenir involontairement un excellent corps incarné pour ChatGPT. Il n’y a presque rien qu’on ne puisse pas faire avec un flux de texte, et Internet regorge déjà de vimscript
J’ai commencé une expérience similaire ; si certains réfléchissent dans la même direction, cela peut servir de référence : https://github.com/LachlanGray/vim-agent
Je suis l’auteur. Si vous avez des questions, n’hésitez pas, et les contributions sont les bienvenues. J’ai laissé dans le README quelques prochaines étapes possibles
D’une manière ou d’une autre, le World Wide Web public est en train de se transformer en son propre serveur d’overlay d’API dynamique
J’ai bricolé une idée similaire avec GPT-4 Vision, en utilisant des captures d’écran et des actions pour naviguer ; après avoir échoué à superposer des informations sur la capture, j’ai fini par récupérer l’arbre d’accessibilité depuis Playwright et par l’envoyer aussi sous forme de texte
Le modèle pouvait ainsi connaître les options interactives, et dans mon cas cela fonctionnait mieux. Comme l’auteur est ici et qu’il a une liste d’idées pour la suite, vous pourriez peut-être l’ajouter à la liste si cela vous semble pertinent
Ces dernières semaines, j’ai testé ça via l’interface de ChatGPT. J’ai quelques conseils
En modifiant le CSS pour supprimer les dégradés et les coins arrondis, du texte blanc épais sur fond rouge s’est révélé le plus cohérent. Il vaut mieux augmenter la taille de police, et quand deux libellés se chevauchent, les repousser l’un de l’autre puis ajouter une flèche pointant vers l’élément. Avec l’API, il valait mieux envoyer à la fois l’image annotée et l’image non annotée
On peut créer un pilote automatique pour navigateur
Si c’est déployé à grande échelle, il deviendra extrêmement difficile de distinguer le trafic de bots à l’avenir. Cela dit, à court terme, le problème est que ce ne sera probablement ni bon marché ni à un coût acceptable
Quel impact ce genre d’outil aura-t-il sur le suivi web ou la publicité en ligne en général ? Si un agent peut parcourir le web à notre place, ne pas voir les pubs ni les pop-ups, éviter le tracking et ne rapporter que ce qu’il cherche précisément, cela pourrait faire un excellent bloqueur de publicités.
Peut-être que cela pourrait aussi rendre le SEO inutile et améliorer la qualité d’Internet. À l’inverse, je me demande s’il pourrait aussi y avoir un effet secondaire où les publicités se retrouvent d’une manière ou d’une autre « mélangées » au contenu rapporté.
Aux Pays-Bas, beaucoup d’entreprises versent les salaires comme ceci : 1) elles reçoivent les bulletins de paie de leur comptable, 2) elles lancent manuellement un virement bancaire à chaque employé pour le montant indiqué sur le bulletin, et 3) elles lancent aussi manuellement un virement bancaire vers l’administration fiscale pour les retenues d’impôt sur les salaires.
C’est un travail manuel totalement inutile, et il n’y a aucune raison que la procédure soit manuelle. Pourtant, c’est presque impossible à automatiser. Les portails de comptabilité n’ont pas d’API, ou bien, même s’ils en ont une, ils font télécharger les données en PDF, ou l’API coûte assez cher. Les banques n’ont pas non plus d’API, ou bien elles exigent de créer un compte développeur comme si l’on allait publier une application publique, alors qu’il s’agit simplement d’automatiser une procédure interne. Du coup, le moyen le plus simple de payer les salaires et les impôts reste d’embaucher quelqu’un pour le faire manuellement. Je ne ferais pas confiance à une IA pour lancer de vrais virements bancaires, mais préparer les transactions et laisser un humain simplement approuver leur envoi pourrait peut-être fonctionner.
Est-ce très proche du concept d’Adept ? Cela dit, le produit ne semble pas encore prêt : https://www.adept.ai/.
Il semble qu’Adept ait changé de cap en cours de route, mais le concept initial était très similaire à celui-ci.