大規模言語モデルに基づいたドキュメント理解とセマンティック検索フレームワーク。企業知識ベースとRAGアプリケーション向けに設計。
WeKnora - テンセントがオープンソース化したエンタープライズ向けドキュメントQ&Aフレームワーク
プロジェクト概要
WeKnoraは、テンセントがオープンソース化した、大規模言語モデル(LLM)ベースのドキュメント理解およびセマンティック検索フレームワークです。構造が複雑で内容が異種混在のドキュメントシナリオ向けに特化して開発されました。このフレームワークは、モジュール型アーキテクチャを採用し、マルチモーダル前処理、セマンティックベクトルインデックス、スマートリトリーバル、および大規模言語モデルによる生成推論を融合することで、効率的で制御可能なドキュメントQ&Aプロセスを構築します。
公式サイト:https://weknora.weixin.qq.com
GitHubアドレス:https://github.com/Tencent/WeKnora
オープンソースライセンス:MIT License
主要機能
🔍 精度の高い理解
- PDF、Word、画像など、多様なドキュメント形式からの構造化コンテンツ抽出をサポート
- 画像とテキストが混在するコンテンツやOCR文字認識に対応し、セマンティックビューを統一的に構築
- 複雑な構造や異種混在のコンテンツを処理するスマートドキュメント解析
🧠 スマート推論
- RAG(Retrieval-Augmented Generation)技術に基づいています
- 大規模言語モデルを活用し、ドキュメントのコンテキストとユーザーの意図を理解
- 精度の高いQ&Aと多段階対話をサポート
🔧 柔軟な拡張性
- 解析、埋め込み、リトリーバルから生成までの全プロセスを疎結合化
- モジュール型設計により、各コンポーネントを柔軟に設定・拡張可能
- 統合とカスタム開発が容易
⚡ 高効率な検索
- キーワード、ベクトル、ナレッジグラフなど、複数の検索戦略を組み合わせ
- BM25、Dense Retrieve、GraphRAGなどの検索メカニズムをサポート
- リトリーバル-再ランキング-生成プロセスを自由に組み合わせ可能
🎯 簡単な操作性
- 直感的なWebインターフェースと標準RESTful API
- 技術的な障壁なしにすぐに使い始められる
- ドキュメントをドラッグ&ドロップでアップロードし、ワンクリックでサービスをデプロイ
🔒 安全性と制御性
- ローカル環境およびプライベートクラウドへのデプロイをサポート
- データは完全に自己管理可能
- エンタープライズレベルのセキュリティ要件を満たす
利用シーン
| 利用シーン | 具体的な応用 | コアバリュー |
|---|---|---|
| 企業ナレッジ管理 | 社内ドキュメント検索、規定Q&A、操作マニュアル検索 | ナレッジ検索効率の向上、トレーニングコストの削減 |
| 研究文献分析 | 論文検索、研究レポート分析、学術資料整理 | 文献調査の加速、研究意思決定の支援 |
| 製品技術サポート | 製品マニュアルQ&A、技術ドキュメント検索、トラブルシューティング | 顧客サービス品質の向上、技術サポート負担の軽減 |
| 法務コンプライアンス審査 | 契約条項検索、法規制・ポリシー検索、判例分析 | コンプライアンス効率の向上、法的リスクの低減 |
| 医療知識支援 | 医学文献検索、診療ガイドライン検索、症例分析 | 臨床意思決定の支援、診療品質の向上 |
機能モジュールの詳細
ドキュメント処理能力
- 対応フォーマット:PDF、Word、Txt、Markdown、画像(OCRおよびキャプションを含む)
- スマート解析:ドキュメント構造を自動認識し、コアコンテンツを抽出
- マルチモーダル処理:画像とテキストが混在するコンテンツの統一的な理解
ベクトル化と検索
- 埋め込みモデル:ローカルモデル、BGE、GTE APIなどをサポート
- ベクトルデータベース:PostgreSQL(pgvector)、Elasticsearch
- 検索戦略:BM25スパース検索、Dense Retrieve密検索、GraphRAGナレッジグラフ検索
大規模言語モデル連携
- 対応モデル:Qwen(通義千問)、DeepSeekなど主要な大規模言語モデル
- デプロイ方法:ローカルデプロイ(Ollama)または外部API呼び出し
- 推論モード:思考/非思考モードの切り替えをサポート
ナレッジグラフ機能
WeKnoraは、ドキュメントをナレッジグラフに変換し、ドキュメント内の異なる段落間の関連性を示す機能をサポートしています。ナレッジグラフ機能を有効にすると、システムはドキュメント内部のセマンティック関連ネットワークを分析・構築し、ユーザーがドキュメント内容を理解するのを助けるだけでなく、インデックス作成と検索のための構造化されたサポートを提供します。
技術アーキテクチャ
プロジェクト構造
WeKnora/
├── cmd/ # アプリケーションのエントリポイント
├── internal/ # コアビジネスロジック
├── config/ # 設定ファイル
├── migrations/ # データベースマイグレーションスクリプト
├── scripts/ # 起動およびツールスクリプト
├── services/ # 各サブサービスの実装
├── frontend/ # フロントエンドプロジェクト
└── docs/ # プロジェクトドキュメント
コアモジュール
- ドキュメント解析モジュール:多様な形式のドキュメントコンテンツ抽出と構造化
- ベクトル化処理モジュール:ドキュメントコンテンツのセマンティックベクトル化
- 検索エンジンモジュール:複数戦略による検索とリトリーバル
- 大規模言語モデル推論モジュール:コンテキストベースのスマートQ&A生成
クイックスタート
環境要件
- Docker
- Docker Compose
- Git
インストール手順
コードリポジトリのクローン
git clone https://github.com/Tencent/WeKnora.git cd WeKnora環境変数の設定
cp .env.example .env # .env ファイルを編集し、コメントに従って関連設定を入力してくださいサービスの起動
# 全サービスをワンクリックで起動 ./scripts/start_all.sh # または make コマンドを使用 make start-allサービスへのアクセス 起動成功後、以下のURLにアクセスできます:
- Web UI:http://localhost
- バックエンドAPI:http://localhost:8080
- トレース(Jaeger):http://localhost:16686
サービスの停止
./scripts/start_all.sh --stop
# または
make stop-all
WeChatエコシステム連携
WeKnoraはWeChat対話オープンプラットフォームのコア技術フレームワークとして、以下の機能を提供します:
- ノーコードデプロイ:知識をアップロードするだけで、WeChatエコシステム内でスマートQ&Aサービスを迅速にデプロイ可能
- 効率的な質問管理:高頻度質問の独立した分類管理をサポート
- WeChatエコシステム対応:公式アカウント、ミニプログラムなどのWeChatシナリオにシームレスに統合可能
APIインターフェース
WeKnoraは、以下の機能をサポートする完全なRESTful APIインターフェースを提供します:
- ドキュメントのアップロードと管理
- ナレッジベース操作
- Q&Aクエリ
- システム設定
詳細なAPIドキュメントは以下を参照してください:API Documentation
開発と貢献
貢献の種類
- 🐛 バグ修正:システム欠陥の発見と修正
- ✨ 新機能:新機能の提案と実装
- 📚 ドキュメント改善:プロジェクトドキュメントの充実
- 🧪 テストケース:単体テストと統合テストの作成
- 🎨 UI/UX最適化:ユーザーインターフェースとエクスペリエンスの改善
開発ガイドライン
- Go Code Review Commentsに準拠
gofmtを使用してコードをフォーマット- 必要な単体テストを追加
- 関連ドキュメントを更新
- Conventional Commits規範を使用
提出プロセス
- プロジェクトを個人のGitHubアカウントにフォーク
- フィーチャーブランチを作成:
git checkout -b feature/amazing-feature - 変更をコミット:
git commit -m 'Add amazing feature' - ブランチをプッシュ:
git push origin feature/amazing-feature - プルリクエストを作成し、変更内容を詳細に記述
利点と特徴
- エンタープライズレベルの安定性:テンセントチームが開発し、大規模な本番環境で検証済み
- すぐに使える:Dockerワンクリックデプロイ、直感的なWebインターフェース操作
- 先進技術:最新のRAG技術と大規模言語モデル能力に基づいています
- 高いカスタマイズ性:モジュール型設計により、柔軟な拡張と統合をサポート
- データセキュリティ:プライベートデプロイをサポートし、データは完全に自己管理可能
- エコシステム連携:WeChatエコシステムと深く統合し、多様なシナリオでの応用をサポート
まとめ
WeKnoraは、強力で先進的な機能を備えたエンタープライズ向けドキュメントQ&Aフレームワークです。完全なRAG技術スタックを提供するだけでなく、優れた使いやすさと拡張性も兼ね備えています。企業内部のナレッジ管理、研究文献分析、顧客サービスサポートなど、どのようなシナリオにおいても、WeKnoraは効率的で正確なソリューションを提供できます。
オープンソース化を通じて、WeKnoraは広範な開発者と企業に高品質な出発点を提供し、スマートドキュメントQ&Aシステムの構築をシンプルかつ効率的にします。