Agno: Создание основы для мультимодального интеллекта с помощью памяти, знаний и инструментов

Общее введение

Agno - это библиотека с открытым исходным кодом на языке Python, разработанная командой agno-agi и размещенная на GitHub. Она призвана облегчить разработчикам создание ИИ-интеллектов с памятью, знаниями и инструментами. Она поддерживает мультимодальную обработку текста, изображений, аудио и видео и предоставляет три основные возможности: хранение состояния сессии (память), запрос знаний (знания) и расширение инструментов (инструменты). agno известна своей простотой и эффективностью, и официально утверждается, что она быстрее, чем LangGraph Он работает примерно в 10 000 раз быстрее, занимает в 1/50 раза меньше памяти и поддерживает произвольные языковые модели (например, GPT-4o, Claude и т. д.), обеспечивая гибкость, не зависящую от модели. Будь то автоматизация задач или обработка информации, Agno может быть быстро реализована с помощью интуитивно понятного кода. По состоянию на март 2025 года Agno получил более 19 000 звезд на GitHub и пользуется большой популярностью среди разработчиков.

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

 

Список функций

  • Управление памятью: Сохраняет состояние разговоров интеллектуального тела в базе данных, поддерживая долгосрочное контекстное отслеживание.
  • Поддержка базы знаний: через агентурный RAG Встроенная база знаний по техническим запросам дает точные ответы.
  • интеграция инструментов: Встроенные инструменты, такие как поиск DuckDuckGo, финансовый запрос YFinance, а также поддержка пользовательских расширений.
  • мультимодальная обработкаПоддержка ввода и вывода текста, изображений, аудио и видео, что позволяет использовать их в различных сценариях.
  • независимость моделиСовместимость с любой языковой моделью, отсутствие ограничений со стороны производителя и высокая гибкость.
  • Быстрая инстанцияВремя создания Intelligentsia составляет всего 2 микросекунды для высокоскоростных приложений.
  • сотрудничество нескольких разведок: Формирование специализированных команд интеллигенции для работы со сложными рабочими процессами.
  • Структурированный выводСоздание форматированных данных, например таблиц, для повышения полезности результатов.
  • мониторинг в реальном времениПросмотр оперативного состояния и показателей работы smartbody через сайт agno.com.

 

Использование помощи

Процесс установки

Agno - это легкий Python-фреймворк, который легко устанавливается и совместим со многими операционными системами. Ниже приведены подробные шаги:

1. Подготовка окружающей среды

  • системные требования: Поддерживает Windows, Linux или macOS и требует Python 3.10 или выше.
  • Контрольный трубопровод: Беги pip --version Убедитесь, что программа pip установлена.
  • Склад для клонирования (опционально): Если вам нужна последняя версия исходного кода, запустите ее:
    git clone https://github.com/agno-agi/agno.git  
    cd agno

2. Установка Agno

  • Установка через pip: Запускается в терминале:
    pip install -U agno
    
  • зависимость: Установка по требованию, например. pip install openai(Поддерживаются модели OpenAI).

3. Настройте ключ API

Некоторые функции требуют внешних API моделей, таких как OpenAI:

  • Получение ключа: зайдите на официальный сайт OpenAI, чтобы сгенерировать ключ API.
  • Установка переменных окружения:
    export OPENAI_API_KEY='你的密钥'  # Linux/macOS  
    set OPENAI_API_KEY=你的密钥  # Windows
    

4. Проверка установки

Выполните следующий тест кода:

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

Если ответ получен, значит, установка прошла успешно.

Основные функции

Использование функции памяти

Управление памятью Agno сохраняет статус сессии, и следующая процедура описана ниже:

  1. Напишите код: Новый agent_with_memory.pyВход:
    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. быть в движении: В терминале введите python agent_with_memory.pyУмный опыт запоминает и реагирует на "Чжан Сань".

Использование базы знаний

Предоставление специализированных ответов через базу знаний, например, загрузка PDF:

  1. Установка зависимостей: Беги pip install lancedb tantivy pypdf duckduckgo-search.
  2. Напишите код: Новый agent_with_knowledge.pyВход:
    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. результат работыIntelligentsia извлекает рецепты из PDF-файлов для создания ответов.

Расширение использования инструментов

Добавьте к смартфонам инструмент поиска (например, DuckDuckGo):

  1. Установка зависимостей: Беги pip install duckduckgo-search.
  2. Напишите код: Новый agent_with_tools.pyВход:
    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. результат работы: Intelligence обращается к инструменту поиска, чтобы вернуть самую свежую информацию.

сотрудничество нескольких разведок

Формирование команд для решения сложных задач, таких как анализ рынка:

  1. Установка зависимостей: Беги pip install duckduckgo-search yfinance.
  2. Напишите код: Новый agent_team.pyВход:
    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. результат работыВеб-агент предоставляет новости, Финансовый агент предоставляет данные и совместно с ними создает отчеты.

Функциональное управление

Сочетание памяти, знаний и инструментов

Создание интегрированного интеллекта:

  1. Напишите код: Новый full_agent.pyВход:
    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. результат работы: Интеллект запоминает, что "любит пряные ароматы", и предлагает соответствующие рецепты.

тестирование производительности

Убедитесь в высокой эффективности Agno:

  1. Выполнение сценариев: Выполняется в каталоге agno:
    ./scripts/perf_setup.sh  
    source .venvs/perfenv/bin/activate  
    python evals/performance/instantiation_with_tool.py
    
  2. Сравнить LangGraph: Беги python evals/performance/other/langgraph_instantiation.pyРезультаты показывают, что запуск Agno занимает около 2 микросекунд, а объем памяти составляет около 3,75 КБ.

Структурированный вывод

Создание форматированных данных:

  1. Измените код: работа в сфере финансовой интеллигенции:
    finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
    
  2. результат работы: Возвращает рекомендации аналитиков в табличной форме.

Таким образом, пользователи могут использовать память, знания и инструментальные возможности Agno для создания интеллектуальных и эффективных приложений искусственного интеллекта.

© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...