|
オリジナル:Haoran Datawhale Datawhaleのヒント著者: Haoran、Datawhaleメンバー 昨日の記事「DeepSeek R1 ローカル展開:初心者向けガイド!」は、期待通りの成果を上げました。一方で、学習者から「ファイルをアップロードできますか?」という質問も寄せられました。はい、アップロードできます!本日、完全なチュートリアルを公開しました! handy-ollama オープンソースチュートリアル: https://github.com/datawhalec... オンライン閲覧アドレス: https://datawhalechina.github... また、お知らせですが、来週水曜日の 2 月の「チーム学習」セッションには、このチュートリアルを展開するためのステップバイステップ ガイドが含まれます。 完全なチュートリアル このチュートリアルでは、DeepSeek R1 と Ollam を使用してローカライズされた RAG (検索強化生成) アプリケーションを構築する方法について詳しく説明します。 ドキュメント処理、ベクトルの保存、モデルの呼び出しなどの主要な手順を含む例を通じて、完全な実装プロセスを説明します。 このチュートリアルでは、基本言語モデルとして DeepSeek-R1 1.5B を使用します。 モデルごとに特性や性能が異なるため、読者は実際のニーズに応じて RAG システムを実装するために他の適切なモデルを選択できます。 注: このドキュメントには、コアコードスニペットと詳細な説明が含まれています。完全なコードはノートブック (https://github.com/datawhalec...\_R1\_RAG/%E4%BD%BF%E7%94%A8%20DeepSeek%20R1%20%E5%92%8C%20Ollama%20%E5%AE%9E%E7%8E%B0%E6%9C%AC%E5%9C%B0%20RAG%20%E5%BA%94%E7%94%A8.ipynb) でご覧いただけます。 事前準備まず、Ollam をダウンロードし、関連する環境を設定する必要があります。 Ollama の GitHub リポジトリ (https://github.com/ollama/ollama) には詳細な手順が記載されており、要約すると次のようになります。 ステップ1:Ollamをダウンロードする(https://ollama.com/download) をダウンロードし、ダブルクリックして Ollam アプリケーションを実行します。 ステップ2: インストールの確認コマンドラインに ollama と入力して次の情報が表示された場合、Ollama が正常にインストールされたことを意味します。 ステップ3: モデルを引っ張る
ステップ4: モデルをデプロイするモデルをデプロイするには、コマンド ライン ウィンドウで次のコマンドを実行します。 オラマランディープシーク-r1:1.5b ollama run deepseek-r1:1.5b のように、コマンド ラインから直接デプロイメント モデルを実行することもできます。 Ollam を使用して DeepSeek R1 モデルを展開するだけの場合は、次の手順を実行する必要はありません。 ステップ5: 依存関係をインストールするlangchainコミュニティpip で langchain をインストールします。langchain\_community 彩度pipでlangchain_chromaをインストールする オラマpip で langchain_ollama をインストールします 準備が完了したら、LangChain、Ollam、DeepSeek R1をベースにしたローカルRAGアプリケーションの構築を始めましょう。具体的な実装手順については、以下で詳しく説明します。 ローカルRAGアプリケーションの実装1. ドキュメントの読み込み PDF ドキュメントを読み込み、適切なサイズのテキスト ブロックに分割します。 langchain\_community.document\_loadersからPDFPlumberLoaderをインポートします ファイル = "DeepSeek_R1.pdf" PDFを読み込むローダー = PDFPlumberLoader(ファイル) langchain.text\_splitterからRecursiveCharacterTextSplitterをインポートします
Chroma データベースを使用してドキュメント ベクトルを保存し、Ollama が提供する埋め込みモデルを構成します。 langchain\_chromaからChromaをインポート ローカル_埋め込み = OllamaEmbeddings(モデル="nomic-embed-text") ベクトルストア = Chroma.from\_documents(ドキュメント=all\_splits、埋め込み=local\_embeddings) 3. 連鎖式の構築 モデルとプロンプト テンプレートを設定し、処理チェーンを構築します。 langchain\_core.output\_parsers から StrOutputParser をインポートします モデル = ChatOllama( プロンプト = ChatPromptTemplate.from\_template( 入力ドキュメントを文字列に変換します。デフフォーマット_docs(ドキュメント): チェーン = {"docs": format\_docs} | プロンプト | モデル | StrOutputParser() question = 「DeepSeek プロジェクトの目的は何ですか?」 docs = vectorstore.similarity\_search(質問) chain.invoke(ドキュメント) 4. 検索機能付きQA 検索機能と質疑応答機能を統合します。 langchain\_core.runnables から RunnablePassthrough をインポートします RAG_TEMPLATE = """ <コンテキスト> 次の質問に答えてください。 {質問}""" rag\_prompt = ChatPromptTemplate.from\_template(RAG\_TEMPLATE) リトリーバー = vectorstore.as\_retriever() qa_chain = ( question = 「DeepSeek プロジェクトの目的は何ですか?」 走るqa_chain.invoke(質問) 要約このチュートリアルでは、DeepSeek R1とOllamを使用してローカライズされたRAGアプリケーションシステムを構築する方法について詳しく説明します。以下の4つの主要な手順で、すべての機能を実装しました。
このチュートリアルでは、ローカルRAGシステムを素早く構築し、特定のニーズに合わせてカスタマイズする方法を説明します。最良の結果を得るには、実際に様々なモデルとパラメータ設定を試してみることをお勧めします。 注: Streamlit や FastAPI などのツールを使用すると、ローカル RAG アプリケーションを Web サービスとして展開して、より幅広いアプリケーション シナリオを実現できます。 リポジトリには app.py ファイル (https://github.com/datawhalec...\_R1\_RAG/app.py) も用意されており、これを直接実行して Web サービスを開始できます。 ドキュメント「DeepSeek R1 と Ollama を使用して RAG システムを構築する」(https://apidog.com/blog/rag-d...) を参照してください。 注意: このコードを実行する前に、Ollama サービスが実行されている必要があります。 チュートリアル全体を完了しました!おめでとうございます!👍 いいね! (3件のいいね!)↓ |
この記事では、DeepSeek-R1 と Ollam を使用してローカル アプリケーションを構築する手順を段階的に説明します。
関連するおすすめ記事
-
オンラインチュートリアル | LivePortrait で超リアルな表情転送を実現し、バーチャルアイドルに命を吹き込む!
-
科学研究のためのAI検索が登場!Zhihuの直接的な回答が、正規の学術論文データベースと統合され、直接テストできるようになりました。
-
大規模モデルを微調整するプロセス全体について考える
-
単一の画像からストリートレベルの位置情報を取得する:大規模なエンドツーエンドの画像地理位置情報モデルである Address CLIP が ECCV 2024 で発表されました。
-
GPT-4o は、追加料金を支払うことでさらに高速化できます。新機能では、以前の 23 秒に比べて 7 秒でタスクを完了します。
-
o1はもはやチャットボットではありません!元SpaceXエンジニアが、嫌っていたo1を毎日頼りにする新しい使い方のヒントを公開。