Suivez nous sur

OpenAgents : une plateforme ouverte pour les agents linguistiques en libertĂ©

Intelligence Artificielle

OpenAgents : une plateforme ouverte pour les agents linguistiques en libertĂ©

mm

Des développements récents ont démontré que les agents linguistiques, en particulier ceux construits sur de grands modèles de langage (LLM), ont le potentiel d'effectuer un large éventail de tâches complexes dans divers environnements en utilisant le langage naturel. Cependant, l'objectif principal de la plupart des cadres d'agents linguistiques est actuellement de faciliter la construction d'agents linguistiques de preuve de concept. Cette focalisation s'accompagne souvent de peu ou pas d'attention aux conceptions au niveau des applications et néglige fréquemment l'accessibilité de ces agents aux utilisateurs non experts.

Pour combler les limitations actuelles rencontrées par les agents linguistiques, les développeurs ont mis au point le Framework OpenAgents, une plateforme ouverte pour l'hébergement et le déploiement d'agents linguistiques dans la nature et dans une multitude de tâches quotidiennes. Le framework OpenAgents est construit autour de trois agents

  • Agent de donnĂ©es : Aide Ă  l'analyse des donnĂ©es Ă  l'aide d'outils de donnĂ©es et de langages de requĂŞte comme SQL ou de langages de programmation comme Python. 
  • Agents de plugins : Aide en donnant accès Ă  plus de 200 outils API utiles pour les tâches quotidiennes. 
  • Agents Web : Aide Ă  naviguer sur le Web tout en prĂ©servant votre anonymat. 

Le framework OpenAgents utilise une interface utilisateur Web optimisĂ©e pour les pannes courantes et les rĂ©ponses rapides dans le but de permettre aux utilisateurs gĂ©nĂ©raux d'interagir avec les fonctionnalitĂ©s de l'agent, tout en offrant aux chercheurs et aux dĂ©veloppeurs une expĂ©rience de dĂ©ploiement transparente sur leurs configurations locales. Il serait prudent de dire que le framework OpenAgents est une tentative de fournir une base solide pour faciliter les Ă©valuations du monde rĂ©el et crĂ©er des agents linguistiques innovants, efficaces et avancĂ©s. 

Dans l'article d'aujourd'hui, nous allons approfondir le framework OpenAgents et en parler plus en dĂ©tail. Nous parlerons du fonctionnement et de l'architecture du cadre, tout en discutant Ă©galement des dĂ©fis communs rencontrĂ©s et des rĂ©sultats. Alors, commençons. 

OpenAgents et agents linguistiques : une introduction

Les agents linguistiques, à la base, sont dérivés d’agents intelligents. Ces agents intelligents sont conceptualisés pour posséder des capacités autonomes de résolution de problèmes, ainsi que la capacité de détecter leur environnement, de prendre des décisions et d’agir en conséquence. Avec les progrès réalisés dans les grands modèles linguistiques, la communauté mondiale du développement a exploité le concept d'agents intelligents et de LLM pour créer des agents linguistiques. Ces agents utilisent la programmation en langage naturel (NLP) pour effectuer un large éventail de tâches complexes dans divers environnements, et ils ont récemment montré un potentiel remarquable.

Les frameworks d'agents linguistiques actuels, tels que Gravitas et Chase, fournissent principalement une interface de console adaptée aux développeurs, ainsi que des implémentations de validation de principe. Cependant, ils limitent souvent l’accessibilité à un public plus large, en particulier à ceux qui ne maîtrisent pas le codage. De plus, les benchmarks d'agents actuels sont construits par des développeurs avec des exigences spécifiques en matière d'évaluation déterministe, en particulier dans les scénarios qui nécessitent une navigation sur le Web, du codage, l'utilisation d'outils ou une combinaison de ceux-ci.

Dans le but de développer des agents intelligents et linguistiques basés sur LLM pour une base d'utilisateurs plus large, des acteurs établis comme OpenAI et Microsoft ont déployé une gamme de produits bien conçus, notamment Advanced Data Analysis, également connu sous le nom de Code Interpreter, et des plugins de navigateur. Bien que ces agents soient efficaces dans leurs fonctions, ils offrent une aide limitée à la communauté du développement. Cette limitation est due au fait que les implémentations du code de logique métier et des modèles ne sont pas open source, ce qui entrave les possibilités pour les développeurs et les chercheurs de les explorer davantage, ainsi que l'accès gratuit pour les utilisateurs.

