# チーフインテリジェンスオフィサー (Wiseflow)
**[中文](README_CN.md) | [English](README.md) | [Français](README_FR.md) | [Deutsch](README_DE.md)**
**チーフインテリジェンスオフィサー** (Wiseflow) は、ウェブサイト、WeChat公式アカウント、ソーシャルプラットフォームなどのさまざまな情報源から簡潔なメッセージを抽出し、タグ付けしてデータベースに自動的にアップロードするためのアジャイルな情報マイニングツールです。
私たちが必要なのは情報ではなく、膨大な情報の中からノイズを取り除き、価値のある情報を浮き彫りにすることです!
チーフインテリジェンスオフィサーがどのようにして時間を節約し、無関係な情報をフィルタリングし、注目すべきポイントを整理するのかをご覧ください!
https://github.com/TeamWiseFlow/wiseflow/assets/96130569/bd4b2091-c02d-4457-9ec6-c072d8ddfb16
## 🔥 V0.3.0 重要なアップデート
- ✅ GNE(オープンソースプロジェクト)とLLMを使用して再構築した新しい汎用ウェブページコンテンツパーサー。90%以上のニュースページに適応可能。
- ✅ 新しい非同期タスクアーキテクチャ。
- ✅ 新しい情報抽出とタグ分類戦略。より正確で繊細な情報を提供し、9BサイズのLLMのみで完璧にタスクを実行します。
## 🌟 主な機能
- 🚀 **ネイティブ LLM アプリケーション**
コストを最大限に抑え、データセンシティブなユーザーがいつでも完全にローカルデプロイに切り替えられるよう、最適な7B~9Bオープンソースモデルを慎重に選定しました。
- 🌱 **軽量設計**
ベクトルモデルを使用せず、システム負荷が小さく、GPU不要であらゆるハードウェア環境に対応します。
- 🗃️ **インテリジェントな情報抽出と分類**
様々な情報源から自動的に情報を抽出し、ユーザーの関心に基づいてタグ付けと分類を行います。
😄 **Wiseflowは特にWeChat公式アカウントの記事から情報を抽出するのが得意です**。そのため、mp記事専用パーサーを設定しました!
- 🌍 **任意のRAGプロジェクトに統合可能**
任意のRAGプロジェクトの動的ナレッジベースとして機能し、Wiseflowのコードを理解せずとも、データベースからの読み取り操作だけで利用できます!
- 📦 **人気のPocketBaseデータベース**
データベースとインターフェースにPocketBaseを使用。Webインターフェースに加え、Go/JavaScript/PythonなどのAPIもあります。
- Go: https://pocketbase.io/docs/go-overview/
- JavaScript: https://pocketbase.io/docs/js-overview/
- Python: https://github.com/vaphes/pocketbase
## 🔄 Wiseflowと一般的なクローラツール、RAGプロジェクトとの違いと関連性
| 特徴 | チーフインテリジェンスオフィサー (Wiseflow) | クローラ / スクレイパー | RAGプロジェクト |
|---------------|---------------------------------|------------------------------------------|--------------------------|
| **解決する主な問題** | データ処理(フィルタリング、抽出、タグ付け) | 生データの取得 | 下流アプリケーション |
| **関連性** | | Wiseflowに統合して、より強力な生データ取得能力を持たせる | 動的ナレッジベースとしてWiseflowを統合可能 |
## 📥 インストールと使用方法
チーフインテリジェンスオフィサーはハードウェアの要件がほとんどなく、システム負荷が小さく、専用GPUやCUDAを必要としません(オンラインLLMサービスを使用する場合)。
1. **コードリポジトリをクローン**
😄 いいねやフォークは良い習慣です
```bash
git clone https://github.com/TeamWiseFlow/wiseflow.git
cd wiseflow
```
2. **設定**
ディレクトリ内の `env_sample` をコピーして `.env` に名前を変更し、以下に従って設定情報(LLMサービスのトークンなど)を入力します。
- LLM_API_KEY # 大規模モデル推論サービスのAPIキー(OpenAIサービスを使用する場合は、この項目を削除しても問題ありません)
- LLM_API_BASE # 本プロジェクトはOpenAI SDKに依存しているため、モデルサービスがOpenAIインターフェースをサポートしていれば、この項目を設定することで正常に使用できます(OpenAIサービスを使用する場合は、この項目を削除しても問題ありません)
- WS_LOG="verbose" # デバッグ観察を有効にするかどうかを設定(必要がなければ削除してください)
- GET_INFO_MODEL # 情報抽出とタグ付けタスクのモデル(デフォルトは gpt-3.5-turbo)
- REWRITE_MODEL # 類似情報の統合と再書きタスクのモデル(デフォルトは gpt-3.5-turbo)
- HTML_PARSE_MODEL # ウェブ解析モデル(GNEアルゴリズムの効果が不十分な場合に自動で有効化)(デフォルトは gpt-3.5-turbo)
- PROJECT_DIR # キャッシュおよびログファイルの保存場所(コードリポジトリからの相対パス)。デフォルトではコードリポジトリ。
- PB_API_AUTH='email|password' # pbデータベースの管理者のメールアドレスとパスワード(最初に使用する際は、メールアドレスとパスワードを考えて、ここに事前に入力しておいてください。注意:メールアドレスは必須で、架空のメールアドレスでも構いません)
- PB_API_BASE # 通常の使用ではこの項目は不要です。PocketBaseのデフォルトのローカルインターフェース(8090)を使用しない場合にのみ必要です。
3. **モデルの推奨**
何度もテストを行った結果(中国語と英語のタスク)、総合的な効果と価格の面で、**GET_INFO_MODEL**、**REWRITE_MODEL**、**HTML_PARSE_MODEL** の三つについては、 **"zhipuai/glm4-9B-chat"**、**"alibaba/Qwen2-7B-Instruct"**、**"alibaba/Qwen2-7B-Instruct"** をそれぞれ推奨します。
これらのモデルは本プロジェクトに非常に適合し、指示の遵守性が安定しており、生成効果も優れています。本プロジェクトに関連するプロンプトもこれら三つのモデルに対して最適化されています。(**HTML_PARSE_MODEL** には **"01-ai/Yi-1.5-9B-Chat"** も使用可能で、実際にテストしたところ非常に良好な結果が得られました)
⚠️ また、より低価格でより速い速度とより高い無料クオータを提供する **SiliconFlow** のオンライン推論サービスを強く推奨します!⚠️
SiliconFlow のオンライン推論サービスはOpenAI SDKと互換性があり、上記の三つのモデルのオープンサービスも提供しています。LLM_API_BASE を "https://api.siliconflow.cn/v1" に設定し、LLM_API_KEY を設定するだけで使用できます。
😄 もしよろしければ、私の[招待リンク](https://cloud.siliconflow.cn?referrer=clx6wrtca00045766ahvexw92)を使ってください。私もトークン報酬をさらに受け取ることができます 😄
4. **ローカルデプロイメント**
ご覧の通り、このプロジェクトは 7B/9B LLM を使用しており、ベクトルモデルを必要としません。つまり、RTX 3090 (24GB VRAM) を使用するだけで、このプロジェクトを完全にローカルにデプロイできます。
ローカルの LLM サービスが OpenAI SDK と互換性があることを確認し、LLM_API_BASE を適切に設定してください。
5. **プログラムの実行**
**通常のユーザーには、Docker を使用して首席情報官(Chief Intelligence Officer)を実行することを強くお勧めします。**
📚 開発者向けの詳細については、[/core/README.md](/core/README.md) を参照してください。
PocketBase を通じて取得したデータにアクセスするには:
- http://127.0.0.1:8090/_/ - 管理者ダッシュボード UI
- http://127.0.0.1:8090/api/ - REST API
- https://pocketbase.io/docs/ その他の情報を確認
6. **スケジュールされたソーススキャンの追加**
プログラムを開始した後、PocketBase 管理者ダッシュボード UI (http://127.0.0.1:8090/_/) を開きます。
**sites** フォームを開きます。
このフォームを通じてカスタムソースを指定でき、システムはバックグラウンドタスクを開始し、ローカルでソースのスキャン、解析、分析を行います。
sites フィールドの説明:
- url: ソースの URL。特定の記事ページを指定する必要はなく、記事リストページを指定するだけで構いません。Wiseflow クライアントには 2 つの一般的なページパーサーが含まれており、ニュースタイプの静的ウェブページの 90% 以上を効果的に取得し、解析できます。
- per_hours: スキャン頻度、単位は時間、整数型(範囲 1~24;1日1回以上のスキャン頻度は推奨しないため、24に設定してください)。
- activated: 有効化するかどうか。オフにするとソースが無視され、後で再びオンにできます。オンとオフの切り替えには Docker コンテナの再起動は不要で、次のスケジュールタスク時に更新されます。
## 🛡️ ライセンス
このプロジェクトは [Apache 2.0](LICENSE) ライセンスの下でオープンソースです。
商用利用やカスタマイズの協力については、**メール: 35252986@qq.com** までご連絡ください。
- 商用顧客の方は、登録をお願いします。この製品は永久に無料であることをお約束します。
- カスタマイズが必要な顧客のために、ソースとビジネスニーズに応じて以下のサービスを提供します:
- お客様のビジネスシーンソース用の専用クローラーとパーサー
- カスタマイズされた情報抽出と分類戦略
- 特定の LLM 推奨または微調整サービス
- プライベートデプロイメントサービス
- UI インターフェースのカスタマイズ
## 📬 お問い合わせ情報
ご質問やご提案がありましたら、[issue](https://github.com/TeamWiseFlow/wiseflow/issues) を通じてお気軽にお問い合わせください。
## 🤝 このプロジェクトは以下の優れたオープンソースプロジェクトに基づいています:
- GeneralNewsExtractor (統計学習に基づくニュースウェブページ本文の一般抽出器) https://github.com/GeneralNewsExtractor/GeneralNewsExtractor
- json_repair (無効な JSON ドキュメントの修復) https://github.com/josdejong/jsonrepair/tree/main
- python-pocketbase (Python 用 PocketBase クライアント SDK) https://github.com/vaphes/pocketbase
# 引用
このプロジェクトの一部または全部を関連する作業で参照または引用する場合は、以下の情報を明記してください:
```
Author: Wiseflow Team
https://openi.pcl.ac.cn/wiseflow/wiseflow
https://github.com/TeamWiseFlow/wiseflow
Licensed under Apache2.0
```