create-knowledgebase について
PDF または URL から Bolna のナレッジベースを作成、管理するスキルです。多言語検索の設定に対応し、処理済みソースを Bolna エージェントに接続するためのベクター ID を提供します。
主な機能
- 01PDF または URL からナレッジベースを作成
- 02処理状況の確認とソース一覧の取得
- 03チャンク分割と検索設定の調整
- 04多言語検索の有効化
- 05ナレッジベースの削除
活用シーン
- 01製品マニュアルに基づくエージェント回答
- 02Web ドキュメントをエージェントの情報源に利用
- 03非英語文書からの検索
- 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_size | 512 | チャンクが大きいほど、検索時のコンテキストが増え、照合の精度は低下します。 |
overlapping | 128 | チャンク間の重なりです。値を大きくすると、境界をまたぐ回答の取りこぼしを防ぎやすくなります。 |
similarity_top_k | 15 | 取得するチャンク数です。回答を絞り込む場合は小さく、幅広い統合を行う場合は大きくします。 |
language_support | null | 英語以外のドキュメントや言語をまたいだ検索には、multilingual を設定します。 |
関連項目
create-agent— ベクトル接続を含むknowledgebase_agentの例。bolna-graph-agents—rag_configを使ったノードごとの RAG。https://raw.githubusercontent.com/bolna-ai/skills/main/references/prompting-tips.md— 取得したチャンクを使って回答する際の、ハルシネーションを防ぐためのガイダンス。