Pour tenter de résoudre ce problème, les développeurs ont mis au point Agents ouverts, une plate-forme open source pour l'hébergement et l'utilisation d'agents, et elle repose actuellement sur une base de trois agents internes

  • Agent de donnĂ©es : Aide Ă  l'analyse des donnĂ©es Ă  l'aide d'outils de donnĂ©es et de langages de requĂŞte comme SQL ou de langages de programmation comme Python. 
  • Agents de plugins : Aide en donnant accès Ă  plus de 200 outils API utiles pour les tâches quotidiennes. 
  • Agents Web : Aide Ă  naviguer sur le Web tout en prĂ©servant votre anonymat. 

La figure suivante prĂ©sente la plateforme OpenAgents destinĂ©e aux utilisateurs gĂ©nĂ©raux, aux dĂ©veloppeurs et aux chercheurs. 

  1. Au lieu d'utiliser un package ou des consoles orientĂ©s programmeur, les utilisateurs gĂ©nĂ©raux peuvent interagir avec les trois agents du framework OpenAgents Ă  l'aide d'une interface Web en ligne. 
  2. Les dĂ©veloppeurs peuvent utiliser la logique mĂ©tier et les codes de recherche fournis par le framework OpenAgents pour dĂ©ployer de manière transparente le backend et le frontend pour des dĂ©veloppements ultĂ©rieurs. 
  3. Les chercheurs ont la possibilitĂ© de crĂ©er de nouveaux agents linguistiques Ă  partir de zĂ©ro ou de mettre en Ĺ“uvre des mĂ©thodes liĂ©es aux agents Ă  l'aide des composants et des exemples partagĂ©s, et d'Ă©valuer leurs performances Ă  l'aide de l'interface utilisateur Web. 

Pour rĂ©sumer, le framework OpenAgents est Ă  l'origine destinĂ© Ă  ĂŞtre une plate-forme holistique et rĂ©aliste pour l'Ă©valuation d'agents linguistiques par l'homme dans la boucle, qui permet aux utilisateurs d'interagir avec ces agents pour accomplir un large Ă©ventail de tâches, et ces humains- les interactions des agents ainsi que les commentaires des utilisateurs sont stockĂ©s et analysĂ©s pour un dĂ©veloppement et une Ă©valuation ultĂ©rieurs. 

Pour ceux qui ne sont pas au courant, Invite LLM est un processus qui permet aux dĂ©veloppeurs de crĂ©er des instructions qui protègent contre les entrĂ©es contradictoires ou erronĂ©es, amĂ©liorent l'esthĂ©tique de la sortie et rĂ©pondent Ă  la logique du backend. Pendant la phase de dĂ©veloppement, les dĂ©veloppeurs travaillant sur le framework OpenAgents utilisent la technique d'invite LLM pour souligner l'importance de spĂ©cifier efficacement les exigences des applications. Cependant, les dĂ©veloppeurs ont rapidement observĂ© que l'accumulation de ces instructions ou invites LLM peut parfois ĂŞtre importante, ce qui peut affecter les capacitĂ©s de gestion du contexte des frameworks LLM ainsi que les limitations des jetons. Les dĂ©veloppeurs ont Ă©galement observĂ© que pour dĂ©ployer efficacement ces agents dans le monde rĂ©el, les modèles d'agent doivent non seulement prĂ©senter des performances exceptionnelles, mais doivent Ă©galement ĂŞtre capables d'aborder un large Ă©ventail de scĂ©narios interactifs en temps rĂ©el. Bien que cadres d'agents actuels Lorsque les performances sont couvertes, ils ignorent souvent les considĂ©rations du monde rĂ©el, en particulier en temps rĂ©el, ce qui obscurcit souvent le vĂ©ritable potentiel des frameworks LLM en faisant des compromis sur la rĂ©activitĂ© ou la prĂ©cision. 

Dans la figure suivante, nous comparons directement le framework OpenAgents avec les travaux existants sur les benchmarks sur le concept d'agent et la construction de prototypes. 

OpenAgents : Conception et mise en œuvre de plateforme

