Skip to content

ClasCat® AI Research

クラスキャット – 生成 AI, AI エージェント, MCP

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

Agno : コンセプト : エージェント – 知識

Posted on 07/23/2025 by Masashi Okumura

知識は、エージェントが実行時に検索することでより良い意思決定を行い (動的少数ショット学習) 正確な応答 (エージェント型 RAG) を提供できる、ドメイン固有情報です。知識はベクトルデータベースに保存され、このオンデマンド検索パターンはエージェント型 RAG と呼ばれます。

Agno : ユーザガイド : コンセプト : エージェント – 知識

作成 : クラスキャット・セールスインフォメーション
作成日時 : 07/22/2025
バージョン : Agno 1.7.4

* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています :

  • User Guide : Concepts : Agent – Knowledge

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

◆ クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

◆ お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

Agno ユーザガイド : コンセプト : エージェント – 知識

知識は、エージェントが実行時に検索することでより良い意思決定を行い (動的少数ショット学習) 正確な応答 (エージェント型 RAG) を提供できる、ドメイン固有情報です。知識はベクトルデータベースに保存され、このオンデマンド検索パターンはエージェント型 RAG と呼ばれます。

動的少数ショット学習: Text2Sql エージェント
例: Text2Sql エージェントを構築する場合、テーブルスキーマ、カラム名、デーt型、サンプルクエリー、よくある「落とし穴」を提供して最適な SQL クエリーの生成を支援する必要があります。もちろんこれらすべてをシステムプロンプトに置いていくのではなく、代わりにこの情報をベクトルデータベースに保存し、エージェントが実行時にクエリーできるようにします。この情報を使用して、エージェントは最適な SQL クエリーを生成できます。これは動的少数ショット学習と呼ばれます。

Agno エージェントはデフォルトでエージェント型 RAG を使用します、つまり知識をエージェントに提供する場合、それは実行時に、タスクを達成するために必要な特定の情報をこの知識ベースを検索します。

エージェントに知識を追加するための擬似的なステップは :

from agno.agent import Agent, AgentKnowledge

# Create a knowledge base for the Agent
knowledge_base = AgentKnowledge(vector_db=...)

# Add information to the knowledge base
knowledge_base.load_text("The sky is blue")

# Add the knowledge base to the Agent and
# give it a tool to search the knowledge base as needed
agent = Agent(knowledge=knowledge_base, search_knowledge=True)

以下の方法でエージェントに知識ベースへのアクセスを与えることができます :

  • search_knowledge=True を設定して search_knowledge_base() ツールをエージェントに追加できます。エージェントに knowledge を追加する場合、デフォルトで search_knowledge は True になります。

  • add_references=True を設置すると、知識ベースからの参照をエージェントのプロンプトに自動的に追加できます。これは従来の 2023 年の RAG アプローチです

 

ベクトル・データベース

任意のタイプのストレージが知識ベースとして動作できますが、ベクトルデータベースが、密度が高い情報から関連する結果を素早く検索取得するためのベストソリューションを提供します。ベクトルデータベースがエージェントとともにどのように使用されるかが以下です :

  1. 情報をチャンクに分割する。

    知識を小さいチャンクに分割して、検索クエリーが関連結果だけを返すことを確実にします。

  2. 知識ベースをロードする。

    チャンクを埋め込みベクトルに変換して、それらをベクトルデータベースに保存します。

  3. 知識ベースを検索する。

    ユーザがメッセージを送信すると、入力メッセージを埋め込みに変換して、ベクトルデータベースで最近傍を「検索」します。

 

例: PDF 知識ベースを備えた RAG エージェント

PDF から質問に答える RAG エージェントを構築しましょう。

​

 

Step 1: PgVector の実行

PgVector はエージェント用のストレージを提供することもできるので、ベクトル db として使用しましょう。docker desktop をインストールして、以下を使用して PgVector をポート 5532 で実行します :

docker run -d \
  -e POSTGRES_DB=ai \
  -e POSTGRES_USER=ai \
  -e POSTGRES_PASSWORD=ai \
  -e PGDATA=/var/lib/postgresql/data/pgdata \
  -v pgvolume:/var/lib/postgresql/data \
  -p 5532:5432 \
  --name pgvector \
  agnohq/pgvector:16

 

Step 2: 従来の RAG

