Agno: Construcción de un marco para inteligencias multimodales con memoria, conocimiento y herramientas
Últimos recursos sobre IAActualizado hace 5 meses Círculo de intercambio de inteligencia artificial 2.4K 00
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.

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:
- Escribir código: Nuevo
agent_with_memory.py
Entrada: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)
- estar en movimientoEn el terminal, escriba
python agent_with_memory.py
La 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:
- Instalación de dependencias: Ejecutar
pip install lancedb tantivy pypdf duckduckgo-search
. - Escribir código: Nuevo
agent_with_knowledge.py
Entrada: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)
- 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:
- Instalación de dependencias: Ejecutar
pip install duckduckgo-search
. - Escribir código: Nuevo
agent_with_tools.py
Entrada: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)
- 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:
- Instalación de dependencias: Ejecutar
pip install duckduckgo-search yfinance
. - Escribir código: Nuevo
agent_team.py
Entrada: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)
- 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:
- Escribir código: Nuevo
full_agent.py
Entrada: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)
- 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:
- Ejecución de scriptsEjecutado en el directorio agno:
./scripts/perf_setup.sh source .venvs/perfenv/bin/activate python evals/performance/instantiation_with_tool.py
- Comparar LangGraph: Ejecutar
python evals/performance/other/langgraph_instantiation.py
Los resultados muestran que Agno tarda unos 2 microsegundos en arrancar y ocupa unos 3,75 KB de memoria.
Salida estructurada
Generar datos formateados:
- Modificar el código: que operan en las inteligencias financieras:
finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
- 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
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...