AIパーソナル・ラーニング
と実践的なガイダンス

DeepSeek-R1ベースのローカル/API知識ベースを実装し、WeChat BOTにアクセスする。

前回の記事、"そのローカル展開 DeepSeek-R1とWeChatボットアクセスチュートリアルDeepSeek-R1 "では、DeepSeek-R1をローカルにデプロイし、WeChatのボットにアクセスしてチャットしてもらいましたが、今日は、もっと面白い遊び方を紹介したいと思います:AIアシスタントに辛口のネタを与えて、本当によく分かっているプロのコンサルタントに変身させる方法です!

 


次に、環境設定、ナレッジベースの展開、情報のアップロード、チューニングのヒントなど、ナレッジベース構築の全プロセスを手作業で完成させます。最後に、この "知識満載 "のAIをWeChatロボットに搭載し、真にあなたを理解し、業界のインテリジェント・アシスタントを理解するものを作成します!

まず、結果を見てみよう。これは、「人体障害度分類」の情報照会をアップロードした後の結果である:

 

DeepSeek-R1の展開

ディープシーク デプロイには2つの方法がある。1つはローカルデプロイで、もう1つはサードパーティのAPIにアクセスする方法だ。

両方の長所と短所

  • ローカル展開
    ✅ 利点:完全なプライベートデータ、低長期コスト、迅速なレスポンスタイム
    欠点:ローカル演算を食べる、より良い構成のマシンが必要
  • APIコール
    利点:高速アクセス、メンテナンスフリー、回復力のあるスケーラビリティ
    デメリット:データを第三者に渡す必要がある。

ローカル・ディープシーク

まず、以下をインストールしていることを確認してください。 オラマ そして、オラマは正常に機能している。

DeepSeekAPI

実は、この記事はローカル・デプロイメント・アプローチについてだけ書くつもりだったんだ......。

しかし、最近ウェブ版のDeepSeekが "ストライキ中 "なので、仕方なくローカル版を試してみた。 チャットボックス まさかR1の完全版を体験できるとは思っていなかったので、爆笑でした!この解答もいい匂いがしそうなので、ついでにAPI方式で書いておきます。

ここでは2つのプラットフォームを提供する。

まずAPIkeyを取得し、ナレッジベースのコンフィギュレーションにAPIkeyを入力する必要がある。

 

火山の箱舟

公式サイト
https://console.volcengine.com/ark

物価

入力: ¥2/M トークン

出力:8円/Mトークン

エントリーAPIKeyの管理作成APIキー

新しい秘密鍵、APIkeyのコピー

シリコンベースのフロー

シリコンベースのフロー 公式サイト

https://cloud.siliconflow.cn/account/ak

物価

インプット:4円/Mトークン

出力:¥16/Mトークン

の左側に移動する。APIキークリック新しい秘密鍵コピー後の秘密鍵

 

リポジトリ

ナレッジベースのインストール

次にナレッジ・ベースにアクセスする必要がある。何でもLLMプロジェクトだ。

 

AnythingLLMはオープンソースのLarge Language Model (LLM)アプリケーションフレームワークであり、ユーザが簡単にインテリジェントなQ&A、文書分析、プライベートデータに基づくその他のアプリケーションを構築、展開できるように設計されています。

AnythingLLMのウェブサイトにアクセスし、インストーラーをダウンロードします。

https://anythingllm.com/

インストーラーを実行し、その間に必要な追加依存関係(GPU、NPGサポート)をダウンロードします。

ダウンロードに失敗した場合、またはこのダウンロードウィンドウを閉じてこのステップをスキップした場合でも、AnythingLLMは正常にインストールされます。

この時点では、手動でインストールできるので心配しないでほしい。

ウェブリンクにはリブジップ。

zipアーカイブを解凍し、解凍したフォルダをインストールディレクトリ AnythingLLMresourcesollamaカタログの中

ナレッジベースの構成

インストールが完了したら、AnythingLLM インターフェースに入り、デフォルトのラージモデルを選択する必要があります。

ローカル設定

DeepSeek のローカル配置を使用している場合は、下にスクロールしてオーラマただ選ぶだけだ。

API設定

