はじめに
Agnoは、agno-agiチームによって開発され、GitHubでホストされているオープンソースのPythonライブラリで、開発者がメモリ、知識、ツールを備えたAIインテリジェンスを簡単に構築できるようにすることを目的としています。テキスト、画像、音声、動画のマルチモーダル処理をサポートし、セッション状態の保存(メモリ)、知識クエリ(知識)、ツール拡張(ツール)の3つのコア機能を提供する。 ラングラフ 約10,000倍高速で、メモリフットプリントは1/50、モデルにとらわれない柔軟性のために任意の言語モデル(GPT-4o、Claudeなど)をサポートしています。タスクの自動化であれ、情報処理であれ、Agnoは直感的なコードで素早く実装することができます。2025年3月現在、AgnoはGitHubで19,000以上のスターを獲得しており、開発者に非常に人気があります。
機能一覧
- メモリー管理インテリジェント・ボディの会話の状態をデータベースに保存し、長期的な文脈追跡をサポート。
- ナレッジベースのサポートエージェントを通じて ラグ 技術的な質問に対する内蔵の知識ベースは、正確な回答を提供します。
- ツール統合DuckDuckGo検索、YFinance財務照会などの内蔵ツール、カスタム拡張機能のサポート。
- マルチモーダル処理テキスト、画像、音声、ビデオの入出力をサポートし、さまざまなシナリオに対応。
- モデルの独立性あらゆる言語モデルに対応し、ベンダーの制約がなく、柔軟性が高い。
- 高速インスタンス化Intelligentsiaの作成時間は2マイクロ秒と短く、並行性の高いアプリケーションにも対応します。
- マルチインテリジェンス・コラボレーション複雑なワークフローを処理するために、専門のインテリジェント・チームを編成する。
- 構造化出力結果の有用性を高めるために、表などのフォーマットされたデータを生成する。
- リアルタイム・モニタリング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.アグノのインストール
- pipによるインストールターミナルで実行されます:
pip install -U agno
- 従属オンデマンド・インストール
pip install openai
(OpenAIのモデルに対応)。
3.APIキーの設定
OpenAIの場合のように、外部のモデルAPIを必要とする機能もある:
- キーの取得: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)
- 走行結果インテリジェンスは検索ツールを呼び出し、最新情報を返す。
マルチインテリジェンス・コラボレーション
市場分析などの複雑なタスクを処理するためにチームを編成する:
- 依存関係のインストール走る
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ディレクトリで実行:
./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.75KiBであることがわかった。
構造化出力
フォーマットされたデータを生成する:
- コードを修正するファイナンシャル・インテリジェンス
finance_agent.print_response("NVDA的分析师建议是什么?", stream=True)
- 走行結果アナリストの推奨を表形式で返す。
そうすることで、ユーザーはAgnoの記憶、知識、ツール機能を活用し、スマートで効率的なAIアプリケーションを構築することができる。