La conception ou l'architecture systĂ©matique de la plateforme OpenAgents peut ĂŞtre divisĂ©e en deux composants principaux : Interface utilisateur, y compris le backend et le frontend, que le bĂ©ton ey Agent linguistique, comprenant des outils, des modèles de langage et des environnements. Le framework OpenAgents fournit une interface de communication entre les utilisateurs et les agents. Le flux d’interaction dans le cadre est le suivant.

Les agents utilisent les outils dont ils disposent pour planifier et prendre les actions requises dans les environnements une fois qu'ils ont reçu les entrĂ©es des utilisateurs. L'architecture ou la conception systĂ©matique du framework est dĂ©montrĂ©e dans l'image suivante. 

Interface utilisateur

Les dĂ©veloppeurs du framework OpenAgents ont consacrĂ© beaucoup de rĂ©flexion et d'efforts au dĂ©veloppement non seulement d'une interface utilisateur hautement fonctionnelle mais Ă©galement conviviale après avoir abordĂ© une charge d'agents hĂ´tes et une logique mĂ©tier rĂ©utilisable. En consĂ©quence, le framework OpenAgents se targue de fournir la prise en charge d'un large Ă©ventail de tâches techniques, notamment la gestion des erreurs, les opĂ©rations du serveur principal, le streaming de donnĂ©es et bien plus encore, l'objectif principal Ă©tant de rendre le framework OpenAgents convivial, mais très efficace et efficace. utilisable en mĂŞme temps. 

Agent linguistique

Dans le cadre OpenAgents, l'agent de langage comporte trois composants essentiels : une interface d'outil, un modèle de langage et l'environnement lui-mĂŞme. La mĂ©thode d'invite implĂ©mentĂ©e dans le framework OpenAgents crĂ©e un processus sĂ©quentiel que les agents doivent suivre et qui commence par Observation -> DĂ©libĂ©ration -> Action. Le framework invite Ă©galement le LLM Ă  gĂ©nĂ©rer du texte analysable avec une efficacitĂ© accrue, et l'interface de l'outil se compose d'analyseurs capables de traduire ces textes analysables gĂ©nĂ©rĂ©s par les LLM en actions exĂ©cutables telles que la rĂ©alisation d'appels d'API ou la gĂ©nĂ©ration de code. Ces actions sont ensuite exĂ©cutĂ©es par le framework dans les limites de l'environnement correspondant. 

Agents d'OpenAgents

Au cĹ“ur d'OpenAgents, il existe trois agents distincts : Agent de donnĂ©es qui facilite l'analyse des donnĂ©es Ă  l'aide d'outils de donnĂ©es et de langages de requĂŞte comme SQL, ou de langages de programmation comme Python, Agents de plugins qui aide en donnant accès Ă  plus de 200 outils API utiles pour les tâches quotidiennes, et Agents Web cela aide Ă  naviguer sur le Web tout en prĂ©servant votre anonymat. Ces agents ont une expertise de domaine individuel similaire aux plugins ChatGPT, mais contrairement Ă  ChatGPT, la mise en Ĺ“uvre sur OpenAgents est basĂ©e uniquement sur une interface de programmation d'applications ou des API en langage ouvert. 

Agent de données

L'agent de donnĂ©es du framework OpenAgents a Ă©tĂ© conçu et dĂ©ployĂ© de manière Ă  gĂ©rer un large Ă©ventail de tâches liĂ©es aux donnĂ©es que les utilisateurs finaux rencontrent rĂ©gulièrement. Les agents de donnĂ©es prennent en charge la gĂ©nĂ©ration et l'exĂ©cution de code dans deux langages de programmation, Ă  savoir SQL et Python, et l'agent dispose Ă©galement de plusieurs outils de donnĂ©es, notamment Profilage des donnĂ©es pour fournir des informations de donnĂ©es de base, Recherche de donnĂ©es Kaggle pour rechercher des ensembles de donnĂ©es, et Outil ECharts pour tracer des ECharts interactifs. De plus, le framework OpenAgents invite l'agent de donnĂ©es Ă  utiliser ces outils de manière proactive pour rĂ©pondre efficacement aux demandes des utilisateurs finaux. De plus, Ă©tant donnĂ© les exigences de codage exhaustives, le framework OpenAgents opte pour des modèles de langage intĂ©grĂ©s pour l'agent de donnĂ©es, et plutĂ´t que l'agent gĂ©nĂ©rant le code, ce sont les outils comme Python, ECharts et SQL qui gĂ©nèrent le code. Avec cette approche, le framework est capable d'exploiter complètement les prouesses de programmation des modèles de langage, et rĂ©duit ainsi la pression sur l'agent de donnĂ©es. 

