wiseflow/README_JP.md
2025-01-21 23:05:25 +08:00

271 lines
19 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 首席情報官Wiseflow
**[English](README_EN.md) | [简体中文](README.md) | [한국어](README_KR.md)**
🚀 **AI情報官**Wiseflowは、大規模言語モデルの思考・分析能力を活用して、様々な情報源から特定の情報を正確に抽出できる俊敏な情報マイニングツールです。プロセス全体で人間の介入を必要としません。
**私たちが欠けているのは情報ではなく、大量の情報からノイズをフィルタリングし、価値ある情報を明らかにすることです**
🌱首席情報官がどのようにあなたの時間を節約し、無関係な情報をフィルタリングし、関心のあるポイントを整理するのかを見てみましょう!🌱
https://github.com/user-attachments/assets/fc328977-2366-4271-9909-a89d9e34a07b
## 🔥 V0.3.7 がリリースされました
今回のアップグレードでは、WeChat公式アカウントを情報源として追加できるwxbotの統合ソリューションを提供しました。詳細は[weixin_mp/README.md](./weixin_mp/README.md)をご覧ください。
また、WeChat公式アカウントの記事専用の抽出ツールを提供し、ユーザーが実際のニーズに応じてカスタマイズできるカスタム抽出インターフェースも設計しました。
今回のアップグレードでは、情報抽出機能もさらに強化されました。ページ内のリンク分析を大幅に最適化しただけでなく、7b、14bクラスのモデルでも複雑な注目点explanationに時間や指標の制限などを含むに基づく抽出を適切に実行できるようになりました。
さらに、今回のアップグレードではCrawl4ai 0.4.247バージョンに対応し、多くのプログラム改善を行いました。詳細は[CHANGELOG.md](./CHANGELOG.md)をご覧ください。
この段階で以下のコミュニティ貢献者のPRに感謝いたします
- @ourines がinstall_pocketbase.shスクリプトを提供dockerでの実行方法は一時的に削除されました。使いにくいと感じられたため...
- @ibaoger がWindows用のpocketbaseインストールスクリプトを提供
- @tusik が非同期llmラッパーを提供
**V0.3.7バージョンでSECONDARY_MODELを再導入しました。これは主に使用コストを削減するためです**
### V0.3.7 テストレポート
最新の抽出戦略では、7bクラスのモデルでもリンク分析と抽出タスクを適切に実行できることがわかりました。テスト結果は[report](./test/reports/wiseflow_report_v037_bigbrother666/README.md)をご参照ください。
ただし、情報要約タスクについては、引き続き32b以上のモデルの使用を推奨します。具体的な推奨事項は最新の[env_sample](./env_sample)をご参照ください。
引き続き、より多くのテスト結果の提出を歓迎し、様々な情報源でのwiseflowの最適な使用方法を共に探求していきましょう。
現段階では、**テスト結果の提出はプロジェクトコードの提出と同等**とみなされ、contributorとして受け入れられ、商業化プロジェクトへの参加招待も受けられます詳細は[test/README.md](./test/README.md)をご参照ください。
🌟**V0.3.x プラン**
- ~~WeChat公式アカウントのwxbotなしでの購読をサポートするV0.3.7done~~
- RSS情報源と検索エンジンのサポートを導入するV0.3.8;
- 部分的なソーシャルプラットフォームのサポートを試みるV0.3.9)。
## ✋ wiseflow と従来のクローラーツール、AI検索、知識ベースRAGプロジェクトの違いは何ですか
wiseflowは2024年6月末にV0.3.0バージョンをリリースして以来、オープンソースコミュニティから広く注目を集めており、さらに多くのメディアが自発的に報道してくれました。ここでまず感謝の意を表します!
しかし、私たちは一部の関心者がwiseflowの機能ポジションについていくつかの理解のズレを持っていることに気づきました。以下の表は、従来のクローラーツール、AI検索、知識ベースRAG類プロジェクトとの比較を通じて、wiseflowの最新の製品ポジションについての私たちの考えを表しています。
| | **首席情報官Wiseflow** との比較説明|
|-------------|-----------------|
| **クローラーツール** | まず、wiseflowはクローラーツールを基にしたプロジェクトですが、従来のクローラーツールは情報抽出において明確なXpathなどの情報を手動で提供する必要があります...これは一般ユーザーを阻むだけでなく、汎用性もありません。異なるウェブサイト既存のウェブサイトのアップグレード後を含むに対して、手動で再分析し、プログラムを更新する必要があります。wiseflowはLLMを使用してウェブページの分析と抽出を自動化することに努めており、ユーザーはプログラムに自分の関心点を伝えるだけで済みます。Crawl4aiを例として比較すると、Crawl4aiはLLMを使用して情報抽出を行うクローラーであり、wiseflowはクローラーツールを使用するLLM情報抽出ツールです。 |
| **AI検索** | AI検索の主なアプリケーションシナリオは**具体的な問題の即時回答**です。例「XX社の創設者は誰ですか」、「xxブランドのxx製品はどこで販売されていますか」。ユーザーが求めているのは**一つの答え**ですwiseflowの主なアプリケーションシナリオは**ある方面の情報の継続的な収集**です。例えば、XX社の関連情報の追跡、XXブランドの市場行動の継続的な追跡……これらのシナリオでは、ユーザーは関心事ある会社、あるブランド、さらには情報源サイトURLなどを提供できますが、具体的な検索問題を提起することはできません。ユーザーが求めているのは**一連の関連情報**です|
| **知識ベースRAG類プロジェクト** | 知識ベースRAG類プロジェクトは通常、既存の情報に基づく下流タスクであり、一般的にプライベート知識例えば、企業内の操作マニュアル、製品マニュアル、政府部門の文書などを対象としていますwiseflowは現在、下流タスクを統合しておらず、インターネット上の公開情報を対象としています。「エージェント」の観点から見ると、両者は異なる目的のために構築されたエージェントであり、RAG類プロジェクトは「内部知識アシスタントエージェント」であり、wiseflowは「外部情報収集エージェント」です|
**wiseflow 0.4.x バージョンは、ダウンストリームタスクの統合に焦点を当て、LLM 駆動の軽量なナレッジグラフを導入し、ユーザーが infos から洞察を得るのを支援します。**
## 📥 インストールと使用
### 1. コードリポジトリのクローン
🌹 いいね、forkは良い習慣です 🌹
**Windowsユーザーは事前にGit Bashツールをダウンロードしてください** [リンク](https://git-scm.com/downloads/win)
```bash
git clone https://github.com/TeamWiseFlow/wiseflow.git
```
### 2. ルートディレクトリのinstall_pocketbase スクリプトを実行
linux/macosユーザーは以下を実行してください
```bash
chmod +x install_pocketbase
./install_pocketbase
```
**Windowsユーザーは[install_pocketbase.ps1](./install_pocketbase.ps1)スクリプトを実行してください**
Wiseflow 0.3.xはデータベースとしてpocketbaseを使用しています。pocketbaseクライアントバージョン0.23.4をダウンロードして[pb](./pb)ディレクトリに配置することを忘れないでください)を手動でダウンロードし、スーパーユーザーを手動で作成することもできます(.envファイルに保存することを忘れないでください
詳細については、[pb/README.md](/pb/README.md)を参照してください。
### 3. core/.envファイルの設定を続行
🌟 **これは以前のバージョンとは異なります** - V0.3.5以降、.envファイルは[core](./core)フォルダに配置する必要があります。
**Windowsユーザーはcoreフォルダ内のwindows.envとwindows_run.pyファイルを参照し、windows_run.pyスクリプトを実行してください**
@c469591によるWindows用ネイティブ起動スクリプトの貢献に感謝いたします
#### 3.1 大規模言語モデルの設定
Wiseflowは LLMネイティブアプリケーションですので、プログラムに安定したLLMサービスを提供するようにしてください。
🌟 **Wiseflowはモデルサービスのソースを制限しません - サービスがopenAI SDKと互換性があれば、ollama、Xinferenceなどのローカルにデプロイされたサービスを含め、すべて使用可能です**
#### 推奨1Siliconflowが提供するMaaSサービスを使用
Siliconflowは、主流のオープンソースモデルのほとんどにオンラインMaaSサービスを提供しています。蓄積された推論加速技術により、そのサービスは速度と価格の両面で大きな利点があります。siliconflowのサービスを使用する場合、.envの設定は以下を参考にしてください
```bash
export LLM_API_KEY=Your_API_KEY
export LLM_API_BASE="https://api.siliconflow.cn/v1"
export PRIMARY_MODEL="Qwen/Qwen2.5-32B-Instruct"
export SECONDARY_MODEL="Qwen/Qwen2.5-7B-Instruct"
export VL_MODEL="OpenGVLab/InternVL2-26B"
```
😄 よろしければ、私の[siliconflow紹介リンク](https://cloud.siliconflow.cn?referrer=clx6wrtca00045766ahvexw92)をご利用ください。これにより、私もより多くのトークン報酬を獲得できます 🌹
#### 推奨2OpenAI、Claude、Geminiなどのクローズドソース商用モデルにはAiHubMixプロキシを使用
情報ソースが主に非中国語のページで、抽出された情報が中国語である必要がない場合は、OpenAI、Claude、Geminiなどのクローズドソース商用モデルの使用をお勧めします。サードパーティプロキシの**AiHubMix**を試すことができます。OpenAI、Claude、Google、Llamaなど、主要なAIモデルに1つのAPIで簡単にアクセスできます。
AiHubMixモデルを使用する場合、.envの設定は以下を参考にしてください
```bash
export LLM_API_KEY=Your_API_KEY
export LLM_API_BASE="https://aihubmix.com/v1" # referhttps://doc.aihubmix.com/
export PRIMARY_MODEL="gpt-4o"
export SECONDARY_MODEL="gpt-4o-mini"
export VL_MODEL="gpt-4o"
```
😄 [AiHubMixの紹介リンク](https://aihubmix.com?aff=Gp54)からご登録いただけますと幸いです 🌹
#### ローカル大規模言語モデルサービスのデプロイ
Xinferenceを例にすると、.envの設定は以下を参考にできます
```bash
# LLM_API_KEY='' no need for local service, please comment out or delete
export LLM_API_BASE='http://127.0.0.1:9997'
export PRIMARY_MODEL=launched_model_id
export VL_MODEL=launched_model_id
```
#### 3.2 Pocketbaseのアカウントとパスワードの設定
```bash
export PB_API_AUTH="test@example.com|1234567890"
```
これはpocketbaseデータベースのスーパーユーザー名とパスワードを設定する場所です。|で区切ることを忘れないでくださいinstall_pocketbase.shスクリプトが正常に実行された場合、これは既に存在しているはずです
#### 3.3 その他のオプション設定
以下はすべてオプションの設定です:
- #VERBOSE="true"
観察モードを有効にするかどうか。有効にすると、デバッグ情報がloggerファイルに記録されますデフォルトではコンソールにのみ出力
- #PROJECT_DIR="work_dir"
プロジェクトの実行時データディレクトリ。設定しない場合、デフォルトで`core/work_dir`になります。注意現在、core全体のディレクトリがコンテナにマウントされているため、直接アクセスできます。
- #PB_API_BASE=""
pocketbaseがデフォルトのIPまたはポートで実行されていない場合にのみ設定が必要です。デフォルトの状況では、これを無視できます。
- #LLM_CONCURRENT_NUMBER=8
llm の同時リクエスト数を制御するために使用されます。デフォルトは1ですllm provider が設定された同時性をサポートしていることを確認してください。ローカル大規模モデルはハードウェアベースに自分がない限り慎重に使用してください)
@tusik に感謝します
### 4. プログラムの実行
✋ V0.3.5バージョンのアーキテクチャと依存関係は以前のバージョンと大きく異なります。必ずコードを再取得し、pb_dataを削除または再構築してください。
condaを使用して仮想環境を構築することをお勧めしますもちろん、このステップをスキップするか、他のPython仮想環境ソリューションを使用することもできます
```bash
conda create -n wiseflow python=3.10
conda activate wiseflow
```
その後
```bash
cd wiseflow
cd core
pip install -r requirements.txt
chmod +x run.sh
./run_task.sh # if you just want to scan sites one-time (no loop), use ./run.sh
```
🌟 このスクリプトは、pocketbaseが既に実行されているかどうかを自動的に判断します。実行されていない場合は自動的に起動します。ただし、ctrl+cまたはctrl+zでプロセスを終了した場合、ターミナルを閉じるまでpocketbaseプロセスは終了しないことに注意してください。
run_task.shは定期的にクローリング・抽出タスクを実行します起動時に即座に実行され、その後1時間ごとに実行されます。1回だけ実行する必要がある場合は、run.shスクリプトを使用できます。
### 5. **関心事と定期的なスキャン情報源の追加**
プログラムを起動した後、pocketbase Admin dashboard UI (http://127.0.0.1:8090/_/) を開きます
#### 5.1 focus_point フォームを開く
このフォームを使用して、あなたの関心事を指定できます。LLMはこれに基づいて情報を抽出、フィルタリング、分類します。
フィールド説明:
- focuspoint, 関心事の説明(必須)、例えば「上海の小学校から中学校への情報」、「暗号通貨価格」
- explanation関心事の詳細な説明または具体的な約束、例えば「上海市公式発表の中学校進学情報のみ」、「BTC、ETHの現在価格、変動率データ」など
- activated, 有効化するかどうか。無効にするとこの関心事は無視され、無効にした後再び有効にできます。
注意focus_pointの更新設定activatedの調整を含む後、**プログラムを再起動する必要があります。**
#### 5.2 sitesフォームを開く
このフォームを使用して、カスタム情報源を指定できます。システムはバックグラウンドで定期的なタスクを開始し、ローカルで情報源のスキャン、解析、分析を実行します。
sitesフィールド説明
- url, 情報源のurlで、情報源は具体的な記事ページを指定する必要はありません。記事リストページを指定するだけで十分です。
- per_hours, スキャン頻度で、単位は時間、整数型1~24の範囲、スキャン頻度は1日1回を超えないように、つまり24に設定することをお勧めします
- activated, 有効化するかどうか。無効にするとこの情報源は無視され、無効にした後再び有効にできます。
**sitesの設定調整は、プログラムを再起動する必要はありません。**
## 📚 あなた自身のプログラムでwiseflowがクロールしたデータをどのように使用するか
1、[dashbord](dashboard) 部分のソースコードを参考に二次開発してください。
wiseflowのcore部分はdashboardを必要としません。現在の製品はdashboardを統合していません。もしdashboardが必要な場合、[V0.2.1バージョン](https://github.com/TeamWiseFlow/wiseflow/releases/tag/V0.2.1)をダウンロードしてください
2、直接Pocketbaseからデータを取得します
wiseflowがクロールしたすべてのデータは即座にpocketbaseに保存されるため、直接pocketbaseデータベースを操作してデータを取得できます。
PocketBaseは人気のある軽量データベースで、現在Go/Javascript/Pythonなどの言語のSDKがあります。
- Go : https://pocketbase.io/docs/go-overview/
- Javascript : https://pocketbase.io/docs/js-overview/
- python : https://github.com/vaphes/pocketbase
## 🛡️ ライセンス
本プロジェクトは [Apache2.0](LICENSE) オープンソースライセンスに基づいています。
商用およびカスタムコラボレーションについては、**Emailzm.zhao@foxmail.com** までお問い合わせください
- 商用顧客は私たちに報告登録をお願いします。製品は永遠に無料で提供されることを約束します。
## 📬 連絡先
何か質問や提案があれば、[issue](https://github.com/TeamWiseFlow/wiseflow/issues) でメッセージを残してください。
## 🤝 本プロジェクトは以下の優れたオープンソースプロジェクトに基づいています:
- crawl4aiOpen-source LLM Friendly Web Crawler & Scraper https://github.com/unclecode/crawl4ai
- pocketbase (Open Source realtime backend in 1 file) https://github.com/pocketbase/pocketbase
- python-pocketbase (pocketBase client SDK for python) https://github.com/vaphes/pocketbase
また、[GNE](https://github.com/GeneralNewsExtractor/GeneralNewsExtractor)、[AutoCrawler](https://github.com/kingname/AutoCrawler)、[SeeAct](https://github.com/OSU-NLP-Group/SeeAct) からもインスピレーションを受けています。
## Citation
もしあなたが関連する作業で本プロジェクトの一部または全部を参照または引用した場合、以下の情報を記載してください:
```
AuthorWiseflow Team
https://github.com/TeamWiseFlow/wiseflow
Licensed under Apache2.0
```