はじめに
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 --バージョン
pipがインストールされていることを確認する。 - クローン倉庫(オプション)最新のソースコードが必要な場合は、それを実行してください:
git clone https://github.com/agno-agi/agno.git cd agno
2.アグノのインストール
- pipによるインストールターミナルで実行されます:
pip install -U アグノ
- 従属オンデマンド・インストール
pip install openai
(OpenAIのモデルに対応)。
3.APIキーの設定
OpenAIの場合のように、外部のモデルAPIを必要とする機能もある:
- キーの取得:OpenAIの公式サイトにログインし、APIキーを生成します。
- 環境変数の設定:
export OPENAI_API_KEY='Your key' # Linux/macOS OPENAI_API_KEY=あなたのキー # Windows
4.インストールの検証
以下のコードテストを実行する:
from agno.agent.import エージェント
from agno.models.openai import OpenAIChat
agent = Agent(model=OpenAIChat(id="gpt-4o"))
agent.print_response("Agnoの機能は何ですか?")
応答が返ってくれば、インストールは成功である。
主な機能
メモリー機能の使用
Agnoのメモリ管理はセッションステータスを保存し、以下の手順を説明します:
- コードを書く新着情報
エージェント_with_memory.py
インプット:from agno.agent.import エージェント from agno.models.openai import OpenAIChat エージェント = エージェント( model=OpenAIChat(id="gpt-4o")、 description="あなたは会話を記憶するアシスタントです、 markdown=True ) agent.print_response("My name is Zhang San, can you remember?")stream=True) agent.print_response("私の名前は何ですか?" , stream=True)stream=True)
- うごきだすターミナルで
python agent_with_memory.py
インテリジェントな体験は「チャン・サン」を記憶し、反応する。
知識ベースの使用
PDFを読み込むなど、ナレッジベースを通じて専門的な回答を提供する:
- 依存関係のインストール走る
pip install lancedb tantivy pypdf duckduckgo-search
. - コードを書く新着情報
エージェント_知識付き.py
インプット:from agno.agent.import エージェント 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 エージェント = エージェント( model=OpenAIChat(id="gpt-4o")、 description="あなたはタイ料理の専門家です!", instructions=["knowledge baseからタイ料理のレシピに優先順位をつける"]、 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.load() agent.knowledge.load() # ナレッジベースを初めてロードする agent.print_response("How to Make Thai Coconut Milk Chicken Soup?")stream=True)
- 走行結果IntelligentsiaはPDFからレシピを抽出して回答を生成します。
ツール使用の拡大
スマートフォンに検索ツール(DuckDuckGoなど)を追加する:
- 依存関係のインストール走る
pip install duckduckgo-search
. - コードを書く新着情報
エージェント_with_tools.py
インプット:from agno.agent.import エージェント from agno.models.openai import OpenAIChat from agno.tools.duckduckgo import DuckDuckGoTools エージェント = エージェント( model=OpenAIChat(id="gpt-4o")、 tools=[DuckDuckGoTools()]、 show_tool_calls=True、 markdown=True ) agent.print_response("What's happening in New York these days?")stream=True)
- 走行結果インテリジェンスは検索ツールを呼び出し、最新情報を返す。
マルチインテリジェンス・コラボレーション
市場分析などの複雑なタスクを処理するためにチームを編成する:
- 依存関係のインストール走る
pip install duckduckgo-search yfinance
. - コードを書く新着情報
agent_team.py
インプット:from agno.agent.import エージェント from agno.models.openai import OpenAIChat from agno.tools.duckduckgo import DuckDuckGoTools from agno.tools.yfinance import YFinanceTools web_agent = エージェント( name="Web Agent"、 model=OpenAIChat(id="gpt-4o")、 tools=[DuckDuckGoTools()]、 instructions=["Always provide the source"]、 markdown=True ) finance_agent = エージェント( name="Finance Agent"、 model=OpenAIChat(id="gpt-4o")、 tools=[YFinanceTools(stock_price=True, analyst_recommendations=True)]、 instructions=["Presenting data in tables"]、 markdown=True ) team_agent = エージェント( team=[web_agent, finance_agent]、 instructions=["Collaborate on tasks"]、 markdown=True ) team_agent.print_response("AI半導体の市場見通しは?")stream=True)
- 走行結果ウェブエージェントがニュースを提供し、ファイナンスエージェントがデータを提供し、共同でレポートを出力します。
注目の機能操作
記憶、知識、ツールを組み合わせる
統合された知性を創造する:
- コードを書く新着情報
full_agent.py
インプット:from agno.agent.import エージェント 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 エージェント = エージェント( model=OpenAIChat(id="gpt-4o")、 description="You're a food assistant that remembers user preferences and provides recipes"、 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 ) もしagent.knowledge. agent.knowledge.load() agent.print_response("I like spicy flavours, recommend a Thai dish", stream=True) agent.print_response("What preferences did I just say?", stream=True)stream=True)
- 走行結果インテリジェンスは「スパイシーな味が好き」を記憶し、関連するレシピを提案する。
パフォーマンステスト
アグノの高効率を検証する:
- スクリプトの実行agnoディレクトリで実行:
./scripts/perf_setup.sh ソース .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アプリケーションを構築することができる。