Ă€ l'aide de ces outils de donnĂ©es, l'agent de donnĂ©es est capable de gĂ©rer de nombreuses requĂŞtes centrĂ©es sur les donnĂ©es et effectue efficacement la visualisation, la manipulation et les requĂŞtes des donnĂ©es, dĂ©passant ainsi les limites de la gĂ©nĂ©ration de code et de texte. La figure suivante met en Ă©vidence un agent de donnĂ©es en action et les outils disponibles pour les utilisateurs courants. 

Agent de plugins

L'agent de plug-in du framework OpenAgents a Ă©tĂ© mĂ©ticuleusement conçu par les dĂ©veloppeurs pour rĂ©pondre aux besoins multiformes d'un utilisateur pour les tâches quotidiennes, notamment la recherche sur Internet, les achats en ligne, la lecture d'actualitĂ©s ou la crĂ©ation de sites Web et d'applications, en donnant accès Ă  plus de 200 plug-ins, avec une attention particulière. ĂŞtre payĂ© sur l'interface d'appel de fonction, les pings API et la longueur des rĂ©ponses API. Certains des plugins les plus importants incluent 

  1. Recherche Google 
  2. Wolfram Alpha
  3. Zapier
  4. Klarna
  5. Coursera
  6. Montrez-Moi
  7. Parler
  8. DemandezVotrePDF
  9. BizTok
  10. voir

En fonction de leurs besoins et exigences, les utilisateurs peuvent choisir le nombre de plugins qu'ils souhaitent que les agents de plugin utilisent, et le fonctionnement est dĂ©montrĂ© dans la figure ci-dessous. 

De plus, pour aider les utilisateurs dans les situations oĂą ils ne savent pas quel plugin rĂ©pondra le mieux Ă  leurs besoins, le framework OpenAgents offre aux utilisateurs une fonctionnalitĂ© qui sĂ©lectionne automatiquement les plugins les plus pertinents par rapport Ă  leurs instructions. 

Agents Web

Le framework OpenAgents prĂ©sente l'agent Web comme un outil spĂ©cialisĂ© chargĂ© d'amĂ©liorer l'efficacitĂ© et les capacitĂ©s de l'agent de chat. Bien que l’agent de chat hĂ©berge toujours l’interface d’interaction principale, il intègre de manière transparente l’agent Web chaque fois que cela est nĂ©cessaire. La rĂ©ponse finale est ensuite transmise Ă  l'utilisateur final par l'agent Web, et le processus est illustrĂ© dans la figure ci-dessous. 

La stratĂ©gie de conception mise en Ĺ“uvre dans ces agents Web s'avère très bĂ©nĂ©fique dans la mesure oĂą l'agent de chat traite des paramètres importants ou initie systĂ©matiquement les URL, avant qu'elles ne soient transfĂ©rĂ©es Ă  l'agent Web, garantissant ainsi un meilleur alignement entre les exigences de l'utilisateur et le rĂ©sultat gĂ©nĂ©rĂ©. rĂ©sultant en une communication claire. En outre, la stratĂ©gie permet Ă©galement aux agents Web de rĂ©pondre aux requĂŞtes des utilisateurs en couches et adaptables en utilisant une navigation Web dynamique Ă  plusieurs tours couplĂ©e Ă  des dialogues de discussion. Par consĂ©quent, en dĂ©limitant distinctement les rĂ´les et responsabilitĂ©s des agents de chat et de navigation multi-navigation, le framework OpenAgents ouvre la voie au raffinement et Ă  l'Ă©volution de chaque module individuel. 

OpenAgents : applications pratiques et dĂ©ploiement dans le monde rĂ©el

