データ取り込み
実世界のコンテンツをエージェントが扱える形に変換する処理。クロール、スクレイピング、PDF解析、ドキュメントの正規化などが含まれます。
12件
JavaScriptをレンダリングし、リンクを辿り、検索コーパスを汚染しがちなナビゲーションや定型部分を除去します。RAGの地味なほうの半分をきちんと解決してくれます。AGPLライセンスのため、サービスとして公開する計画がある場合は条項の確認が必要です。
文書をデータセットに取り込むと、どこで区切られたかがチャンク単位で画面に並び、おかしな箇所はその場で書き換えられます。回答には根拠となったチャンクが出典として付き、エージェントを組むキャンバスや取り込み処理を組み替えるパイプラインも同じ製品に含まれます。ただし文字認識・表構造認識・レイアウト解析のモデルが働くのはPDFと画像だけで、Word、Excel、PowerPointは構造をそのまま読む方式のため、公式ドキュメントもDOCXに同じ解析をかけたいならPDFへ変換するよう案内しています。動かすにはElasticsearch、MySQL、MinIO、Redisを含むDocker Compose構成を運用することになり、必要環境は4コア・16GB以上、解析の遅さは公式FAQ自身がLangChainと比べて認めています。すでに整ったテキストしか扱わず、自分のPythonアプリに検索処理を組み込みたいだけなら、LlamaIndexやHaystackのほうが軽く済みます。
自社の文書を対象にした検索は、モデルにたどり着く前に失敗していることがほとんどです。表のスキャンや2段組のPDFが、意味の読めない文字の塊になる地点で止まります。PaddleOCRはそこを支える層です。100を超える言語の文字を認識し、文書向けの処理はレイアウトが持っていた意味を保ちます。見出しは見出しのまま、表はセルの位置を伴う表として出力され、数式や印影も扱えます。出力形式はMarkdownまたはJSONです。モデルはCPUや端末側でも動く大きさに抑えられており、大量の文書をまとめて処理する費用が現実的になります。難点は土台となるフレームワークです。これはPaddlePaddleのプロジェクトであり、導入するとはそれを導入することを意味します。
ホスティング型クローラと同じ役割を、寛容なライセンスのセルフホストで果たします。抽出戦略をサイトごとに定義できます。サービスではなくライブラリであるため、プロキシの扱いやレート制限は自分で設計・管理することになります。
仕事ごとにフェッチャーを選びます。速度重視ならTLSフィンガープリントを偽装する素のHTTP、JavaScriptが要るページならPlaywright駆動のブラウザ、検出対策が要る相手ならヘッドレスの痕跡を消しCloudflare Turnstileも突破する強化ブラウザです。要素の選択はCSS・XPath・テキスト・構造的類似など6通りで、適応モードを有効にすると一致した要素の特徴を記録し、改修後のサイトでも同じ呼び出しで再発見します。0.4で加わったスパイダーは、重複排除・ドメイン別の同時実行制限・中断と再開・JSONやCSVへの出力を備えたクロールを担います。MCPサーバー経由ならコーディングエージェントが対話的にスクレイピングでき、ページはセレクタで絞ってからモデルに渡るのでトークンも節約されます。位置づけは1台で動く構造化抽出のライブラリです。サイト全体をMarkdown化するコーパス作りはCrawl4AIの領分で、Turnstile突破の機能とREADME自身の「教育・研究目的」という但し書きは緊張関係にあります。
テキスト抽出との違いは構造が残る点です。ページの版面、読み順、表のセル、コードブロック、数式が、平坦な文字列ではなく単一の文書表現の一部として出てきます。報告書の中の表がエージェントに届く時点でも表のままかどうかは、ここで決まります。処理は完全にローカルで実行でき、外部と切り離された環境でも動きます。その忠実さの代償は計算量です。各ページに機械学習モデルを走らせるため、その場で呼ぶ高速な変換器ではなく、見積もっておくべき処理として扱う必要があります。
エージェントはもともと任意のPythonライブラリを呼べますが、専門的なバイオインフォマティクスのパッケージを使わせると、初めて資料を読んだ人と同じ振る舞いをします。それらしく、しかし肝心なところで間違えます。これが補うのはその欠けた半分です。特定の科学ツールについて整理された使い方と実例を持つ160件超のスキルと、100種類ほどの公開データベースへの経路が、ゲノミクス、化学、創薬、プロテオミクス、臨床研究、医用画像、物理、地理空間の各分野にわたって用意されています。導入は1つのプラグインとしてでも、スキル単位でも行えます。ただし前提にする前に適用範囲の注記を読んでください。臨床・医療系のスキルは研究と事後的な検証のために書かれており、個々の患者に関する判断のためのものではないと明記されています。
自前の索引を持たず、1つの問い合わせを最大269の検索サービスへ投げて結果を統合します。商用の検索APIを背後に置かずにエージェントへWeb検索を与えられるのはこの仕組みによります。JSON形式のエンドポイントがあるため、ブラウザからだけでなくコードからも利用できます。索引を持たないことの帰結は2つあります。結果の質と可用性が上流の検索エンジンに依存すること、そしてそのどれかが自分のインスタンスを遮断し始めたとき、対処するのは自分だということです。
通常の検索は質問に似たチャンクを探すため、答えがどのチャンクにも書かれていない問い、たとえば全体の主題や2人の人物の関係といった問いには答えられません。GraphRAGは各文章から実体・関係・主張を抽出し、できたグラフをコミュニティに分割して要約し、その要約から回答します。代償は索引の構築時に支払われます。すべてのテキスト単位に対して、さらにすべてのコミュニティに対してモデルを走らせるため、構築コストは質問の回数ではなくコーパスの規模に比例します。
多くのメモリ層は上書き方式で、新しい事実が古い事実を置き換え、昨年時点の答えは取り出せなくなります。Graphitiは古い関係を「もう成立していない」と日付付きで印を付けるため、現在の真と当時の真の双方に問い合わせられます。さらに、出来事が起きた時点と、システムがそれを知った時点を区別します。遅れて届いた情報が過去を書き換えてしまわないのはこの仕組みによります。検索はベクトル類似度、全文検索、グラフ探索を組み合わせます。費用は具体的です。グラフデータベースを併走させる必要があり、取り込みのたびに実体と関係の抽出でモデルを呼びます。
Googleが自ら書いた運用知識を100件超のskillディレクトリに収めたリポジトリで、`npx skills add google/skills`から必要なものだけを選んで導入します。中心は`skills/cloud`で、GKEやBigQuery、Agent Platform、Well-Architected Frameworkの6つの柱までを扱い、`skills/ads`と`skills/analytics`にはGoogle Ads API、Google Mobile Ads SDK、IMA SDK、Google Analyticsの2種類のAPI向けのskillが並びます。厚みは一様ではなく、`skills/cloud/gke-*`だけで29件を占める一方、Cloud RunとFirebaseは各1件にとどまり、README自身がactive developmentの段階だと断っています。Google Cloudも広告・アナリティクス製品も使わない構成には得るものがなく、アプリ開発側の守備範囲もGoogle Mobile Ads SDKまでで、Android・Flutter・Dart・Genkit・ADKのskillはREADMEがリンクを張るだけの別リポジトリにあります。
馴染みのないライブラリを扱うエージェントは、同じドキュメントサイトを毎回ページ単位で読み直し、その分の費用を実行のたびに払います。Skill Seekersはその素材を一度だけ変換します。ドキュメントサイト、リポジトリ、PDF、Wiki、動画などを指定すると構造化された知識の資産を作り、そこからエージェント用のスキルや検索の仕組み向けに書き出せます。入力は18種類、出力先は20を超えるため、同じ変換結果をコーディング支援にも検索索引にも使えます。競合の検出も行います。同じドキュメントの異なる版が同時に読み込まれる、という形の失敗を防ぐためです。