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.

Agno:构建具备记忆、知识和工具的多模态智能体框架

 

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 :

  1. Code d'écriture: Nouveau agent_with_memory.pyEntré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)
    
  2. être en mouvementDans le terminal, tapez python agent_with_memory.pyL'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 :

  1. Installation des dépendances: Run pip install lancedb tantivy pypdf duckduckgo-search.
  2. Code d'écriture: Nouveau agent_with_knowledge.pyEntré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)
    
  3. 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 :

  1. Installation des dépendances: Run pip install duckduckgo-search.
  2. Code d'écriture: Nouveau agent_with_tools.pyEntré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)
    
  3. 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é :

  1. Installation des dépendances: Run pip install duckduckgo-search yfinance.
  2. Code d'écriture: Nouveau agent_team.pyEntré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)
    
  3. 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 :

  1. Code d'écriture: Nouveau full_agent.pyEntré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)
    
  2. 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 :

  1. 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
    
  2. Comparer LangGraph: Run python evals/performance/other/langgraph_instantiation.pyLes 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 :

  1. 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)
    
  2. 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

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...