見出し画像

Ollama の使い方 - M3 Mac で Ollamaを使ってLLMsを動かしてみる その2-

もうしばらくこの動画通りにやってみます。

補足 noteに英語の逐語の日本語訳がありました。 

とりあえずmistralを走らせるところから。

ollama run mistral

準備ができたら,動画通りに指示して出てきた回答

>>> tell me a joke

Here's one for you:

Why don't scientists trust atoms?

Because they make up everything!

このあと2つのターミナルウィンドウを立ち上げて,mistralと平行してLlama2を動かすこともできるというお話。実際可能でした。

write a 1000 word essay about ai 

次は,システムメッセージのプロンプトをどう調整するかという話題です。

ここで動画からちょっと離れて,Helpを触ってみます。

>>> /?
Available Commands:
/set Set session variables
/show Show model information
/bye Exit
/?, /help Help for a command

Use """ to begin a multi-line message.

>>> /show
Available Commands:
/show license Show model license
/show modelfile Show Modelfile for this model
/show parameters Show parameters for this model
/show system Show system prompt
/show template Show prompt template

動画から,modelfile を調整するということなので,modelfileの中身を見てみます。

>>> /show modelfile
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM mistral:latest

FROM
(ここのパス情報は省略)
TEMPLATE """[INST] {{ .System }} {{ .Prompt }} [/INST]
"""
PARAMETER stop "[INST]"
PARAMETER stop "[/INST]"
PARAMETER stop "<<SYS>>"
PARAMETER stop "<</SYS>>"

動画とまったく違ってました。
動画では,modelfileをパッと開いていましたが,どこにあるのか自分にはわかりませんでしたので,githubのページを参照しました。

ここに動画と同じ内容のコードがありました。

FROM llama2

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature 1

# set the system prompt
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""

それで,動画にあわせて,内容を変更します。

FROM mistral

# set the temperature to 1 [higher is more creative, lower is more coherent]
PARAMETER temperature .5

# set the system prompt
SYSTEM """
You are Mario from Super Mario Bros. Answer as Mario, the assistant, only.
"""

VS codeのアプリを入れていないので,普通にテキストエディタで編集,拡張子がない場合は.txtとするの項目からチェックを外して,今動かしている作業ディレクトリに保存。で,よくわかりませんが次のコマンドを入力。

ollama create mario -f ./Modelfile

動画と同じようなターミナル出力と同じみたいでしたので,多分成功したと理解して,次に進みます。

ollama run mario

marioというモデルが動いたようです。

who are you?
Tell me about where you live.

下については,動画とは違う回答でしたが,マリオの回答でした。
/bye で終了して,モデルに入っているかを以下で確認したら,あらたにmistralとは別に,marioというモデルが確かにできていました。

ollama list

modelfileについては下記のリンクを読んで学習しないといけないようです。

https://github.com/jmorganca/ollama/blob/main/docs/modelfile.md

modelfileに含められる命令は下記のようです。

命令説明
FROM(必須)使用する基本モデルを定義します。
PARAMETEROllama がモデルを実行する方法のパラメーターを設定します。
TEMPLATEモデルに送信される完全なプロンプト テンプレート。
SYSTEMテンプレートに設定されるシステム プロンプトを指定します。
ADAPTERモデルに適用する (Q)LoRA アダプターを定義します。
LICENSE法的ライセンスを指定します。

上記ページより

さっきのモデルをcreateするコマンドをちゃんと理解するために,"ollama create choose-a-model-name -f <location of the file e.g. ./Modelfile>'" についてBardに聞いてみました。

-f は、コマンドライン引数にオプションを指定するためのフラグです。

'./' は、現在のディレクトリを意味する文字列です。この文字列は、現在のディレクトリにあるファイルを指定するために使用されます。

したがって、-f ./Modelfile は、モデルのファイルの場所を現在のディレクトリにある Modelfile という名前のファイルに指定するオプションです

Bard

残っている疑問:ダウンロードしたモデルと新しくつくられたモデルはどの場所にあるのか理解できてません…

動画の続きです。
以下のようなものがいろいろ使えるという紹介でした。

Community Integrations

Web & DesktopHTML UI
Chatbot UI
Typescript UI
Minimalistic React UI for Ollama Models
Web UI
Ollamac
big-AGI


Terminaloterm
Ellama Emacs client
Emacs client
gen.nvim
ollama.nvim
gptel Emacs client


LibrariesLangChain and LangChain.js with example
LlamaIndex
LiteLLM
OllamaSharp for .NET
Ollama-rs for Rust
Ollama4j for Java
ModelFusion Typescript Library
OllamaKit for Swift
Ollama for Dart


Extensions & PluginsRaycast extension
Discollama (Discord bot inside the Ollama discord channel)
Continue
Obsidian Ollama plugin
Logseq Ollama plugin
Dagger Chatbot
Discord AI Bot
Hass Ollama Conversation

そのあとは,彼自身のOpenChatを作る過程を紹介していましたが,パイソンを使っての話でした。これはまったく未勉強なのでわかりませんでした。

あと前記事の最後の,Dockerのaigenについては,GPT-4に尋ねながらやってみました。githubからファイルをダウンロードして,dockerのコンテナーにして,llamaを実行するところまでできました。ブラウザーを使ってやりとりする形でした。ただ記憶がないのか,文脈は理解してない様子でした。PDFをアップロードして,それについての質問への答えはできていました。

よく分からないことがまだまだ多いので,おいおい調べていきたいと思います。


#AI #AIでやってみた #やってみた #Ollama  

この記事が参加している募集

やってみた

この記事を最後までご覧いただき、ありがとうございます!もしも私の活動を応援していただけるなら、大変嬉しく思います。