Maison >Périphériques technologiques >IA >Construire un chiffon agentique avec Phidata
Lors de la création d'applications à l'aide de modèles de grande langue (LLMS), la qualité des réponses dépend fortement d'une planification et des capacités de raisonnement efficaces pour une tâche utilisateur donnée. Bien que les techniques de chiffon traditionnelles soient puissantes, l'incorporation de workflows agentiques peut améliorer considérablement la capacité du système à traiter et à répondre aux requêtes.
Dans cet article, vous construirez un système de chiffon agentique avec des composants de mémoire à l'aide du cadre agentique open-source Phidata, démontrant comment combiner les bases de données vectorielles, c'est-à-dire QDRANT, des modèles d'intégration et des agents intelligents pour des résultats améliorés.
Cet article a été publié dans le cadre du Blogathon de la science des données.
Les agents dans le contexte de l'IA sont des composants conçus pour imiter les capacités de pensée et de planification de type humain. Les composants des agents sont constitués de:
RAG (génération auprès de la récupération) combine la récupération des connaissances avec les capacités LLM. Lorsque nous intégrons les agents dans des systèmes de chiffon, nous créons un flux de travail puissant qui peut:
La principale différence entre le chiffon traditionnel et le chiffon agentique réside dans la couche décisionnelle qui détermine comment traiter chaque requête et interagir avec des outils pour obtenir des informations en temps réel.
Maintenant que nous savons, il y a une chose comme le chiffon agentique, comment le construisons-nous? Décomposons-le.
Phidata est un cadre open source conçu pour construire, surveiller et déployer des workflows agentiques. Il prend en charge les agents d'IA multimodaux équipés de mémoire, de connaissances, d'outils et de capacités de raisonnement. Son architecture autochtone modèle garantit la compatibilité avec divers modèles de langage grand (LLM), permettant aux développeurs de transformer n'importe quel LLM en un agent d'IA fonctionnel. De plus, Phidata vous permet de déployer vos workflows d'agent à l'aide d'une approche Bring Your Own Cloud (BYOC), offrant à la fois une flexibilité et un contrôle sur vos systèmes d'IA.
Les caractéristiques clés de Phidata incluent la possibilité de constituer des équipes d'agents qui collaborent pour résoudre des problèmes complexes, une interface utilisateur d'agent conviviale pour une interaction transparente (Phidata Playground) et une prise en charge intégrée pour la génération (RAG) (RAG) de la récupération agentique et les sorties structurées. Le cadre met également l'accent sur la surveillance et le débogage, en fournissant des outils pour garantir des applications d'IA robustes et fiables.
Explorez la puissance transformatrice des systèmes basés sur des agents dans les applications du monde réel, en tirant parti des phidata pour améliorer la prise de décision et l'automatisation des tâches.
En intégrant des outils tels que YFinance, Phidata permet la création d'agents qui peuvent récupérer les cours des actions en temps réel, analyser les données financières et résumer les recommandations des analystes. Ces agents aident les investisseurs et les analystes à prendre des décisions éclairées en fournissant des informations à jour sur le marché.
Phidata aide également à développer des agents capables de récupérer des informations en temps réel à partir du Web à l'aide d'outils de recherche comme DuckDuckgo, Serpapi ou Serper. Ces agents peuvent répondre aux requêtes des utilisateurs en s'approchant des dernières données, ce qui les rend précieuses pour les tâches de recherche et de collecte d'informations.
Phidata prend également en charge les capacités multimodales, permettant la création d'agents qui analysent les images, les vidéos et l'audio. Ces agents multimodaux peuvent gérer des tâches telles que la reconnaissance d'image, la génération de texte à l'image, la transcription audio et l'analyse vidéo, offrant des solutions polyvalentes dans divers domaines. Pour les tâches de texte à image ou de texte à vidéo, des outils comme Dall-E et Replicat peuvent être intégrés, tandis que pour les tâches d'image à texte et de vidéo à texte, les LLM multimodaux tels que GPT-4, Gemini 2.0, Claude AI et d'autres peuvent être utilisés.
Imaginez que vous ayez une documentation pour votre startup et que vous souhaitez créer un assistant de chat qui peut répondre aux questions des utilisateurs en fonction de cette documentation. Pour rendre votre chatbot plus intelligent, il doit également gérer les données en temps réel. En règle générale, répondre aux requêtes de données en temps réel nécessite de reconstruire la base de connaissances ou de recycler le modèle.
C'est là que les agents entrent en jeu. En combinant la base de connaissances avec des agents, vous pouvez créer une solution de génération de chiffon agentique (récupération auprès de la récupération) qui améliore non seulement la capacité du chatbot à récupérer des réponses précises mais améliore également ses performances globales.
Nous avons trois composantes principales qui se réunissent pour former notre base de connaissances. Tout d'abord, nous avons des sources de données, comme les pages de documentation, les PDF ou les sites Web que nous souhaitons utiliser. Ensuite, nous avons QDrant, qui est notre base de données vectorielle - c'est comme un système de stockage intelligent qui nous aide à trouver rapidement des informations similaires. Et enfin, nous avons le modèle d'incorporation qui convertit notre texte en un format que les ordinateurs peuvent mieux comprendre. Ces trois composants alimentent notre base de connaissances, ce qui ressemble au cerveau de notre système.
Maintenant, nous définissons l'objet Agent de Phidata.
L'agent est connecté à trois composants:
Remarque: Ici, la base de connaissances et DuckDuckgo agiront comme un outil, puis sur la base d'une tâche ou d'une question utilisateur, l'agent prendra des mesures sur l'outil à utiliser pour générer la réponse. Le modèle d'intégration est également OpenAI par défaut, nous utiliserons donc OpenAI - GPT-4O comme modèle de raisonnement.
Créons ce code.
Il est temps de construire un agent assistant de documentanyzer qui peut interagir avec les informations personnelles (un site Web) à partir de la base de connaissances et de DuckDuckgo en l'absence de contexte dans la base de connaissances.
Pour construire le flux de travail de chiffon agentique, nous devons installer quelques bibliothèques qui incluent:
PIP installe Phidata Google-Generativaiai DuckDuckGo-Search Qdrant-Client
Dans cette étape, nous allons configurer les variables d'environnement et rassembler les informations d'identification API requises pour exécuter ce cas d'utilisation.Pour votre clé API OpenAI, vous pouvez l'obtenir à partir de: https: //platform.openai.com/. Créez votre compte et créez une nouvelle clé.
de Phi.Knowledge.Website Import Site Webknowledgebase à partir de Phi.vectordb.qdrant Import qdrant de l'agent d'importation Phi.agent de phi.storage.agent.sqlite Import SqlagentStorage à partir de Phi.Model.Openai Import Openaichat de phi.tools.duckduckgo Import DuckDuckgo Importer un système d'exploitation os.environ ['openai_api_key'] = "<place>"</place>
Vous devrez maintenant initialiser le client QDrant en fournissant le nom de la collection, l'URL et la clé API pour votre base de données vectorielle. La base de données QDRANT stocke et indexe les connaissances du site Web, permettant à l'agent d'effectuer la récupération des informations pertinentes en fonction des requêtes utilisateur. Cette étape configure la couche de données pour votre agent:
Collection_name = "agentic-rag" Qdrant_url = "<place>" Qdrant_API_KEY = "<play>" vector_db = qdrant ( collection = collection_name, url = qdrant_url, api_key = qdrant_api_key, )</play></place>
Ici, vous définissez les sources à partir desquelles l'agent tirera ses connaissances. Dans cet exemple, nous construisons un agent d'analyseur de documents qui peut rendre notre travail facile à répondre aux questions du site Web. Nous utiliserons l'URL du site Web du document QDrant pour l'indexation.
L'objet Sitewekeledgebase interagit avec la base de données vectorielle QDRANT pour stocker les connaissances indexées de l'URL fournie. Il est ensuite chargé dans la base de connaissances pour la récupération par l'agent.
Remarque: N'oubliez pas que nous utilisons la fonction de charge pour indexer la source de données vers la base de connaissances. Cela doit être exécuté une seule fois pour chaque nom de collection, si vous modifiez le nom de la collection et que vous souhaitez ajouter de nouvelles données, seulement ce temps exécutez la fonction de chargement.
Url = "https://qdrant.tech/documentation/overview/" Knowledge_Base = SitewenKeledBase ( urls = [url], max_links = 10, vector_db = vector_db, ) connaissance_base.load () # Exécutez une seule fois, après la création de la collection, commentez ceci
L'agent configure un LLM (GPT-4) pour la génération de réponse, une base de connaissances pour la récupération d'informations et un système de stockage SQLite pour suivre les interactions et les réponses en tant que mémoire. Il configure également un outil de recherche DuckDuckgo pour des recherches Web supplémentaires en cas de besoin. Cette configuration constitue l'agent Core AI capable de répondre aux requêtes.
Nous définirons Show_Tool_Calls sur True pour observer l'exécution d'exécution du backend et suivre si la requête est acheminée vers la base de connaissances ou l'outil de recherche DuckDuckgo. Lorsque vous exécutez cette cellule, il créera un fichier de base de données où tous les messages sont enregistrés en activant le stockage de la mémoire et en définissant ADD_HISTORY_TO_MESSAGES à TRUE.
agent = agent ( modèle = openaichat (), connaissance = connaissance_base, outils = [DuckDuckGo ()], show_tool_calls = true, Markdown = true, Storage = SQLAGENTSTORAGE (TABLE_NAME = "Agenttic_Rag", DB_FILE = "AGENTS_RAG.DB"), add_history_to_messages = true, )
Enfin, l'agent est prêt à traiter les requêtes utilisateur. En appelant la fonction print_response (), vous transmettez une requête utilisateur et l'agent répond en récupérant des informations pertinentes à partir de la base de connaissances et en les traitant. Si la requête n'est pas de la base de connaissances, elle utilisera un outil de recherche. Permet d'observer les changements.
agent.print_response ( "Quelles sont les techniques d'indexation mentionnées dans le document?", Stream = vrai )
agent.print_response ( "Qui est Virat Kohli?", Stream = vrai )
Découvrez les principaux avantages du chiffon agentique, où les agents intelligents et les graphiques relationnels se combinent pour optimiser la récupération des données et la prise de décision.
La mise en œuvre du chiffon agentique avec des composants de mémoire fournit une solution fiable pour créer des systèmes de recherche de connaissances intelligents et des moteurs de recherche. Dans cet article, nous avons exploré ce que sont les agents et le chiffon et comment les combiner. Avec la combinaison du chiffon agentique, le routage des requêtes s'améliore en raison des capacités de prise de décision des agents.
A. Oui, Phidata est conçue pour prendre en charge les agents d'IA multimodaux capables de gérer des tâches impliquant des images, des vidéos et de l'audio. Il intègre des outils comme DALL-E et reproduire pour la génération de texte à l'image ou de texte à vidéo, et utilise des LLM multimodales telles que GPT-4, Gemini 2.0 et Claude AI pour les tâches d'image à texte et vidéo-texte.
Q2. Quels outils et frameworks sont disponibles pour développer des systèmes de chiffon agentiques?A. Les systèmes de génération (RAG) de la récupération de la récupération de la récupération (RAG) impliquent l'utilisation de divers outils et cadres qui facilitent l'intégration d'agents autonomes avec des capacités de récupération et de génération. Voici quelques outils et cadres disponibles à cet effet: Langchain, Llamaindex, Phidata, Crewai et Autogen.
Q3. Phidata peut-il s'intégrer aux outils externes et aux bases de connaissances?A. Oui, Phidata permet l'intégration de divers outils et bases de connaissances. Par exemple, il peut se connecter avec des outils de données financières comme YFinance pour une analyse de stock en temps réel ou des outils de recherche Web comme DuckDuckgo pour récupérer des informations à jour. Cette flexibilité permet la création d'agents spécialisés adaptés à des cas d'utilisation spécifiques.
Les médias présentés dans cet article ne sont pas détenus par l'analytique vidhya et sont utilisés à la discrétion de l'auteur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!