サードパーティAPIを使用している場合、このステップを選択する必要はありません。オラマここで見つけるジェネリックOpenAI

ジェネリックOpenAI:

 

カスタム設定により、OpenAIのインターフェース形式と互換性のあるあらゆるサービスに接続できます。

ここには5つのパラメータがある。

シリコンベースのフローAPIを使用する:

ベースURLリクエストアドレス

https://api.siliconflow.cn/v1

APIキーAPIシークレットキーは、先ほど取得したものを記入してください。

チャットモデル名モデル名

Pro/deepseek-ai/ディープシーク-R1

トークン コンテキストウィンドウ(コンテキストウィンドウ)

4096

最大トークン(最大トークン数)

状況に応じて4096または8192。

ボルケーノ・アークAPIを使用する:

ベースURLリクエストアドレス

https://ark.cn-beijing.volces.com/api/v3

APIキーAPIシークレットキーは、先ほど取得したものを記入してください。

チャットモデル名モデル名

ボルケーノ・アークのモデル名には、アクセスポイントIDを入力する必要がある。

まず DeepSeekR1 をオンにします!

オンライン推論へようこそ - アクセスポイントの作成

アクセス確認

このIDはアクセスポイントIDであり、この値を埋めるだけでよい。

トークン・コンテキスト・ウィンドウ(コンテキストウィンドウ)

4096

最大トークン(最大トークン数)

状況に応じて4096または8192。

上記の設定が完了したら、忘れずに以下をタップしてください。セーブ管理セーブする。

ワークスペースの作成

このプライバシー・インターフェースへの次のステップは、データを保存する方法を伝えることであり、これらの命令を使用する方法は、とにかく、すべての単語のセットであり、直接次のステップをスキップすることができます。

このステップはウェルカムスクリーンで、特別なことは何もない!

ワークスペースの名前を作成する。 英語を使うことを推奨する。後でAPIを使って呼び出すときに便利だからだ。

次のように入力する。 何でもLLM ゲームのメインインターフェイスができました。サンプルダイアログで遊び方を教えてくれます。

左側のワークスペースをクリックすると、新しいダイアログ画面が表示されます。

モデルの呼び出しが成功したかどうかをテストする簡単なダイアログを以下に示す。

ワークスペースの設定

ワークスペースの右側にある Setup ボタンをクリックして、Setup インターフェイスに入ります。

チャットの設定に移動し、そこでモデルを詳細に調整することができる。

ここで、現在使用されているラージモデルを調整します。デフォルトでは、システムによって設定されたものが使用されます。オラマ

その他の大規模なローカルモデルやAPIサービスも利用できる。

モードはチャットとクエリに分かれており、クエリはクエリコンテキスト機能のみを使用することを意味します(あなた自身のアップロードされたドキュメントを持っている必要があります)、チャットはチャット機能+クエリを使用することを意味します。

コンテキスト数

ペルソナのキューワードとして解釈することができ、中国語に修正することも、デフォルトのままにしておくこともできる。

給餌情報

次にナレッジベースをフィードする必要があります。アップロードボタン

ナレッジベース管理インターフェースへのアクセス

バッチアップロードをサポートし、Excel、world、txt、その他のファイル形式をサポートしています。ここでは障害の程度による人体傷害の分類.pdf.

ファイルを選択しワークスペースへの移動このステップでは、一時領域からファイルをワークスペースに追加する。

アップロードされたファイルは右側に転送されます。セースとエンベッドセーブをする。

以下のヒントワークスペースが正常に更新されましたセーブに成功したことを示す。

をクリックしてください。ワークスペースにピン留めこのボタンだ。

ワークスペースにピン留め::

 

AnythingLLMを使用する際、デフォルトでは満足のいく回答が得られない場合、ドキュメントをピン留めすることで回答の質を向上させることができます。これは、回答の正確性と関連性を向上させる簡単な方法です。

簡単に言えば、ドキュメントのピン留めとは、ドキュメントのコンテンツを言語モデルに直接「送り込む」プロセスであり、質問に答える際にそのコンテンツを参照し、より良い回答を提供できるようにする。

