Local Modelを動かすとき、Model File、Inference Engine、Command Option、Port、Server Processなど複数の設定が必要になることがあります。
Ollamaは、そのよくある作業を比較的シンプルなLocal Model体験へまとめるToolです。
CLIでModelを管理し、Local Serviceを通してApplicationからHTTP APIで呼び出せます。
Pull・Run・Serve
概念的なFlowは、
- pull — 必要なModel FileをDownload
- run — LocalでInteractiveに実行
- ApplicationからOllama ServerのLocal APIをCall
です。
Model NameやCommandはVersionとCatalogによって変わるため、実際のDocumentationを確認します。
Local APIが便利な理由
Python ScriptやEditor Plugin側は、Inference Engineの細かい実装をすべて知る必要がありません。
Local Ollama ServerへRequestを送り、Responseを受け取れます。
第018回のAPIと第025回のLocal LLMがここでつながります。
APIはCloudだけのものではありません。同じMachine上のLocal ModelにもInterfaceを作れます。
Portとは?
一台のComputerでは複数のNetwork Serviceが同時に動きます。
Portは、通信をどのServiceへ渡すか区別する番号です。
localhostとPortを指定するAddressは、「このComputer自身の、その番号のServiceへ接続する」という意味です。
同じPortを別Programが使っていると、Server起動に失敗することがあります。
Modelfileとは?
OllamaではModelfileを使い、Base Model、Parameter、InstructionなどをRecipeとして定義できます。
これは再利用可能なRuntime Configurationに近いものです。
System Promptを書いたからといってModel WeightをFine-tuningしたことにはなりません。
Hardware Limitは消えない
ModelがRAM / VRAMへ入らなければ、簡単なCommandでもMemoryを作り出せません。
Model Size、Quantization、Context Lengthは依然として重要です。
第025回のLocal Modelと第028回のCUDAの考え方がそのまま関係します。
Server公開には注意
自分のMachineだけでListenするServiceと、LANやInternetへExposeするServiceはSecurity Riskが違います。
Binding Address、Reverse Proxy、Firewall、Authenticationを理解せず公開しないようにします。
Private Local Modelを、認証なしPublic APIへしてしまうのは危険です。
Ollamaが向いている場面
- Local Modelをすぐ試したい
- 複数Modelを共通APIで使いたい
- Development Toolと連携したい
- Model管理を簡単にしたい
ときに便利です。
大規模Production Inferenceでは、より専門的なServing Stackが必要になることもあります。
今日の一文
Ollamaは、対応ModelのDownload、Local実行、Server提供を共通CLIとAPIで扱いやすくするLocal Model Runnerです。
次の第031回ではToolから一歩離れ、現代LLMを大きく変えたAttentionとTransformerへ進みます。
コメント
質問、感想、補足したいことがあれば、ここに残せます。
まだコメントはありません。1Fになってみませんか。