Agno : Un cadre pour la construction d'intelligences multimodales avec mémoire, connaissances et outils
Introduction générale
Agno est une bibliothèque Python open source développée par l'équipe agno-agi et hébergée sur GitHub, dont l'objectif est de permettre aux développeurs de créer facilement des intelligences artificielles dotées d'une mémoire, de connaissances et d'outils. Elle prend en charge le traitement multimodal du texte, des images, de l'audio et de la vidéo, et offre trois fonctionnalités principales : le stockage de l'état de la session (mémoire), l'interrogation des connaissances (connaissances) et l'extension des outils (outils). agno est réputée pour sa simplicité et son efficacité, et on dit officiellement qu'elle est plus rapide que LangGraph Il est environ 10 000 fois plus rapide, avec 1/50e de l'empreinte mémoire, et prend en charge des modèles de langage arbitraires (par exemple GPT-4o, Claude, etc.) pour une flexibilité agnostique du modèle. Qu'il s'agisse d'automatisation de tâches ou de traitement de l'information, Agno peut être mis en œuvre rapidement avec un code intuitif. En mars 2025, Agno a reçu plus de 19 000 étoiles sur GitHub et est très populaire auprès des développeurs.

Liste des fonctions
- Gestion de la mémoireLa base de données des conversations du corps intelligent : enregistre l'état des conversations du corps intelligent dans la base de données, ce qui permet d'assurer un suivi contextuel à long terme.
- Base de connaissances: par l'intermédiaire d'Agentic RAG La base de connaissances intégrée pour les questions techniques fournit des réponses précises.
- intégration des outilsLe site Web de l'entreprise est un véritable outil de travail : des outils intégrés tels que la recherche DuckDuckGo, la recherche financière YFinance, et la prise en charge d'extensions personnalisées.
- traitement multimodalPrise en charge de l'entrée et de la sortie de textes, d'images, d'audio et de vidéo, applicable à un grand nombre de scénarios.
- l'indépendance du modèleLes logiciels sont compatibles avec n'importe quel modèle linguistique, sans restrictions de la part des fournisseurs et avec une grande flexibilité.
- Instanciation rapideIntelligentsia : temps de création aussi bas que 2 microsecondes pour les applications hautement simultanées.
- collaboration multi-intelligenceLes services d'intelligence artificielle : former des équipes spécialisées d'intelligentsia pour gérer des flux de travail complexes.
- Sortie structuréeLes données peuvent être formatées, par exemple sous forme de tableaux, afin d'améliorer l'utilité des résultats.
- suivi en temps réelLes données relatives à l'état de fonctionnement et aux performances du corps intelligent peuvent être consultées sur le site agno.com.
Utiliser l'aide
Processus d'installation
Agno est un framework Python léger, facile à installer et compatible avec de nombreux systèmes d'exploitation. Voici les étapes détaillées :
1. préparation à l'environnement
- exigences du systèmeLe logiciel est compatible avec Windows, Linux ou macOS et nécessite Python 3.10 ou une version plus récente.
- Contrôler le tuyau: Run
pip --version
Vérifiez que pip est installé. - Entrepôt de clonage (facultatif)Si vous avez besoin du dernier code source, exécutez-le :
git clone https://github.com/agno-agi/agno.git cd agno
2. installation d'Agno
- Installation via pip: S'exécute dans le terminal :
pip install -U agno
- dépendanceInstallation à la demande, par exemple
pip install openai
(Les modèles OpenAI sont pris en charge).
3. configurer la clé API
Certaines fonctionnalités nécessitent des API de modèles externes, comme OpenAI :
- Obtenir la clé : Connectez-vous au site officiel d'OpenAI pour générer une clé API.
- Définition des variables d'environnement :
export OPENAI_API_KEY='你的密钥' # Linux/macOS set OPENAI_API_KEY=你的密钥 # Windows
4. vérification de l'installation
Exécutez le test de code suivant :
from agno.agent import Agent
from agno.models.openai import OpenAIChat
agent = Agent(model=OpenAIChat(id="gpt-4o"))
agent.print_response("Agno 有什么特点?")
Si une réponse est renvoyée, l'installation a réussi.
Principales fonctions
Utilisation de la fonction mémoire
La gestion de la mémoire d'Agno enregistre l'état de la session et la procédure suivante est décrite :
- Code d'écriture: Nouveau
agent_with_memory.py
Entrée :from agno.agent import Agent from agno.models.openai import OpenAIChat agent = Agent( model=OpenAIChat(id="gpt-4o"), description="你是一个助手,能记住对话内容", markdown=True ) agent.print_response("我叫张三,你能记住吗?", stream=True) agent.print_response("我叫什么名字?", stream=True)
- être en mouvementDans le terminal, tapez
python agent_with_memory.py
L'expérience intelligente se souvient de "Zhang San" et lui répond.
Utiliser la base de connaissances
Fournir des réponses spécialisées par le biais d'une base de connaissances, par exemple en chargeant des PDF :
- Installation des dépendances: Run
pip install lancedb tantivy pypdf duckduckgo-search
. - Code d'écriture: Nouveau
agent_with_knowledge.py
Entrée :from agno.agent import Agent from agno.models.openai import OpenAIChat from agno.knowledge.pdf_url import PDFUrlKnowledgeBase from agno.vectordb.lancedb import LanceDb from agno.embedder.openai import OpenAIEmbedder agent = Agent( model=OpenAIChat(id="gpt-4o"), description="你是泰式美食专家!", instructions=["优先使用知识库中的泰式菜谱"], knowledge=PDFUrlKnowledgeBase( urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"], vector_db=LanceDb( uri="tmp/lancedb", table_name="recipes", embedder=OpenAIEmbedder(id="text-embedding-3-small") ) ), markdown=True ) if agent.knowledge: agent.knowledge.load() # 首次加载知识库 agent.print_response("如何制作泰式椰奶鸡汤?", stream=True)
- résultat de la courseIntelligentsia : Intelligentsia extrait les recettes des PDF pour générer des réponses.
Extension de l'utilisation des outils
Ajoutez un outil de recherche (par exemple DuckDuckGo) à l'intelligence :
- Installation des dépendances: Run
pip install duckduckgo-search
. - Code d'écriture: Nouveau
agent_with_tools.py
Entrée :from agno.agent import Agent from agno.models.openai import OpenAIChat from agno.tools.duckduckgo import DuckDuckGoTools agent = Agent( model=OpenAIChat(id="gpt-4o"), tools=[DuckDuckGoTools()], show_tool_calls=True, markdown=True ) agent.print_response("纽约最近发生了什么?", stream=True)
- résultat de la courseL'Intelligence appellera l'outil de recherche pour renvoyer les informations les plus récentes.
collaboration multi-intelligence
Former des équipes pour traiter des tâches complexes, telles que des analyses de marché :
- Installation des dépendances: Run
pip install duckduckgo-search yfinance
. - Code d'écriture: Nouveau
agent_team.py
Entrée :from agno.agent import Agent from agno.models.openai import OpenAIChat from agno.tools.duckduckgo import DuckDuckGoTools from agno.tools.yfinance import YFinanceTools web_agent = Agent( name="Web Agent", model=OpenAIChat(id="gpt-4o"), tools=[DuckDuckGoTools()], instructions=["始终提供来源"], markdown=True ) finance_agent = Agent( name="Finance Agent", model=OpenAIChat(id="gpt-4o"), tools=[YFinanceTools(stock_price=True, analyst_recommendations=True)], instructions=["用表格展示数据"], markdown=True ) team_agent = Agent( team=[web_agent, finance_agent], instructions=["协作完成任务"], markdown=True ) team_agent.print_response("AI半导体公司的市场前景如何?", stream=True)
- résultat de la courseL'agent Web fournit les informations, l'agent financier fournit les données et collabore à la production du rapport.
Fonction en vedette Fonctionnement
Combiner la mémoire, les connaissances et les outils
Créer une intelligence intégrée :
- Code d'écriture: Nouveau
full_agent.py
Entrée :from agno.agent import Agent from agno.models.openai import OpenAIChat from agno.knowledge.pdf_url import PDFUrlKnowledgeBase from agno.vectordb.lancedb import LanceDb from agno.embedder.openai import OpenAIEmbedder from agno.tools.duckduckgo import DuckDuckGoTools agent = Agent( model=OpenAIChat(id="gpt-4o"), description="你是美食助手,能记住用户喜好并提供菜谱", instructions=["优先使用知识库,若不足则搜索网络"], knowledge=PDFUrlKnowledgeBase( urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"], vector_db=LanceDb( uri="tmp/lancedb", table_name="recipes", embedder=OpenAIEmbedder(id="text-embedding-3-small") ) ), tools=[DuckDuckGoTools()], markdown=True ) if agent.knowledge: agent.knowledge.load() agent.print_response("我喜欢辣味,推荐一道泰式菜", stream=True) agent.print_response("我刚才说了什么喜好?", stream=True)
- résultat de la courseL'intelligence se souvient de l'expression "aime les saveurs épicées" et suggère des recettes correspondantes.
essais de performance
Vérifier la haute efficacité de l'Agno :
- Exécution de scripts: Exécuté dans le répertoire agno :
./scripts/perf_setup.sh source .venvs/perfenv/bin/activate python evals/performance/instantiation_with_tool.py
- Comparer LangGraph: Run
python evals/performance/other/langgraph_instantiation.py
Les résultats montrent qu'Agno prend environ 2 microsecondes pour démarrer et a une empreinte mémoire d'environ 3,75 Ko.
Sortie structurée
Générer des données formatées :
- Modifier le codeLes résultats de l'étude sont présentés dans le document suivant : "operating in the financial intelligences" (en anglais seulement) :
finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
- résultat de la course: renvoie les recommandations des analystes sous forme de tableau.
Les utilisateurs peuvent ainsi tirer parti de la mémoire, des connaissances et des outils d'Agno pour créer des applications d'IA intelligentes et efficaces.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...