その後、会話ページに戻り、新しい会話を作成し、質問をして、ナレッジベースが正常に追加されたことを確認します。

エラー解決

DeepSeekはアップロードされた情報と組み合わせて質問に答えていますが、答えに誤りがあることがわかります。

例えば、最初の質問:

と尋ねている:

 

肋骨を2本折った場合のグレードは?

答えてくれ:

 

提供された背景情報に基づき、肋骨骨折の人身傷害障害分類基準は以下の通りである:

重傷度グレード2:4本以上の肋骨の骨折、または2本以上の肋骨の骨折で、逆説的な動きを伴うもの;

第1度の軽傷:第1肋骨から第3肋骨の骨折。

肋骨2本の骨折の場合、逆説的活動や他の重篤な状態(例:4本以上)を伴わなければ、軽度の第1度損傷に分類される。このように、肋骨2本の骨折は等級付けされます:

軽傷

しかし、アップロードされた文書では、肋骨2本の骨折は第2級の軽傷に分類されている。これは法律相談の申請書としてはかなり重大な誤りである。

このように質問に答えられない場合、焦る必要はない。

アップロードされたPDFファイルをよく見てみると、たくさんの表や特殊な書式、そして使われていないコンテンツが含まれていた。これらの "不純物 "は、AIが本当に学習させたいことを理解する能力に影響を与える。

このような乱雑な書式設定は、私たちが乱雑な本を見るときのように、AIが重要なポイントを見失う可能性がある。そこで、私は重要な内容を簡潔なワード文書に再編成し、使用できない内容を削除してから、AIに再送信した。

照合された文書の内容からの抜粋:

5.6.4 第二級の軽傷
b) 肋骨の2箇所以上の骨折。
c) 胸骨骨折;鎖骨骨折;肩甲骨骨折
d) 胸鎖関節脱臼;肩鎖関節脱臼
e) 1週間自己吸収しない皮下気腫を生じた胸部外傷。
f) 胸腔血腫;気胸。
g) 胸壁貫通外傷。
h) 窒息の徴候を伴う胸部圧迫。
5.6.5 軽傷
a) 肋骨骨折;肋軟骨骨折。
5.7 腹部外傷
5.7.1 重傷度I
a) 肝機能障害(重度)。
b) 消化吸収に重篤な障害をもたらし、非経口栄養に依存する消化管損傷
c) 腎不全(尿毒症期)。

その質問をもう一度やってみると、今度はずっと正確な答えが返ってきた!

これは最も単純な解決策に過ぎない。AIにもっと正確に答えさせたいのであれば、文書フォーマットの調整、検索方法の最適化、AIパラメーターの調整などを試すこともできる。しかし、これらの高度なプレイについては後で説明する。

 

WeChat BOTへのアクセス

AnythingLLM秘密鍵の取得

見せる何でもLLMインターフェイスで、「設定」-「APIシークレットキー」-「新しいAPIシークレットキーの生成」を選択します。

統合パックの使用

私は何でもLLMへのインターフェースNGCBOTで、統合パッケージにした。

のウェブリンクを解凍します。NGCBOT_LLM.zipZipをダブルクリックするランチャー.exe走る準備はできている。

使用する前に3つ必要なことがある!

使用する前に3つ必要なことがある!

使用する前に3つ必要なことがある!

まず、統合パッケージのディレクトリに中国語がないことを確認してください。中国語があるとエラーになります!

正しいデモンストレーション

F:AIAIpackageNGCBot

偽りのデモンストレーション

F:WeChat BOTAIpackageNGCBot

次に、WeChatの指定バージョンをインストールする。

ウェブリンクにマイクロソフト版がある。

WeChatSetup-3.9.10.27.exe

このバージョンをインストールすると、コンピュータがもともとマイクロソフトを持っていた削除する必要はありませんが、直接インストールを上書きします。

第三に、NGCBOT設定ファイルを修正します。

を十分に理解する必要がある。ConfigConfig.yamlコンフィギュレーション・ファイルは変更できる。

設定ファイルには3つの変更がある。

1.スーパー管理者設定を変更する。

ここに、設定したマイクロシグナルのIDを記入する。常に変更することを忘れないように!さもなければ、すべて私に送られます.

