Agno: Construcción de un marco para inteligencias multimodales con memoria, conocimiento y herramientas

Introducción general

Agno es una biblioteca Python de código abierto desarrollada por el equipo agno-agi y alojada en GitHub, dedicada a facilitar a los desarrolladores la creación de inteligencias de IA con memoria, conocimiento y herramientas. Admite el procesamiento multimodal de texto, imágenes, audio y vídeo, y ofrece tres capacidades básicas: almacenamiento del estado de la sesión (memoria), consulta de conocimientos (conocimientos) y extensiones de herramientas (herramientas). agno es conocida por su sencillez y eficiencia, y oficialmente se dice que es más rápida que LangGraph Es unas 10.000 veces más rápido, ocupa 1/50 veces menos de memoria y admite modelos de lenguaje arbitrarios (por ejemplo, GPT-4o, Claude, etc.) para una flexibilidad agnóstica de modelos. Tanto si se trata de automatización de tareas como de procesamiento de información, Agno puede implementarse rápidamente con código intuitivo. Desde marzo de 2025, Agno ha recibido más de 19.000 estrellas en GitHub y es muy popular entre los desarrolladores.

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

 

Lista de funciones

  • Gestión de la memoria: Almacena el estado de las conversaciones del cuerpo inteligente en la base de datos, lo que permite un seguimiento contextual a largo plazo.
  • Base de conocimientos: a través de Agentic RAG La base de conocimientos incorporada para consultas técnicas proporciona respuestas precisas.
  • integración de herramientasHerramientas integradas: búsqueda en DuckDuckGo, consulta financiera en YFinance y compatibilidad con extensiones personalizadas.
  • procesamiento multimodalSoporta entrada y salida de texto, imagen, audio y vídeo, aplicable a una gran variedad de escenarios.
  • independencia del modeloCompatible con cualquier modelo lingüístico, sin restricciones de proveedor y con gran flexibilidad.
  • Instanciación rápidaIntelligentsia: tiempo de creación de tan sólo 2 microsegundos para aplicaciones altamente concurrentes.
  • colaboración multiinteligencia: Formación de equipos especializados de intelligentsia para gestionar flujos de trabajo complejos.
  • Salida estructuradaGenerar datos formateados, como tablas, para aumentar la utilidad de los resultados.
  • seguimiento en tiempo real: Visualice el estado operativo y las métricas de rendimiento de smartbody a través de agno.com.

 

Utilizar la ayuda

Proceso de instalación

Agno es un framework Python ligero, fácil de instalar y compatible con múltiples sistemas operativos. Aquí están los pasos detallados:

1. Preparación medioambiental

  • requisitos del sistema: Compatible con Windows, Linux o macOS y requiere Python 3.10 o superior.
  • Comprobar tubería: Ejecutar pip --version Compruebe que pip está instalado.
  • Almacén de clonación (opcional)Si necesita el último código fuente, ejecútelo:
    git clone https://github.com/agno-agi/agno.git  
    cd agno

2. Instalación de Agno

  • Instalación mediante pip: Se ejecuta en el terminal:
    pip install -U agno
    
  • dependencia: Instalación a la carta, por ejemplo pip install openai(Se admiten modelos OpenAI).

3. Configurar la clave API

Algunas funciones requieren API de modelos externos, como en el caso de OpenAI:

  • Obtención de la clave: Inicia sesión en el sitio web oficial de OpenAI para generar una clave de API.
  • Configuración de variables de entorno:
    export OPENAI_API_KEY='你的密钥'  # Linux/macOS  
    set OPENAI_API_KEY=你的密钥  # Windows
    

4. Verificación de la instalación

Ejecute la siguiente prueba de código:

from agno.agent import Agent  
from agno.models.openai import OpenAIChat  
agent = Agent(model=OpenAIChat(id="gpt-4o"))  
agent.print_response("Agno 有什么特点?")

Si se devuelve una respuesta, la instalación se ha realizado correctamente.

Funciones principales

Uso de la función de memoria

La Gestión de Memoria de Agno guarda el estado de la sesión, y se describe el siguiente procedimiento:

  1. Escribir código: Nuevo agent_with_memory.pyEntrada:
    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. estar en movimientoEn el terminal, escriba python agent_with_memory.pyLa experiencia inteligente recuerda y responde a "Zhang San".

Utilizar la base de conocimientos

Proporcionar respuestas especializadas a través de una base de conocimientos, por ejemplo, cargar PDF:

  1. Instalación de dependencias: Ejecutar pip install lancedb tantivy pypdf duckduckgo-search.
  2. Escribir código: Nuevo agent_with_knowledge.pyEntrada:
    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. resultado de la ejecuciónIntelligentsia extrae recetas de PDF para generar respuestas.

Ampliación del uso de herramientas

Añade una herramienta de búsqueda (por ejemplo, DuckDuckGo) a los smarts:

  1. Instalación de dependencias: Ejecutar pip install duckduckgo-search.
  2. Escribir código: Nuevo agent_with_tools.pyEntrada:
    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. resultado de la ejecuciónInteligencia: llamará a la herramienta de búsqueda para obtener la información más reciente.

colaboración multiinteligencia

Formar equipos para realizar tareas complejas, como análisis de mercado:

  1. Instalación de dependencias: Ejecutar pip install duckduckgo-search yfinance.
  2. Escribir código: Nuevo agent_team.pyEntrada:
    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. resultado de la ejecuciónAgente Web: el Agente Web proporciona las noticias, el Agente Financiero los datos y colabora en la elaboración de informes.

Función destacada Operación

Combinar memoria, conocimientos y herramientas

Crear una inteligencia integrada:

  1. Escribir código: Nuevo full_agent.pyEntrada:
    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. resultado de la ejecuciónInteligencia : La inteligencia recuerda "le gustan los sabores picantes" y sugiere recetas relacionadas.

pruebas de rendimiento

Compruebe la alta eficacia de Agno:

  1. Ejecución de scriptsEjecutado en el directorio agno:
    ./scripts/perf_setup.sh  
    source .venvs/perfenv/bin/activate  
    python evals/performance/instantiation_with_tool.py
    
  2. Comparar LangGraph: Ejecutar python evals/performance/other/langgraph_instantiation.pyLos resultados muestran que Agno tarda unos 2 microsegundos en arrancar y ocupa unos 3,75 KB de memoria.

Salida estructurada

Generar datos formateados:

  1. Modificar el código: que operan en las inteligencias financieras:
    finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
    
  2. resultado de la ejecuciónDevuelve las recomendaciones de los analistas en forma de tabla.

De este modo, los usuarios pueden aprovechar las capacidades de memoria, conocimiento y herramientas de Agno para crear aplicaciones de IA inteligentes y eficientes.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...