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.
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:
- Escrever código: Novo
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 em movimentoNo terminal, digite
python agent_with_memory.py
A 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:
- Instalação de dependências: Executar
pip install lancedb tantivy pypdf duckduckgo-search
. - Escrever código: Novo
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 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:
- Instalação de dependências: Executar
pip install duckduckgo-search
. - Escrever código: Novo
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 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:
- Instalação de dependências: Executar
pip install duckduckgo-search yfinance
. - Escrever código: Novo
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 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:
- Escrever código: Novo
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 da execuçãoInteligência: lembra que "gosta de sabores picantes" e sugere receitas relacionadas.
teste de desempenho
Verifique a alta eficiência da Agno:
- Executando scriptsExecutado no diretório agno:
./scripts/perf_setup.sh source .venvs/perfenv/bin/activate python evals/performance/instantiation_with_tool.py
- Comparar LangGraph: Executar
python evals/performance/other/langgraph_instantiation.py
Os 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:
- Modificar o código: operando na inteligência financeira:
finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
- 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.