> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Jinba Knowledge Base

> AIワークフロー強化のためのJinbaナレッジベースの更新と管理

## 概要

Jinba Knowledge Baseツールを使用すると、Jinbaエコシステム内のナレッジベースへのファイル追加や、既存ファイルの更新ができます。これらのツールにより、最新の情報リポジトリを維持し、ベクトル検索などの他のツールやワークフローからアクセスして、AI駆動の運用を強化できます。

## 主な機能

* `JINBA_KNOWLEDGE_BASE_FILE_ADD`: チャンク設定を指定してナレッジベースにファイルを追加
* `JINBA_KNOWLEDGE_BASE_UPDATE`: ナレッジベース内の既存ファイルを新しいコンテンツで更新
* ベクトル検索機能との統合
* 同期・非同期の実行モード（チャンク処理の完了を待つか、即座に返すかを選択可能）

## 認証

これらのツールは config の `token` にワークスペースシークレットキーを指定して認証します。デフォルトで `{{ secrets.JINBAFLOW_WS_API_KEY }}` が使用されるため、通常は明示的に設定する必要はありません。

## ツール

### JINBA\_KNOWLEDGE\_BASE\_FILE\_ADD

ナレッジベースにファイルを追加します。

**入力**:

| パラメータ             | 型             | 必須  | 説明                                                                                                               |
| ----------------- | ------------- | --- | ---------------------------------------------------------------------------------------------------------------- |
| `knowledgeBaseId` | string        | はい  | 追加先のナレッジベース                                                                                                      |
| `file`            | string        | はい  | Base64 エンコードされたファイル内容、または `https://` か `data:` で始まるファイル URL                                                      |
| `filename`        | string        | はい  | ファイル名（拡張子はファイルから自動判定）                                                                                            |
| `metadata`        | string (JSON) | いいえ | ファイルに付与する任意のメタデータ                                                                                                |
| `chunkerSettings` | object        | いいえ | チャンク設定: `chunkSize`（1〜8192、デフォルト: 512）、`chunkOverlap`（0〜2048、デフォルト: 128）、`chunkingIdentifier`（デフォルト: `"\\n\\n"`） |
| `executionMode`   | string        | いいえ | チャンク処理の完了を待つ場合は `SYNCHRONOUS`、即座に返す場合は `ASYNCHRONOUS`（デフォルト: `ASYNCHRONOUS`）                                     |

**出力**:

| フィールド             | 型      | 説明                                                   |
| ----------------- | ------ | ---------------------------------------------------- |
| `knowledgeBaseId` | string | ナレッジベースのID                                           |
| `fileId`          | string | 追加されたファイルのID                                         |
| `filename`        | string | 追加されたファイル名                                           |
| `status`          | string | 処理ステータス: `pending`、`processing`、`completed`、`failed` |
| `contentType`     | string | ファイルのコンテンツタイプ                                        |
| `size`            | string | ファイルサイズ                                              |
| `chunkCount`      | number | 作成されたチャンク数                                           |
| `createdAt`       | string | 作成日時                                                 |

### JINBA\_KNOWLEDGE\_BASE\_UPDATE

ナレッジベース内の既存ファイルを新しいコンテンツで更新します。

**入力**:

| パラメータ                 | 型      | 必須  | 説明                                                                          |
| --------------------- | ------ | --- | --------------------------------------------------------------------------- |
| `knowledgeBaseId`     | string | はい  | 対象のナレッジベース                                                                  |
| `knowledgeBaseFileId` | string | はい  | 更新する既存のナレッジベースファイルID                                                        |
| `fileUrl`             | string | はい  | 更新に使用するファイルのURL                                                             |
| `updateType`          | string | いいえ | 更新方法。`FULL_REFRESH` はナレッジベース内のファイルを置き換えます（デフォルト: `FULL_REFRESH`）            |
| `executionMode`       | string | いいえ | チャンク処理の完了を待つ場合は `SYNCHRONOUS`、即座に返す場合は `ASYNCHRONOUS`（デフォルト: `SYNCHRONOUS`） |

**出力**:

| フィールド             | 型      | 説明                                                   |
| ----------------- | ------ | ---------------------------------------------------- |
| `knowledgeBaseId` | string | ナレッジベースのID                                           |
| `fileId`          | string | 更新されたファイルのID                                         |
| `filename`        | string | 更新されたファイル名                                           |
| `status`          | string | 処理ステータス: `pending`、`processing`、`completed`、`failed` |
| `chunkCount`      | number | 作成されたチャンク数                                           |

## 使用例

### 例：ナレッジベースにファイルを追加する

```yaml theme={null}
- id: add_file_to_kb
  tool: JINBA_KNOWLEDGE_BASE_FILE_ADD
  input:
    - name: knowledgeBaseId
      value: "{{secrets.KNOWLEDGE_BASE_ID}}"
    - name: file
      value: "https://example.com/product-manual.pdf"
    - name: filename
      value: "product-manual.pdf"
    - name: executionMode
      value: "SYNCHRONOUS"
    - name: chunkerSettings
      value:
        chunkSize: 512
        chunkOverlap: 128
        chunkingIdentifier: "\\n\\n"
```

### 例：既存のナレッジベースファイルを更新する

```yaml theme={null}
- id: update_kb_file
  tool: JINBA_KNOWLEDGE_BASE_UPDATE
  input:
    - name: knowledgeBaseId
      value: "{{secrets.KNOWLEDGE_BASE_ID}}"
    - name: knowledgeBaseFileId
      value: "{{secrets.FILE_ID}}"
    - name: fileUrl
      value: "https://example.com/updated-product-manual.pdf"
    - name: updateType
      value: "FULL_REFRESH"
    - name: executionMode
      value: "SYNCHRONOUS"
```

### 例：レポートを生成してナレッジベースに保存する

```yaml theme={null}
- id: create_report
  tool: OUTPUT_FILE
  input:
    - name: content
      value: |
        # 週次サポートサマリー
        {{steps.summarize_tickets.result.content}}
    - name: filename
      value: "support_summary_{{date | format('YYYY-MM-DD')}}.md"
    - name: fileType
      value: "md"

- id: add_report_to_kb
  tool: JINBA_KNOWLEDGE_BASE_FILE_ADD
  input:
    - name: knowledgeBaseId
      value: "{{secrets.KNOWLEDGE_BASE_ID}}"
    - name: file
      value: "{{steps.create_report.result.url}}"
    - name: filename
      value: "support_summary_{{date | format('YYYY-MM-DD')}}.md"
    - name: executionMode
      value: "ASYNCHRONOUS"
```

## 用途

* 製品ドキュメントと変更履歴の維持
* 包括的なトラブルシューティングガイドの構築
* ワークフロードキュメントリポジトリの作成
* ベストプラクティスとガイドラインの保存
* FAQとサポートナレッジベースの構築
* RAG検索の情報ソースを自動で最新に維持

## ベストプラクティス

* 後から識別しやすいよう、わかりやすいファイル名を使用する
* コンテンツに合わせて `chunkerSettings` を調整する：小さいチャンク（256〜512）は精緻な検索向け、大きいチャンク（1024〜2048）は文脈維持向け
* 後続ステップがファイルの検索可否に依存する場合は `SYNCHRONOUS` を使用する
* 大きなファイルはフローをブロックしないよう `ASYNCHRONOUS` を使用する
* 検索で利用する前に出力の `status`（`pending` / `processing` / `completed` / `failed`）を確認する
* 重複追加を避け、既存ファイルは `JINBA_KNOWLEDGE_BASE_UPDATE` で更新する