このIDはどうやって取得できますか?管理者として設定したいマイクロシグナルを使用し、ボットにメッセージを送信すると、コンソールにメッセージを送信した人のIDが表示されます。

2.ai優先順位の設定を変更する。

これはaiインターフェースの実行順で、前の数字が小さいほど優先度が高いことを意味する。デフォルトの設定はAnythingLLM優先である。

3.AnythingLLMの設定。

ここでワークスペースそして何でもLLMkeyこの2つの値はちょうどいい。

ワークスペースAnythingLLMで作成したワークスペースの名前を小文字で記入します。

何でもLLMkeyAnythingLLMで入手したシークレットキーを記入してください。シリコンフローやボルケーノ・アークの秘密鍵ではありません!

その前にベアラーを残すことを忘れずに。

上記の手順で変更した後ランチャー.exeそうすれば楽しめる!

統合パック獲得は記事の最後にある。

おめでとう!これを見た人は 👍🏻👍🏻

ナレッジベースのボットをすぐに使いたい場合は、こちらをご覧ください。

もっと深く掘り下げたい小さな子供たちのために、こんなことが書かれている。

  • AnythingLLMインターフェースの呼び出し方
  • NGCBOTの機能を拡張する方法

興味があれば読んでみてほしい。

 

開発と拡大

インターフェイスコール

 

もしあなたが初心者で、統合パックを直接プレーしたいのであれば、このステップは飛ばしてください。

よし、もう少し高度なことをやろう。 ブラウザのインプット[http://localhost:3001/api/docs/](http://localhost:3001/api/docs/)APIページにアクセスする。

ここでは、オリジナルの公式APIドキュメントにウェブ上でアクセスできないため、APIドキュメントへのローカルアクセスに変更されている。

APIの説明ページに入ると、様々なインターフェースがあることがわかる。そして、このページでは直接デバッグをサポートしている。

アクセスを開始する前に、秘密鍵を認証する必要があります。認可する.

開いている画面にAnythingLLMAPIキーを貼り付けると、認証が成功します!

そして、下に降りて/v1/ワークスペース/{スラッグ}/チャットこのAPI

パラメータの説明

パラメトリック 指示 備考
スラッグ ワークスペース 漢字、大文字、その他の特殊文字は使用せず、小文字のみとする。
メッセージ メッセージ 送信したいメッセージ
モード パラダイム スキーマはチャットとクエリに分かれており、クエリとはクエリ・コンテキスト機能のみを使用すること(自分でアップロードした文書が必要)、チャットとはチャット機能を使用することである。

リクエストの例(リクエスト本文)

curl --location 'http://localhost:3001/api/v1/workspace/newwork/chat'
--header 'Authorization: Bearer 7X26VBD-0824RMG-MD0V2X-PC02ZJ4'
--header 'Content-Type: application/json'
--data '{
  "message": "肋骨が2本折れた場合のグレードは?",
  "mode": "chat"
}'

回答

