LoginSignup
1
2

オフライン環境にローカルLLMを実行する環境を作ってみた

Posted at

はじめに

以前に以下のような紹介をしました。

今回はこれの続きで、ローカルLLMを使える環境をオフラインで作成したので手順を共有できればと思います。

LLMの選定とダウンロード

まず、使用するモデルを選定し、オンライン環境でダウンロードします。ここでは、日本語に対応したjapanese-stablelm-3b-4e1t-instruct-ggufを例に進めます。

ダウンロードしたモデルデータは、オフライン環境へ移行するためにUSBなどの移動可能なメディアに保存します。

必要なライブラリとツールの準備

LLMの実行に必要なライブラリ等をpip downloadを用いて行います。

pip download -d ./packages -r requirements.txt

requirements.txtには以下を含めます。

scikit-build-core>=0.5.1
pathspec>=0.10.1
pyproject-metadata>=0.5
cmake>=3.21
llama-cpp-python

この段階で、インストールを仮想環境にしておくと、良いです。このときに、「特定のライブラリとの依存関係を解決できません」といったエラーが出た場合は、適宜requirements.txtに追記して解決してください。
上記でバージョン指定しているライブラリは私の環境で行った時に追記したものになります。

pip install --no-index --find-links=./packages -r requirements.txt

また、LLMのコンパイルにはcmakeが必要ですので、CMakeの公式サイトからインストーラーをダウンロードしておきます。

オフライン環境でのセットアップ

オフラインPCにて、以下の手順で環境を構築します。

  1. CMakeのインストール: ダウンロードしたインストーラーを実行してCMakeをセットアップします。
  2. Pythonライブラリのインストール:
pip install --no-index --find-links=./packages -r requirements.txt

このステップで問題なく完了すれば、環境はLLMの実行にほぼ準備完了です。

LLMの動作テスト

セットアップが完了したら、以下のPythonスクリプトでモデルが正しく動作するか確認します。

(参考:https://qiita.com/sald_ra/items/24b571ea2b9c0fa04c56#cpu%E6%8E%A8%E8%AB%96%E3%81%B8%E3%81%AE%E9%81%93)

from llama_cpp import Llama

class LlamaAdapter():
    def __init__(self):
        self.llm = Llama(model_path='./japanese-stablelm-3b-4e1t-instruct-q4_K_M.gguf')

    def infer(self):
        output = self.llm(
            "### 指示: 東京の名所を一つ紹介せよ  \n ### 応答:",
            max_tokens=64,
        )["choices"][0]["text"]
        return output

if __name__ == '__main__':
    llama = LlamaAdapter()
    print(llama.infer())

このスクリプトは、指定されたプロンプトに基づいてテキスト生成を行います。正常に動作すれば、セットアップは成功です。


以上

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2