腾讯雲実名番号: 腾讯雲ベクトルデータベース (VectorDB) の大モデルを用いて、ゼロ踏み穴で企業クラスの私有知識ベースを構築する
この大モデル (LLM) が「満天飛」の時代に、多くの企業と開発者が着地したAIアプリケーションで、非常に頭が痛い問題に直面している
大きなモデルには幻覚があり、企業内のプライベートデータを知らない、あるいは回答の時効性が不足している
。
直接微調整は高価であるだけでなく、データの更新が非常に面倒である。現在、業界で最も成熟し、コストパフォーマンスの高いソリューションは
RAG (検索強化生成、Retrievers-Augmentedジェネレーション)
。RAGアーキテクチャの中心的な「心臓」は
ベクトルデータベース
。
今日はテンセント雲を使って自分で研究します。
TencentDB for VectorDB (テンセント雲ベクトルデータベース)
、LangChainと大きなモデルに合わせて、ゼロから効率的で正確な企業クラスのプライベート知識ベースを構築します!
一、なぜテンセントの雲を選んだのですか?
コードを書く前に、なぜ今回テンセント雲を選んだのかを話してください。
開梱してすぐに使用して、運送を免除する: オープンソースのベクトルデータベースは自分で簡単に組み立てることができるが、高可用性、スライス、拡張、インデックスの最適化はすべてピットである。テンセント雲はこれらの基礎的な複雑さをすべてカプセル化した。
超高同時とシングルマシンの性能: シングルマシンは最大百万級のQPSをサポートし、遅延はミリ秒級に抑えられ、業務規模の増加後のシームレスな拡張に非常に適しています。
ネイティブはRAGシーンをサポートしています。embedingのベクトル化モデルと標準フィルタ機能を内蔵しています。直接に自分でembedingサービスを構築する計算力のコストを節約しました。
事前準備のヒント: 始める前に、腾讯クラウドサービスを開設する必要があります。もしあなたが企業チームであるか、資源を一括購入する必要がある場合は、正規ルートを通じて腾讯クラウドアカウントの購入と実名認証を完成することを提案して、設計者の専門的なアクセス指導を得るだけでなく多くの場合、よりお得な専用割引を受けることができます。
二、全体構造設計 (RAGワークフロー)
私たちが構築したプライベート知識ベースは、コアプロセスが3ステップしかありません
Plaintext
[元のドキュメント (.Pdf/.md)]
│
▼
[1.テキストブロック & ベクトル化]
│
▼
[2.テンセント雲に保存します。
│
▼
[4.組み合わせproぶりを大モデルに提出する] -- ► [正確な回答を出力する]
三、実戦手順: 0から1まで知識リポジトリを構築する
手順1: テンセント雲VectorDBインスタンスを作成する
腾讯クラウドコンソールにログインし、ベクトルデータベースTencentDB for VectorDBページを検索します。
「新規インスタンス」をクリックして、課金モードを選択します
構成ネットワーク (VPC):注意! ベクトルデータベースは、イントラネットを介して高速アクセスを実現するために、あなたのクラウドサーバ (CVM) または関数計算と同じVPC (プライベートネットワーク) 内にある必要があります。
作成が完了したら、インスタンスのイントラネットIP、ポート (通常は80)、ユーザー名(root) 、キー (Key) を記録します。
ステップ2: 環境準備とSDKインストール
Python開発環境 (または腾讯雲CVM) で、公式SDKと必要な依存ライブラリをインストールします
バッシュ
Pip install tcvectordb langチェインlangchain-comminopypdf
手順3: コードの作成 -- 文書処理とベクトル入庫
企業内の
.Com
(スタッフマニュアル) 私たちはそれを読み取ったり、ブロックしたり、ベクトルに変換したりして、テンセント雲VectorDBに書き込む必要があります。
ステップ4: 検索と大モデルq & a (RAG閉ループ) を実現する
文書が入庫した後、ユーザーが問題を提起したとき、私たちはVectorDBで最も関連度の高いテキスト段落を検索し、最後に大きなモデル (DeepSeekや混合元の大きなモデルなど) に与えます
Defask_knowledge_base (query _ text):#1.ユーザーの質問をベクトルに変換する (入庫と同じembedingモデルを使用する) # 腾讯クラウドVectorDBはembeding Pipelineをサポートし、ローカルモデルで生成することもできます
Query _ vector = get_embeding (query _ text) # これがあなたのベクトル化関数 #2であると仮定します。VectorDBで類似度Top-K検索を行います。
Res = coll.search (
Vectors =[query _ vector],
Limit = 3 # は最も似た3段落のテキストを取る
& Nbs
P;)
#3.検索したコンテキストを抽出する
Context _ list = [doc['text _ content'] for doc in res[0]]
Context = "\ n--\ n".join(context_list)
#4.コンテキスト付きproぶりを構築する
Prompt = f "" "あなたはプロの企業アシスタントです。以下に提供する【参考資料】に基づいて、ユーザーの質問にのみ回答してください。資料に言及されていない場合は、「申し訳ありませんが、内部資料に関連する内容が見つかりません」と回答してください。【参考資料】: {context} 【ユーザー質問】: {query _ text} "" "#5.ビッグモデルを呼び出して回答を生成する
Response = call_llm(prompt) # あなたのLLM apireturresponseを呼び出します
# テスト呼び出し
Answer = ask_knowledge_base("会社の有給休暇は何日ありますか?")
印刷
四、ピット回避ガイドとベストプラクティス
実際に着地する過程で、いくつかの「血涙の教訓」が注意に値する
Chunk (カット) の大きさが重要です。カットが小さすぎて (50字など) 、文脈情報が失われやすいです。カットが大きすぎて (2000字など) 、検索した騒音が多すぎます。推奨: 1ブロックあたり300 ~ 500ワード、オーバーラップ度は10% ~ 15% に設定します。
スカラーフィルタ (Filter) の活用: 知識ベースにHR、財務、技術などの複数部門のデータが含まれている場合は、インデックスを作成するときに必ずcategoryスカラーフィールドを追加してください。検索時にまず部門をフィルタリングすることで、精度を大幅に高め、計算力を節約することができます。
ハイブリッド検索 (ハイブリッド検索): 単純にベクトル検索 (意味マッチング) で専有語彙 (例えば製品型番、人名) に敏感でない場合があります。テンセント・クラウド・ブルートは全文検索/キーワードフィルタリングの混合検索モードと結合し、効果が高い。
まとめ
を通して
テンセント雲VectorDB + ビッグモデル
の組み合わせは、数十行のコードだけで、複雑な基礎環境の構築を避けて、高合併、低遅延、極めて正確な企業プライベート知識ベースを構築しました。
チーム内に独自のAIナレッジベースシステムを導入しようとしている場合は、直接試してみてください。構築前に、計算力とストレージ資源の計画を立て、コンプライアンスとコストパフォーマンスの高いものを選ぶことをお勧めします
テンセントクラウドアカウントの購入
サービス保証チャネルと
、あなたのAIプロジェクトを効率的かつ安定的に着地させます!