{
    "id": "488ff13e-0206-4014-bf50-ea2d8e78c1c3",
    "type": "textResponse"、
    
    "error": null, "chatId": 17, "error": 17
    "chatId": 17, "textResponse".
    "textResponse":"nOkay、私は今、ユーザーの質問に対処する必要があります。"肋骨が2本折れた場合のグレードは?" このユーザーは以前にもこの質問をし、私は答えを出しましたが、今またこの質問をしており、より詳細な、あるいは異なる説明を求めているかもしれません。提供されたContext 0の5.6.4 Minor Injury Grade 2の項には、b) 2本以上の肋骨骨折は軽傷等級2であると記載されています。したがって、2本の肋骨骨折はこの基準を満たし、軽傷第2級と等級付けされるべきである。nn ユーザーは、労災補償やその他の関連事項に対処するために骨折の重症度を知りたい法律家、家族、または負傷者本人かもしれない。そのため、何度も質問してくるのです。考える過程では、結果に影響するような関連する等級基準が他にあるかどうかをチェックする必要があります。例えば、骨折の場所、内臓の損傷を伴っているかどうかなど、特別な事情があるかどうか。しかし、提供された文脈によれば、これらの事情についての言及はないため、与えられた情報に基づいて判断するしかない。nn さらに、利用者は、労災認定の申請方法やその後の補償手続きについて知りたいかもしれないが、入手できる情報が限られているため、具体的な手順を提供することはできない。これは、提供された基準に基づく結論である。利用者は、この問題に対処するために、さらに法的または医学的な助言が必要かもしれません。nnn提供された文脈情報に基づくと、**5.6.4 軽傷等級2**の中で、次のように述べられています。,
    「ソース": [
        {
            "本文": "5.2.4 軽傷等級2 nna)顔面に長さ4.5cmを超える単一の創傷または瘢痕、累積長さ6.0cmを超える複数の創傷または瘢痕nnb)頬に貫通性の創傷があり、長さ1.0cmを超える皮膚創傷または瘢痕nnc)口と唇に全長の裂傷があり、長さ1.0cmを超える皮膚創傷または瘢痕nnd)顔面に大量の瘢痕。A single scar of 3.0 cm² or more or multiple scars of 5.0 cm² or more. nne) Facial patches of fine keloidal scarring or pigmentation abnormalities of 8.0 cm² or more. f) Orbital wall fracture (other than a simple fracture of the medial orbital wall). nng) Eyelid defects. nnh) Mild ectropion of one eyelid. nnni) Drooping of the upper eyelid over the pupil of the eye. nnj) Inadequate closing of the eyelid of the eye. nnj) Inadequate closure of the eyelid of one eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye. nnj) Inadequate closure of the eye.nnk) 片側の流涙を伴う涙器損傷 nn1) 耳介切開または瘢痕の長さが累積で6.0cm以上 nnm) 耳介の片側の耳介面積の累積で15%相当以上の耳介離断、欠損または拘縮変形 nnn) 鼻の片側の鼻尖または鼻翼欠損 nnno) 鼻骨の粉砕骨折;両側の鼻骨骨折;鼻骨骨折と上顎前突部骨折の合併;鼻骨骨折と鼻中隔骨折の合併;両側の鼻骨骨折と上顎前突部骨折の合併。nnp)舌の喪失 nnq)歯の喪失または2本以上の歯の骨折 nnr)耳下腺、顎下腺または舌下腺の実質的な損傷 nns)I程度の開口困難をもたらす損傷 nnnt)顎の骨折(歯槽突起の骨折および片側の上顎前方突起の骨折を除く) u)頬骨の骨折 nnn5.2.5 軽度の傷害nnnnnna) 顔面軟部組織の外傷 nnb) 瘢痕または色素沈着の変化を伴う顔面の損傷 nnc) 面積2.0cm²以上の顔面皮膚擦過傷;顔面軟部組織挫傷;4.0cm以上の顔面擦過傷 nnnd) 内眼窩壁の骨折 nnne) 眼球挫傷;眼球の外観に影響を及ぼす眼外傷 nnf) 耳介の外傷 nnn) 鼻骨骨折;鼻出血 nnnnnna) 鼻骨骨折;鼻出血 nnnnnna) 鼻骨骨折;鼻出血 nnnnnna) 鼻骨骨折;鼻出血 nnnnnna) 鼻骨骨折;鼻出血h) 上顎の前頭部突出骨折 nni) 口腔粘膜の破損;舌の損傷 nnj) 歯の喪失または欠損;歯槽突起の骨折;2歯以上の動揺歯または3度以上の動揺歯1歯以上 nn5.3 聴覚障害 nn5.3.1 重傷度I nna) 両耳難聴(91dB HL以上) nn5.3.2 重傷度II nna) 片耳の両耳難聴(91dB HL以上nnb) 片耳の聴力障害(81dB HL以上)およびもう一方の耳の聴力障害(41dB HL以上) nnc) 同側の前庭平衡機能障害を伴う片耳の聴力障害(81dB HL以上) nnd) 両耳の聴力障害(61dB HL以上) nnne) 両側の前庭平衡機能の喪失で、歩行時に目を開けることが困難で、並んで立つことができない nn5.3.2 重傷レベル2nn5.3.3 軽傷レベル I nna) 両側の難聴(41 dB HL以上) nnb) 両側の無耳症 nn5.3.4 軽傷レベル II nna) 6週間以内に自然治癒しなかった外傷性鼓膜穿孔 b.....原文に続く..."...,
            "id": "210f98f0-d656-4c0f-b3d5-d617f6398eca",
            "url": "file://C:╱DOCX Document.docx", "title": "新しいDOCX文書。
            "title": "New DOCX Document.docx"、
            "docAuthor": "no author found", "description": "No description found".
            "description": "記述が見つかりません。", "docAuthor": "作成者が見つかりません。", "description": "記述が見つかりません。
            "docSource": "ユーザがアップロードした pdf ファイル。", "chunkSource": "ユーザがアップロードした pdf ファイル。
            "chunkSource": "localfile://C:NewDOCX document.docx", "Published": "2025/2000", "description": "No description found.", "docSource": "pdf file uploaded by the user.", "docSource": "pdf file uploaded by the user.
            "published": "2025/2/7 13:00:52"、
            "wordCount": 126, "token_count_estimate".
            「token_count_estimate": 3870
        }
    ],.
    "metrics": {
        "prompt_tokens": 431, "completion_tokens": 326, {。
        
        "total_tokens": 757, "outputTps": 63.1782573643、
        "outputTps": 63.178294573643406, "duration": 5.16.5
        「期間": 5.16
    }
}

