mcpField
C
create-knowledgebase

create-knowledgebase

github.com/bolna-aiデータ・データベース367 回インストール3 日前に更新
リポジトリ

create-knowledgebase について

PDF または URL から Bolna のナレッジベースを作成、管理するスキルです。多言語検索の設定に対応し、処理済みソースを Bolna エージェントに接続するためのベクター ID を提供します。

主な機能

  1. 01PDF または URL からナレッジベースを作成
  2. 02処理状況の確認とソース一覧の取得
  3. 03チャンク分割と検索設定の調整
  4. 04多言語検索の有効化
  5. 05ナレッジベースの削除

活用シーン

  1. 01製品マニュアルに基づくエージェント回答
  2. 02Web ドキュメントをエージェントの情報源に利用
  3. 03非英語文書からの検索
  4. 04エージェント回答の検索範囲の調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bolna-ai/skills --skill create-knowledgebase

インストール後、Claude Code で/create-knowledgebaseを入力して読み込まれたか確認します。

同梱ファイルscripts/create_knowledgebase.py

詳細

Bolna ナレッジベースを作成する

エンドポイント

  • 作成:POST https://api.bolna.ai/knowledgebase
  • 取得:GET https://api.bolna.ai/knowledgebase/{rag_id}
  • 一覧表示:GET https://api.bolna.ai/knowledgebase/all
  • 削除:DELETE https://api.bolna.ai/knowledgebase/{rag_id}

Authorization: Bearer $BOLNA_API_KEY を使用します。

PDF から作成

curl --request POST \
  --url https://api.bolna.ai/knowledgebase \
  --header "Authorization: Bearer $BOLNA_API_KEY" \
  --form 'file=@"/path/to/file.pdf"' \
  --form 'chunk_size=512' \
  --form 'similarity_top_k=15' \
  --form 'overlapping=128' \
  --form 'language_support=multilingual'

PDF の最大サイズは 20 MB と記載されています。英語以外のドキュメントや言語をまたいだ検索には、language_support=multilingual を使用します。

URL から作成

curl --request POST \
  --url https://api.bolna.ai/knowledgebase \
  --header "Authorization: Bearer $BOLNA_API_KEY" \
  --form 'url=https://example.com/docs' \
  --form 'chunk_size=512' \
  --form 'similarity_top_k=15' \
  --form 'overlapping=128'

レスポンスフィールド

  • rag_id:取得/削除操作で使用するナレッジベース ID。
  • file_name:PDF 名または URL ソース名。
  • status:processing、processed、または error。
  • source_type:pdf または url。
  • language_support:multilingual または null。

一覧のレスポンスには vector_id が含まれます。これは、エージェントが RAG の接続に使用する ID です。

処理が完了するまでポーリングする

curl --request GET \
  --url "https://api.bolna.ai/knowledgebase/$RAG_ID" \
  --header "Authorization: Bearer $BOLNA_API_KEY"

ステータスが processed になるまでは、ナレッジベースをエージェントに接続しないでください。

エージェントに接続する

エージェントの作成時または更新時に、LLM をナレッジベースエージェントとして設定し、処理済みのベクター ID をベクトルストアプロバイダーの設定に含めます。エージェントの設定全体については、create-agent を使用してください。

削除する

curl --request DELETE \
  --url "https://api.bolna.ai/knowledgebase/$RAG_ID" \
  --header "Authorization: Bearer $BOLNA_API_KEY"

先に削除を確認してください。そのベクターを使用しているエージェントは、そのソースから回答できなくなる場合があります。

Bolna エージェントに接続する

エージェント設定で、agent_type: "knowledgebase_agent" を使用し、vector_id を 1 つ以上指定します。

{
  "llm_agent": {
    "agent_type": "knowledgebase_agent",
    "agent_flow_type": "streaming",
    "llm_config": { "provider": "openai", "model": "gpt-4o", "max_tokens": 200, "temperature": 0.3 },
    "vector_store": {
      "provider": "lancedb",
      "provider_config": {
        "vector_ids": ["<vector_id_1>", "<vector_id_2>"],
        "similarity_top_k": 8
      }
    }
  }
}

グラフエージェントの場合は、個々のノードの rag_config を使ってノードごとに接続します。bolna-graph-agents/references/edges-and-routing.md と、bolna-graph-agents/assets/full-example.json の例を参照してください。

スクリプト

python3 create-knowledgebase/scripts/create_knowledgebase.py \
  --file /path/to/manual.pdf \
  --multilingual

調整項目

調整項目デフォルト効果
chunk_size512チャンクが大きいほど、検索時のコンテキストが増え、照合の精度は低下します。
overlapping128チャンク間の重なりです。値を大きくすると、境界をまたぐ回答の取りこぼしを防ぎやすくなります。
similarity_top_k15取得するチャンク数です。回答を絞り込む場合は小さく、幅広い統合を行う場合は大きくします。
language_supportnull英語以外のドキュメントや言語をまたいだ検索には、multilingual を設定します。

関連項目

  • create-agent — ベクトル接続を含む knowledgebase_agent の例。
  • bolna-graph-agents — rag_config を使ったノードごとの RAG。
  • https://raw.githubusercontent.com/bolna-ai/skills/main/references/prompting-tips.md — 取得したチャンクを使って回答する際の、ハルシネーションを防ぐためのガイダンス。

コメント