Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

Agno: uma estrutura para a criação de inteligências multimodais com memória, conhecimento e ferramentas

Introdução geral

Agno é uma biblioteca Python de código aberto desenvolvida pela equipe agno-agi e hospedada no GitHub, dedicada a facilitar aos desenvolvedores a criação de inteligências de IA com memória, conhecimento e ferramentas. Ela é compatível com o processamento multimodal de texto, imagens, áudio e vídeo e oferece três recursos principais: armazenamento do estado da sessão (memória), consulta de conhecimento (conhecimento) e extensões de ferramentas (ferramentas). LangGraph Ele é cerca de 10.000 vezes mais rápido, com 1/50 do espaço ocupado pela memória, e oferece suporte a modelos de linguagem arbitrários (por exemplo, GPT-4o, Claude etc.) para flexibilidade independente de modelo. Quer se trate de automação de tarefas ou processamento de informações, o Agno pode ser implementado rapidamente com um código intuitivo. Em março de 2025, o Agno recebeu mais de 19.000 estrelas no GitHub e é muito popular entre os desenvolvedores.

Agno: uma estrutura para criar inteligências de IA com memória, conhecimento e ferramentas-1


 

Lista de funções

  • Gerenciamento de memóriaArmazena o estado das conversas do corpo inteligente no banco de dados, dando suporte ao rastreamento contextual de longo prazo.
  • Suporte à base de conhecimento: por meio do Agentic RAG A base de conhecimento embutida para consultas técnicas fornece respostas precisas.
  • integração de ferramentasFerramentas integradas, como a pesquisa DuckDuckGo, a consulta financeira YFinance e o suporte a extensões personalizadas.
  • processamento multimodalSuporte para entrada e saída de texto, imagem, áudio e vídeo, aplicável a uma variedade de cenários.
  • independência do modeloCompatível com qualquer modelo de linguagem, sem restrições de fornecedor e com alta flexibilidade.
  • Instanciação rápidaTempo de criação do Intelligentsia tão baixo quanto 2 microssegundos para aplicativos altamente simultâneos.
  • colaboração de inteligência múltiplaFormação de equipes especializadas de inteligência para lidar com fluxos de trabalho complexos.
  • Saída estruturadaGeração de dados formatados, como tabelas, para aumentar a utilidade dos resultados.
  • monitoramento em tempo realVisualização do status operacional e das métricas de desempenho do smartbody via agno.com.

 

Usando a Ajuda

Processo de instalação

O Agno é uma estrutura Python leve, fácil de instalar e compatível com vários sistemas operacionais. Aqui estão as etapas detalhadas:

1. preparação ambiental

  • Requisitos do sistemaSuporte para Windows, Linux ou macOS e requer Python 3.10 ou superior.
  • Verificar pip: Executar pip --version Verifique se o pip está instalado.
  • Armazém de clonagem (opcional)Se você precisar do código-fonte mais recente, execute-o:
    git clone https://github.com/agno-agi/agno.git  
    cd agno

2. instalação da Agno

  • Instalação via pipExecuta no terminal:
    pip install -U agno
    
  • dependênciaInstalação sob demanda, por exemplo. pip install openai(Os modelos OpenAI são compatíveis).

3. configurar a chave da API

Algumas funções exigem APIs de modelos externos, como no caso do OpenAI:

  • Obtenção da chave: Faça login no site oficial da OpenAI para gerar uma chave de API.
  • Configuração de variáveis de ambiente:
    export OPENAI_API_KEY='你的密钥'  # Linux/macOS  
    set OPENAI_API_KEY=你的密钥  # Windows
    

4. verificação da instalação

Execute o seguinte teste 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 有什么特点?")

Se uma resposta for retornada, a instalação foi bem-sucedida.

Funções principais

Uso da função de memória

O gerenciamento de memória da Agno salva o status da sessão, e o procedimento a seguir é descrito:

  1. Escrever código: Novo 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 em movimentoNo terminal, digite python agent_with_memory.pyA experiência inteligente lembra e responde a "Zhang San".

Usando a base de conhecimento

Fornecer respostas especializadas por meio de uma base de conhecimento, por exemplo, carregar PDF:

  1. Instalação de dependências: Executar pip install lancedb tantivy pypdf duckduckgo-search.
  2. Escrever código: Novo 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 da execuçãoIntelligentsia extrai receitas de PDFs para gerar respostas.

Extensão do uso de ferramentas

Adicione uma ferramenta de pesquisa (por exemplo, DuckDuckGo) à inteligência:

  1. Instalação de dependências: Executar pip install duckduckgo-search.
  2. Escrever código: Novo 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 da execução: O Intelligence chamará a ferramenta de pesquisa para retornar as informações mais recentes.

colaboração de inteligência múltipla

Formação de equipes para lidar com tarefas complexas, como análises de mercado:

  1. Instalação de dependências: Executar pip install duckduckgo-search yfinance.
  2. Escrever código: Novo 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 da execuçãoO Web Agent fornece as notícias, o Finance Agent fornece os dados e colabora para gerar o relatório.

Operação da função em destaque

Combinação de memória, conhecimento e ferramentas

Criação de uma inteligência integrada:

  1. Escrever código: Novo 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 da execuçãoInteligência: lembra que "gosta de sabores picantes" e sugere receitas relacionadas.

teste de desempenho

Verifique a alta eficiência da Agno:

  1. Executando scriptsExecutado no diretório agno:
    ./scripts/perf_setup.sh  
    source .venvs/perfenv/bin/activate  
    python evals/performance/instantiation_with_tool.py
    
  2. Comparar LangGraph: Executar python evals/performance/other/langgraph_instantiation.pyOs resultados mostram que o Agno leva cerca de 2 microssegundos para iniciar e tem um espaço de memória de cerca de 3,75 KiB.

Saída estruturada

Gerar dados formatados:

  1. Modificar o código: operando na inteligência financeira:
    finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
    
  2. resultado da execuçãoRecomendações do analista: Retorna as recomendações do analista em forma de tabela.

Ao fazer isso, os usuários podem aproveitar a memória, o conhecimento e os recursos de ferramentas do Agno para criar aplicativos de IA inteligentes e eficientes.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Agno: uma estrutura para a criação de inteligências multimodais com memória, conhecimento e ferramentas
pt_BRPortuguês do Brasil