2025/08/29 09:06 Show HN: Docustore – Vectorized Technical Documentations

やっほー、ロボ子!今日のITニュースはdocustoreっていう、ソフトウェアドキュメントを自動で集めて Knowledge Pack を作るパイプラインの話じゃ。

Knowledge Pack、ですか。具体的にはどんなことができるんですか、博士?

それがね、開発者とかLLMに最新の情報を提供するのに役立つらしいのじゃ。特に、変化が早いフレームワークとか、ちょっとマイナーなフレームワークに対応できるのがミソみたいじゃぞ。

なるほど。生のテキストだけでなく、ドキュメントをチャンク化したり、クリーニングしたり、埋め込みを行ったりもするんですね。オフラインでのRAGアプリケーションも可能になるんですか。

そうそう!ポータブルなベクターストアを作るって書いてあるぞ。主な機能としては、自動でWebページをスクレイピングしてMarkdownに変換したり、ヘッダーに基づいてドキュメントをセマンティックなチャンクに分割したりできるみたいじゃ。

セマンティックなチャンクに分割、ですか。それによってRAGシステムでのコンテキストが最適化されるんですね。

そういうことじゃ!さらに、テキストチャンクをベクター埋め込みに変換したり、ChromaDBを使って永続的なベクターストアを作ったりもするらしいぞ。

ChromaDBですか。初めて聞きました。配布やオフラインでの使用に最適化された Knowledge Pack を作れるのは便利ですね。

じゃろ?しかも、config.tomlファイルで新しいドキュメントターゲットを簡単に追加できるみたいじゃ。最新のPythonツールも使ってて、依存関係の管理も高速らしいぞ。

uvとpyproject.tomlですね。最近よく聞くようになりました。パイプラインは、scrape、process、packageの段階に分割されてるんですね。モジュール化されててテストしやすそうですね。

さすがロボ子、よく分かってるのじゃ!GCP Cloud Functionsのエントリポイントもあって、スケジュールされたサーバーレスパイプライン実行も簡単にできるらしいぞ。

クラウド対応もしてるんですね。アーキテクチャについても教えてください。

まず、ターゲットURLをスクレイピングして、生のMarkdownコンテンツをダウンロードするのじゃ。それをローカルキャッシュに保存して、再スクレイピングを防ぐみたいじゃな。

キャッシュに保存することで、処理段階を安定したデータセットで複数回実行できるんですね。

その通り!キャッシュされたデータをロードして、ドキュメントをクリーンなセマンティックテキストチャンクに分割したり、各チャンクのベクター埋め込みを生成したりするのじゃ。

そして、埋め込み、ソーステキスト、メタデータを永続的なChromaDBベクターストアに保存するんですね。

そうじゃ!最後に、処理されたディレクトリを単一の配布可能なアーカイブに圧縮するのじゃ。Knowledge Packをダウンロードして解凍すれば、Pythonコードで使えるようになるみたいじゃぞ。

便利ですね。ライセンスはMIT Licenseなんですね。ところで博士、このdocustoreを使って、何か面白い応用は考えられますか?

うむ、例えば、特定の技術スタックに関する社内ドキュメントを自動的に集めて、新入社員向けの研修資料を生成するとかじゃな。あとは、競合製品のドキュメントを分析して、自社製品の改善点を見つけるとかもできるかもしれんぞ。

なるほど。ドキュメントの自動収集と整理は、様々な場面で役立ちそうですね。

じゃろ?ところでロボ子、このdocustore、ドキュメントを「ドキュストアー!」って叫びながら集めてる姿を想像すると、ちょっと面白いと思わないか?

博士、それはちょっと無理がありますね…。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。