検索拡張生成 (RAG, Retrieval Augmented Generation) は、モデルの応答を改良するために「プロンプトに関連情報を詰め込む」ことを意味します。これは 2 ステップのプロセスです :

  1. 知識ベースから関連情報を取得する。
  2. プロンプトを拡張してモデルにコンテキストを提供します。

レシピの PDF から質問に答える従来の RAG エージェントを構築しましょう。

  1. ライブラリのインストール

    pip を使用して必要なライブラリをインストールします。

    pip install -U pgvector pypdf "psycopg[binary]" sqlalchemy
    

  2. 従来の RAG エージェントの作成

    以下の内容でファイル traditional_rag.py を作成します。

    traditional_rag.py

    from agno.agent import Agent
    from agno.models.openai import OpenAIChat
    from agno.knowledge.pdf_url import PDFUrlKnowledgeBase
    from agno.vectordb.pgvector import PgVector, SearchType
    
    db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
    knowledge_base = PDFUrlKnowledgeBase(
        # Read PDF from this URL
        urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
        # Store embeddings in the `ai.recipes` table
        vector_db=PgVector(table_name="recipes", db_url=db_url, search_type=SearchType.hybrid),
    )
    # Load the knowledge base: Comment after first run
    knowledge_base.load(upsert=True)
    
    agent = Agent(
        model=OpenAIChat(id="gpt-4o"),
        knowledge=knowledge_base,
        # Enable RAG by adding references from AgentKnowledge to the user prompt.
        add_references=True,
        # Set as False because Agents default to `search_knowledge=True`
        search_knowledge=False,
        markdown=True,
        # debug_mode=True,
    )
    agent.print_response("How do I make chicken and galangal in coconut milk soup")
    

  3. エージェントの実行

    エージェントを実行します (知識ベースのロードに数秒かかります)。

    python traditional_rag.py
    

 

Step 3: エージェント型 RAG

上記の従来の RAG では、add_references=True は常に知識ベースからの情報を、質問に関係があるか有用であるかにかかわらず、プロンプトに追加します。

エージェント型 RAG では、知識ベースにアクセスする必要があるか、そして知識ベースを照会するのにどのような検索パラメータが必要であるかをエージェントが決定します。

search_knowledge=True and read_chat_history=True を設定すると、エージェントに必要に応じて知識とチャット履歴を検索するツールを提供します。

  1. エージェント型 RAG エージェントの作成

    以下の内容でファイル agentic_rag.py を作成します。

    agentic_rag.py

    from agno.agent import Agent
    from agno.models.openai import OpenAIChat
    from agno.knowledge.pdf_url import PDFUrlKnowledgeBase
    from agno.vectordb.pgvector import PgVector, SearchType
    
    db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
    knowledge_base = PDFUrlKnowledgeBase(
        urls=["https://agno-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
        vector_db=PgVector(table_name="recipes", db_url=db_url, search_type=SearchType.hybrid),
    )
    # Load the knowledge base: Comment out after first run
    knowledge_base.load(upsert=True)
    
    agent = Agent(
        model=OpenAIChat(id="gpt-4o"),
        knowledge=knowledge_base,
        # Add a tool to search the knowledge base which enables agentic RAG.
        search_knowledge=True,
        # Add a tool to read chat history.
        read_chat_history=True,
        show_tool_calls=True,
        markdown=True,
        # debug_mode=True,
    )
    agent.print_response("How do I make chicken and galangal in coconut milk soup", stream=True)
    agent.print_response("What was my last question?", markdown=True)
    

  2. エージェントの実行

    エージェントの実行

    python agentic_rag.py
    

 

以上



クラスキャット

最近の投稿

  • Agno : コンセプト : エージェント – 知識
  • Agno : コンセプト : エージェント – エージェント・コンテキスト
  • Agno : コンセプト : エージェント – プロンプト
  • Agno : コンセプト : エージェント – ユーザ制御フロー (Human in the Loop)
  • Agno : コンセプト : エージェント – マルチモーダル・エージェント

タグ

Agno (17) AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Eager Execution (7) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.6 (7) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangGraph (24) LangGraph 0.5 (9) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2025年7月
月 火 水 木 金 土 日
 123456
78910111213
14151617181920
21222324252627
28293031  
« 6月    
© 2025 ClasCat® AI Research | Powered by Minimalist Blog WordPress Theme