🦜

【Ollama】ローカル環境でLLMを選んでLangChainで実行する。

2024/10/18に公開

【0】事前準備

Ollamaをインストールする


公式サイトから「Ollama」をダウンロードして、起動。

ダウンロードするとすぐに利用できるようになります。

CLIコマンドを確認する

コマンド 内容
ollama serve Ollamaを起動
ollama create <モデル名> -f Modelfile Modelfileからモデルを作成
ollama show <モデル名> モデル情報を見る
ollama run <モデル名> モデルを実行
ollama stop <モデル名> モデルを停止
ollama pull <モデル名> モデル一覧からモデルを取得
ollama push <モデル名> モデル一覧にモデルを登録
ollama list モデル一覧
ollama ps 動作中のモデル一覧
ollama cp <モデル名> <新しいモデル名> モデルのコピー
ollama rm <モデル名> モデルの削除
$ ollama run <モデル名>

# 回答を生成する
>>> こんにちは!
こんにちは!

# システムプロンプトを指定する
>>> /set system "あなたはアシスタントAIです"
Set system message.

【1】モデルを指定して取得する

Ollamaライブラリのモデル一覧から使う

Ollama library

$ ollama run <モデル名>
$ ollama run llama3.2

HuggingFaceにあるモデルから使う

HuggingFaceのモデルの使い方

$ ollama run hf.co/{username}/{repository}
$ ollama run hf.co/elyza/Llama-3-ELYZA-JP-8B

【2】LangChainでOllamaを使用する

from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama.llms import OllamaLLM


def main():
    # MODEL
    model = OllamaLLM(model="hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF")

    # PROMPT
    template = """Question: {question}
    Answer: ステップバイステップで考えてみましょう。"""
    prompt = ChatPromptTemplate.from_template(template)

    # CHAIN
    chain = prompt | model
    result = chain.invoke({"question": "美味しいパスタの作り方は?"})
    print(result)

if __name__ == "__main__":
    main()
$ python main.py

# 美味しいパスタを作るには、まず、質のいいパスタを選びます。次に、熱いお湯で塩茹でしますが、この時点で、パスタの種類や好みで水の量や塩加減を調整する必要があります。
# 
# 次はソース作りです。基本的には、好みの油でニンニクと唐辛子を炒めます。香りが立ってきたら、好みの野菜や肉、魚介類を加えて炒めます。そこに、トマト缶やワイン、ブイヨンなどを足してソース全体の味を整えます。
# 
# 最後に、茹でたパスタとソースを合わしますが、この時点で好みで塩加減や油分を調整する必要があります。上手く絡めば、美味しいパスタの完成です。美味しいパスタを作るには、時間と手間がかかりますが、手順を守りながら自分の好みに調整することが大切です。

まとめ

Ollamaを使うと、簡単にLLMをローカル実行できました。

Discussion