# チーフインテリジェンスオフィサー (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 sample.png ## 🔥 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 conda create -n wiseflow python=3.10 conda activate wiseflow cd core pip install -r requirement.txt ``` `core/scripts` ディレクトリのスクリプトを使用して `pb`、`task`、`backend` を起動できます(スクリプトファイルを `core` ディレクトリに移動してください)。 **注意:** - 必ず最初に `pb` を起動してください。`task` と `backend` は独立したプロセスであり、どちらを先に起動しても構いませんし、必要に応じてどちらか一方だけを起動することもできます。 - まず、[ここ](https://pocketbase.io/docs/) から自分のデバイスに対応する PocketBase クライアントをダウンロードし、`/core/pb` ディレクトリに配置してください。 - `pb` の実行に関する問題(初回実行時のエラーなどを含む)については、[`core/pb/README.md`](/core/pb/README.md) を参照してください。 - 使用する前に、`.env` ファイルを作成し編集して、wiseflow コードリポジトリのルートディレクトリ(`core` ディレクトリの上位)に配置してください。.env ファイルは `env_sample` を参照できます。詳細な設定手順は下記をご覧ください。 - Docker 方式の使用を強くお勧めします。詳細は以下の 5 番目の項目をご覧ください。 📚 開発者向けの詳細については、[/core/README.md](/core/README.md) を参照してください。 PocketBase を通じて取得したデータにアクセスするには: - http://127.0.0.1:8090/_/ - 管理者ダッシュボード UI - http://127.0.0.1:8090/api/ - REST API 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. **プログラムの実行** ```bash docker compose up ``` **注意:** - 上記のコマンドを wiseflow コードリポジトリのルートディレクトリで実行してください。 - 実行前に、`.env` ファイルを Dockerfile と同じディレクトリ(wiseflow コードリポジトリのルートディレクトリ)に作成して編集してください。.env ファイルは `env_sample` を参照できます。 - 初めて Docker コンテナを実行する際にエラーが発生することがあります。これは、`pb` リポジトリにまだ管理者アカウントを作成していないためで、通常の現象です。 この時、コンテナを閉じずに、ブラウザで `http://127.0.0.1:8090/_/` を開き、指示に従って管理者アカウントを作成してください(必ずメールを使用してください)。その後、作成した管理者のメールアドレス(再度強調しますが、必ずメールを使用してください)とパスワードを `.env` ファイルに記入し、コンテナを再起動してください。 6. **スケジュールされたソーススキャンの追加** プログラムを起動した後、PocketBase 管理ダッシュボードの UI を [http://127.0.0.1:8090/_/](http://127.0.0.1:8090/_/) で開きます。 6.1 **tagsフォーム**を開く このフォームでは、関心のあるポイントを指定できます。LLMはこの情報に基づいて、情報を精査、フィルタリング、分類します。 **tags フィールドの説明:** - `name`:関心のあるポイントの説明。**注意:具体的に記載すること**。良い例は `米中競争動向`、悪い例は `国際情勢`。 - `activated`:タグが有効かどうかを示します。無効にすると、このポイントは無視されます。オンとオフはDockerコンテナを再起動することなく切り替えでき、次回の定期タスク時に更新されます。 6.2 **sitesフォーム**を開く このフォームでは、カスタム情報源を指定できます。システムはバックグラウンドで定期タスクを開始し、これらの情報源をローカルでスキャン、解析、および分析します。 **sites フィールドの説明:** - url: ソースの URL。特定の記事ページを指定する必要はなく、記事リストページを指定するだけで構いません。 - 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 ```