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

Список функций
- Управление памятью: Сохраняет состояние разговоров интеллектуального тела в базе данных, поддерживая долгосрочное контекстное отслеживание.
- Поддержка базы знаний: через агентурный 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 сохраняет статус сессии, и следующая процедура описана ниже:
- Напишите код: Новый
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)
- быть в движении: В терминале введите
python agent_with_memory.py
Умный опыт запоминает и реагирует на "Чжан Сань".
Использование базы знаний
Предоставление специализированных ответов через базу знаний, например, загрузка PDF:
- Установка зависимостей: Беги
pip install lancedb tantivy pypdf duckduckgo-search
. - Напишите код: Новый
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)
- результат работыIntelligentsia извлекает рецепты из PDF-файлов для создания ответов.
Расширение использования инструментов
Добавьте к смартфонам инструмент поиска (например, DuckDuckGo):
- Установка зависимостей: Беги
pip install duckduckgo-search
. - Напишите код: Новый
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)
- результат работы: Intelligence обращается к инструменту поиска, чтобы вернуть самую свежую информацию.
сотрудничество нескольких разведок
Формирование команд для решения сложных задач, таких как анализ рынка:
- Установка зависимостей: Беги
pip install duckduckgo-search yfinance
. - Напишите код: Новый
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)
- результат работыВеб-агент предоставляет новости, Финансовый агент предоставляет данные и совместно с ними создает отчеты.
Функциональное управление
Сочетание памяти, знаний и инструментов
Создание интегрированного интеллекта:
- Напишите код: Новый
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)
- результат работы: Интеллект запоминает, что "любит пряные ароматы", и предлагает соответствующие рецепты.
тестирование производительности
Убедитесь в высокой эффективности Agno:
- Выполнение сценариев: Выполняется в каталоге agno:
./scripts/perf_setup.sh source .venvs/perfenv/bin/activate python evals/performance/instantiation_with_tool.py
- Сравнить LangGraph: Беги
python evals/performance/other/langgraph_instantiation.py
Результаты показывают, что запуск Agno занимает около 2 микросекунд, а объем памяти составляет около 3,75 КБ.
Структурированный вывод
Создание форматированных данных:
- Измените код: работа в сфере финансовой интеллигенции:
finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
- результат работы: Возвращает рекомендации аналитиков в табличной форме.
Таким образом, пользователи могут использовать память, знания и инструментальные возможности Agno для создания интеллектуальных и эффективных приложений искусственного интеллекта.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...