Dans cette section, nous parlerons de la trajectoire du framework OpenAgents depuis la thĂ©orisation jusqu'au dĂ©ploiement dans le monde rĂ©el, ainsi que des dĂ©fis rencontrĂ©s et des apprentissages imprĂ©gnĂ©s ainsi que des complexitĂ©s d'Ă©valuation auxquelles les dĂ©veloppeurs ont fait face. 

Utiliser des invites pour transformer de grands modèles de langage en applications du monde réel

Lors de l'utilisation des invites LLM pour crĂ©er des applications du monde rĂ©el pour les utilisateurs finaux, le framework OpenAgents utilise des instructions d'invite pour spĂ©cifier certaines exigences. Le but de certaines instructions est de garantir que la sortie est conforme Ă  un format spĂ©cifique, permettant ainsi Ă  la logique backend de traiter, tandis que le but d'autres instructions est d'amĂ©liorer l'attrait esthĂ©tique de la sortie, tandis que le reste protège le cadre contre d'Ă©ventuels attaques malveillantes. 

Facteurs incontrôlables du monde réel

Lorsque les dĂ©veloppeurs ont dĂ©ployĂ© le framework OpenAgents dans le monde rĂ©el, ils ont Ă©tĂ© accueillis par un ensemble de facteurs incontrĂ´lables du monde rĂ©el dĂ©clenchĂ©s par l'infrastructure Internet, les utilisateurs, la logique mĂ©tier, etc. Ces facteurs incontrĂ´lables ont obligĂ© les dĂ©veloppeurs Ă  réévaluer et Ă  modifier certaines hypothèses sur la base de recherches antĂ©rieures, et pourraient finalement conduire Ă  des situations dans lesquelles les utilisateurs finaux pourraient ne pas ĂŞtre satisfaits de la rĂ©ponse gĂ©nĂ©rĂ©e par le cadre. 

Complexité de l'évaluation

Bien que les agents construits destinĂ©s directement aux applications puissent avoir une application plus large et faciliter une meilleure Ă©valuation, cela ajoute Ă  la complexitĂ© de la crĂ©ation d'applications basĂ©es sur LLM, ce qui rend difficile l'analyse des performances des applications. En outre, cette approche ajoute Ă©galement Ă  l'instabilitĂ© et Ă©tend la chaĂ®ne du système du système. LLM cela rend difficile l’adaptation du cadre aux diffĂ©rents composants. Il est donc logique d’affiner la conception du système et la logique de fonctionnement de ces agents pour simplifier les procĂ©dures et garantir un rendement efficace. 

Réflexions finales

Dans cet article, nous avons parlĂ© du framework OpenAgents, une plateforme ouverte d'hĂ©bergement et de dĂ©ploiement d'agents linguistiques. dans la nature et dans une multitude de tâches quotidiennes. Le framework OpenAgents est construit autour de trois agents : Data Agent, aide Ă  l'analyse des donnĂ©es Ă  l'aide d'outils de donnĂ©es et de langages de requĂŞte comme SQL, ou de langages de programmation comme Python, Plugin Agents, aide en donnant accès Ă  plus de 200 outils API utiles pour les tâches quotidiennes, et Web Agents aide Ă  naviguer sur le Web tout en prĂ©servant votre anonymat . Le framework OpenAgents utilise une interface utilisateur Web optimisĂ©e pour les pannes courantes et les rĂ©ponses rapides dans le but de permettre aux utilisateurs gĂ©nĂ©raux d'interagir avec les fonctionnalitĂ©s de l'agent, tout en offrant aux chercheurs et aux dĂ©veloppeurs une expĂ©rience de dĂ©ploiement transparente sur leurs configurations locales. En fournissant une plate-forme transparente, holistique et dĂ©ployable, OpenAgents vise Ă  rendre le potentiel des LLM accessible Ă  un plus large Ă©ventail d'utilisateurs, non limitĂ© aux chercheurs et aux dĂ©veloppeurs, mais Ă©galement aux utilisateurs finaux ayant une expertise technique limitĂ©e. 

« IngĂ©nieur de profession, Ă©crivain de cĹ“ur Â». Kunal est un rĂ©dacteur technique avec un amour et une comprĂ©hension profonds de l'IA et du ML, dĂ©diĂ© Ă  la simplification de concepts complexes dans ces domaines grâce Ă  sa documentation engageante et informative.