はじめに
Yuxi-KnowはオープンソースのインテリジェントなQ&Aプラットフォームで、ナレッジグラフとRAG(Retrieval Augmented Generation)技術を組み合わせ、ユーザーが素早く正確な回答を得られるよう支援します。ナレッジグラフを格納するためにNeo4jをベースとし、バックエンドとフロントエンドを構築するためにFastAPIとVueJSを使用し、OpenAI、DeepSeek、Beanbagなどの様々なビッグモデルをサポートしています。システムはMilvus ベクトルデータベースYuxi-Knowは、ネットワーク検索、DeepSeek-R1推論モデルとツール呼び出し機能を提供し、開発者が知識管理やインテリジェントな顧客サービスシステムを構築するのに適しています。このプロジェクトはGitHubでオープンソースとして公開されており、導入や拡張が容易です。
機能一覧
- OpenAI、DeepSeek、Beanbag、Smart Spectrum Clear Speechなど、さまざまな大型モデル通話に対応。
- ナレッジグラフのクエリを提供し、Neo4jに基づいて構造化されたデータを保存します。
- アジュバント ラグ ナレッジ・ベースとネットワーク検索を組み合わせることで、正確な回答を得ることができる。
- インテグレーテッド ディープシーク-R1 複雑な論理問題を扱う推論モデル。
- APIを介して外部タスクを実行するためのツールコール機能を提供する。
- 複数のファイル形式(PDF、TXT、MD、Docx)をサポートし、ナレッジベースを構築。
- Milvusベクトルデータベースを使用して、ドキュメントのベクトルを保存および検索します。
- VueJSをベースとした、シンプルで直感的な操作が可能なウェブインターフェースを提供します。
- ローカルモデルの展開をサポート ブイエルエルエム もしかしたら オーラマ APIサービスを提供。
- さまざまなニーズに合わせて、ユーザー定義のモデルやベクトルモデルの設定が可能。
ヘルプの使用
設置プロセス
Yuxi-Know は Docker デプロイメントを使用してインストール・プロセスを簡素化します。詳細な手順は以下のとおりです:
- 環境を整える
DockerとDocker Composeがインストールされていることを確認します。LinuxまたはmacOSの場合はWSL2を有効にすることを推奨しますが、Windowsユーザーの場合はWSL2を有効にする必要があります:docker --version
コードをクローンするためにGitがインストールされていることを確認する。
- クローンプロジェクト
ターミナルで以下のコマンドを実行して、Yuxi-Know コード・ベースをクローンします:git clone https://github.com/xerrors/Yuxi-Know.git
プロジェクト・カタログにアクセスする:
cd Yuxi-Know
- 環境変数の設定
Yuxi-Know では、API キーとモデル・パラメータを構成する必要があります。テンプレート・ファイルをコピーします:cp src/.env.template src/.env
テキストエディタで開く
src/.env
必要なキーを記入してください。例えばSILICONFLOW_API_KEY=sk-你的密钥 DEEPSEEK_API_KEY=你的密钥 TAVILY_API_KEY=你的密钥
他のモデル(OpenAIやbeanbagなど)を使用する場合は、対応するキーを追加する:
OPENAI_API_KEY=你的密钥 ARK_API_KEY=你的密钥
デフォルト使用 シリコンフロー サービスを設定する必要があります。
SILICONFLOW_API_KEY
.ローカルモデルを使用する場合は、モデルパスを設定する必要があります:MODEL_DIR=/path/to/your/models
- サービス開始
プロジェクトのルート・ディレクトリから以下のコマンドを実行して、すべてのサービスを開始する:docker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build
これでNeo4j、Milvus、FastAPIバックエンド、VueJSフロントエンドが起動します。最初の起動には数分かかるかもしれません。成功すると、ターミナルに
[+] Running 7/7 ✔ Network docker_app-network Created ✔ Container graph-dev Started ✔ Container milvus-etcd-dev Started ✔ Container milvus-minio-dev Started ✔ Container milvus-standalone-dev Started ✔ Container api-dev Started ✔ Container web-dev Started
バックグラウンドで実行する必要がある場合は
-d
パラメーターdocker compose -f docker/docker-compose.dev.yml --env-file src/.env up --build -d
- アクセスシステム
ブラウザを開き、次のサイトにアクセスする。http://localhost:5173/
Yuxi-Know インタフェースにアクセスできます。アクセスできない場合は、Docker コンテナの状態を確認してください:docker ps
すべてのコンテナが起動していることを確認する。ポートが競合している場合は
docker-compose.dev.yml
のポート・コンフィギュレーションは - サービス閉鎖
サービスを停止し、コンテナを削除する:docker compose -f docker/docker-compose.dev.yml --env-file src/.env down
主要機能の使用
Yuxi-Know は、ナレッジ・グラフ・クエリ、ナレッジ・ベース検索、ネットワーク検索、およびツール呼 び出し機能を提供します。詳細な操作方法は以下のとおりです:
- ナレッジ・グラフ・クエリー
Yuxi-Know は、知識グラフの格納に Neo4j を使用しており、構造化データのクエリに適しています。例えば、"北京の首都はどこですか?" というクエリがあります。システムは知識グラフから答えを抽出します。- ナレッジグラフのインポートJSONL形式のファイルを用意し、それぞれの行にヘッドノード、テールノード、リレーションシップを記述する:
{"h": "北京", "t": "中国", "r": "首都"}
インターフェイスの "Atlas Management "に移動し、JSONLファイルをアップロードする。自動的にNeo4jに読み込まれます。
- Neo4jを訪問する起動時に
http://localhost:7474/
Neo4jパネルにアクセスするためのデフォルトアカウントは次のとおりです。neo4j
パスワードは0123456789
. - 銘記するこのノードには
Entity
タグを付けなければ、インデックスをトリガーできない。
- ナレッジグラフのインポートJSONL形式のファイルを用意し、それぞれの行にヘッドノード、テールノード、リレーションシップを記述する:
- ナレッジベース検索
PDF、TXT、MD、Docxファイルのアップロードに対応しており、自動的にベクターに変換され、Milvusデータベースに保存されます。操作手順- ナレッジベース管理 "に移動し、"ファイルのアップロード "をクリックします。
- ファイルを選択すると、システムはベクトルモデル(たとえば
BAAI/bge-m3
)はベクトルを生成し、それを保存する。 - 照会するには、"文書に記載されているAIのトレンドは何ですか?"といった質問を入力する。 システムは関連するコンテンツを検索し、答えを生成する。
- 注意を引く大きなファイルは処理に時間がかかることがありますので、分割してアップロードすることをお勧めします。
- ネットワーク検索
ローカルの知識ベースが回答できない場合、システムはネットワーク検索を可能にする。の設定を確認してください。TAVILY_API_KEY
.操作方法:- 例えば、"2025年の最新のAI技術は何か?"といった質問をインターフェイスに入力する。
- このシステムは次のように機能する。 タヴィリー APIはウェブをクロールして情報を探し、大きなモデルと組み合わせて答えを生成する。
- その結果、情報源へのリンクが表示され、情報の確認が容易になる。
- ツールコール
Yuxi-Know は、天気の確認やスクリプトの実行など、API を介した外部ツールの呼び出しをサポートしています。手順は以下のとおりです:- ある
src/static/models.yaml
ツール設定をtools: - name: weather url: https://api.weather.com/v3 api_key: 你的密钥
- インターフェイスに次のように入力する:"今日の上海の天気は?" システムはツールを呼び出し、結果を返します。
- ある
注目の機能操作
- DeepSeek-R1 推論モデル
DeepSeek-R1 は、複雑な推論タスク向けの Yuxi-Know のハイライトです。操作方法- セキュア
DEEPSEEK_API_KEY
もしかしたらSILICONFLOW_API_KEY
設定済み。 - インターフェースモデルの選択で
deepseek-r1-250120
. - リンゴはオレンジより2ドル高い。リンゴ3個とオレンジ2個の合計16ドル。 システムは推論し、"オレンジは2ドルです "と答える。
- ゆうせい複数ステップの論理問題を、より信頼性の高い解答で処理できる。
- セキュア
- マルチモデル対応
様々なシーンに対応できるよう、複数のモデルの切り替えに対応している。操作方法- インターフェイスの右上にあるドロップダウンメニューからモデルを選択する。
Qwen2.5-7B-Instruct
(シリコンフロー)、gpt-4o
(OpenAI)またはdoubao-1-5-pro
(豆袋)。 - 例えば、Doubaoは中国語の意味理解に適しており、OpenAIは複雑なタスクに適している。
- 新しいモデルを追加する:: 編集部
src/static/models.yaml
例えば、ベンダーの設定を追加する:zhipu: name: 智谱清言 url: https://api.zhipuai.com/v1 default: glm-4-flash env: - ZHIPUAI_API_KEY
サービスを再起動すると、新しいモデルが使用できるようになる。
- インターフェイスの右上にあるドロップダウンメニューからモデルを選択する。
- ローカルモデルの展開
ローカルモデル(LLaMAなど)を使用する必要がある場合は、vLLMまたはOllama経由でデプロイできます。手順- vLLMサービスを開始します:
vllm serve /path/to/model --host 0.0.0.0 --port 8000
- Settings "インターフェイスでローカルモデルを追加し、URLを入力する。
http://localhost:8000/v1
). - 保存後、ネットワークがない環境ではローカルモデルの使用が優先されます。
- vLLMサービスを開始します:
- ベクトルモデルの構成
デフォルト使用BAAI/bge-m3
ベクターを生成します。置き換える必要がある場合はsrc/static/models.yaml
::local/nomic-embed-text: name: nomic-embed-text dimension: 768
ローカルモデルは自動的にダウンロードされ、失敗した場合はHF-Mirrorミラーステーションから取得できる。
ほら
- ネットワーク要件ネットワーク検索やモデル呼び出しには安定したネットワークが必要です。
.env
のキーを入力する。 - Neo4jの構成すでにNeo4jサービスを持っている場合は、Neo4jサービスを変更することができます。
docker-compose.yml
正鵠を得るNEO4J_URI
また、重複配備を避けることができる。 - ミラーダウンロードDockerイメージのプルに失敗した場合は、DaoCloudのミラーステーションを利用できます:
docker pull m.daocloud.io/docker.io/library/neo4j:latest docker tag m.daocloud.io/docker.io/library/neo4j:latest neo4j:latest
- ログビューサービスに異常がある場合は、コンテナログを確認してください:
docker logs api-dev
アプリケーションシナリオ
- 企業知識管理
企業は、ナレッジ・ベースに社内文書 (操作マニュアルや技術仕様書など) をアップロードしたり、ナレッジ・グラフに整理したりすることができます。従業員はYuxi-Knowを使用して、"サーバーの設定方法は?"などの質問をします。 システムは迅速に回答を返し、トレーニング時間を短縮します。 - 学術研究支援
研究者は論文をアップロードしたり、主題知識マップを整理したりすることができる。例えば、化学分子関係マップを作成し、"炭素原子の化学結合は何か?"と質問する。 システムは、マップと文書を組み合わせて詳細な答えを返し、最新の研究を追加するためにネットワーク化することができる。 - インテリジェント・カスタマー・サービス・システム
加盟店は、商品情報やよくある質問をシステムに入力することができる。顧客から "商品を返品するにはどうすればよいですか?"と尋ねられると、Yuxi-Knowはナレッジベースから答えを引き出したり、オンラインで最新のポリシーをチェックしたりします。Yuxi-Knowは、ナレッジベースから答えを引き出したり、オンラインで最新のポリシーをチェックして、正確な回答を提供します。
品質保証
- ナレッジベースのファイルをアップロードするには?
インターフェイスの "Knowledge Base Management "に移動し、"Upload "をクリックし、PDF、TXT、MDまたはDocxファイルを選択します。システムが自動的に処理し、Milvusデータベースに保存します。 - ネットワーク検索にはどのような設定が必要ですか?
である必要がある。.env
ファイルでTAVILY_API_KEY
キーをお持ちでない場合は、SiliconFlowまたはTavilyから登録できます。鍵を持っていない場合は、SiliconFlowまたはTavilyのウェブサイトから登録できます。 - ローカルモデルをデバッグするには?
vLLMまたはOllamaサービスがリッスンしていることを確認する。0.0.0.0
起動後、インターフェイスの「設定」セクションに正しいURLを追加する。docker logs api-dev
接続状態を確認する。 - ナレッジグラフのインポートに失敗した場合はどうすればよいですか?
JSONLファイルのフォーマットをチェックし、各行にh
そしてt
そしてr
フィールドにアップロードします。アップロード後、Neo4jサービスを再起動し、ノードにEntity
ラベル