このようにして、AnythingLLMインターフェースの呼び出しテストが完了しました。このインターフェースに従って、独自のビジネスロジックを実装することができます。以下では、WeChat BOTを組み合わせて知識ベースロボットを実装します。

NGCの修正

NGCBOTのプロジェクトは、次のようなものでなければならない。ApiServerAiServerAiDialogue.pyスクリプトに呼び出しを追加する何でもLLMの論理である。

ここにコードを書いておこう。

def getAnythingLLM(self, content, messages).
"""
ローカルAnythingLLMモデル
:param content: 会話の内容
:param messages: メッセージのリスト
:return.
"""
op(f'[*]: Local AnythingLLMダイアログインターフェイスが呼び出されました。 ...')
messages.append({"role": "user", "content": f'{content}'})

data = {
"model": self.anythingLLMConfig.get('anythingllmModel')、
「メッセージ
}

headers = {
"Content-Type": "application/json", "Authorisation": self.anythingLLMConfig.get('anythingllmModel', "message": content } 。
"認証": self.anythingLLMConfig.get('anythingllmKey')
}

try.
resp = requests.post(
url=self.anythingLLMConfig.get('anythingllmApi').format(workspace=self.anythingLLMConfig.get('workspace'))、
headers=headers、
json=data、
タイムアウト=300
)

resp.encoding = 'utf-8'
json_data = resp.json()

assistant_content = json_data['textResponse'].

if "" in assistant_content:
assistant_content = assistant_content.split("")[1].strip()

messages.append({"role": "assistant", "content": f"{assistant_content}"})
if len(messages) == 21.
del messages[1].
del messages[1]: f"{assistant_content}"}。
return assistant_content, messages
except Exception as e.
op(f'[-]: ローカルAnythingLLMダイアログインターフェイスのエラー、エラーメッセージ:{e}')
return None, [{"role": "system", "content": f'{self.systemAiRole}'}]。

 

を追加する。なんでもLLMConfig

self.anythingLLMConfig = { {.
            'anythingllmApi': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmApi']、
            'anythingllmKey': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmKey']、
            'anythingllmModel': configData['apiServer']['aiConfig']['AnythingLLM']['AnythingllmModel']、
            'workspace': configData['apiServer']['aiConfig']['AnythingLLM']['workspace'].
        }

 

統合パック取得

トゥッツィー・ラボ - ウィンダウンズ・エディション

クオーク
https://pan.quark.cn/s/8d1293227cf9

バイドゥ
https://pan.baidu.com/s/1wx8LmbY2XBaJAAJvmGK06g?pwd=8d5m

無断転載を禁じます:チーフAIシェアリングサークル " DeepSeek-R1ベースのローカル/API知識ベースを実装し、WeChat BOTにアクセスする。

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語