オープンソース

Ollama〜ローカルLLM環境をOSSで構築する方法〜

近年、ChatGPTをはじめとした生成AIの活用が広がり、企業でもAIを業務に取り入れて社内問い合わせやマニュアル検索などに活用する動きが急速に高まっています。しかし、企業で生成AIを活用する場合、機密性や運用コストが気になります。こうした場合、自社サーバやオンプレ環境で直接動作させる「ローカルLLM」で生成AIを活用するのがおすすめです。Ollamaは、このローカルLLMを実行・管理するためのOSSです。本記事では、Ollamaで実現できることや導入のポイントを紹介します。

目次

LLMとは

LLM(大規模言語モデル:Large Language Model)とは、膨大なテキストデータを学習して、文章の生成や理解、要約、翻訳、質問応答などの自然言語処理を高精度で行う人工知能モデルのことです。LLMは文章の統計的パターンや文脈を学習することで、人間が書く文章に近い形で意味のある出力を生成できます。LLMは大きくクラウド型とローカル型に分けられます。

LLM(大規模言語モデル)イメージ

クラウドLLM

ChatGPTやGeminiなど、インターネット経由で提供されるLLMのこと。学習済みの大規模データセットや提供元が持つ最新のナレッジを参照して回答を生成する。外部のインターネット上の情報やAPIを組み合わせることも可能。

ローカルLLM

組織内のサーバやオンプレ環境で直接動作させるLLMのこと。社内のドキュメントやデータベースなど、自社環境内の情報を優先的に参照して回答を生成することが可能。外部にデータを送信せずに処理することができる。

なお、LLMによってはAPIキーの発行および利用量に応じた従量課金が必要となるケースがあります。例えば、GoogleのGeminiは一定の利用上限に達するまでは無償で利用可能ですが、OpenAI(ChatGPT)やAnthropic(Claude)等のクラウドLLMは従量課金がかかる可能性があります。

以下の表で、ローカルLLMとクラウドLLMのメリットを比較します。

メリット デメリット 代表例
クラウドLLM
  • LLM自体は提供元が管理するため、いつでも最新のモデルを利用可能
  • 複雑な計算や大規模モデルでも自社リソースに依存せず利用可能
  • データを外部に送信するため、機密情報を取り扱う際には注意が必要
  • API連携では従量課金が一般的であり、利用量に応じてコストが増加する可能性がある
  • OpenAI - GPT-4 (ChatGPT)
  • Anthropic - Claude
  • Google - Gemini
ローカルLLM
  • データを社内に留められるため、機密性の高い情報を扱いやすい
  • API従量課金が発生せず、長期的な運用コストを抑制できる
  • ユーザ数による課金が発生しない
  • 自社の用途やドメインに特化したカスタマイズが可能
  • ネットワーク環境に依存せず、オフラインでも利用可能
  • 高性能なハードウェアが必要になる場合がある
  • モデル更新や学習済みデータの改善は自社で対応する必要がある
  • Meta(旧Facebook)- LLaMA3
  • Databricks(旧MosaicML)- MPT-7B
  • TII - Falcon-7B

Ollamaとは

Ollamaとは、PCやサーバ上などのローカル環境でLLMを実行・管理するためのソフトウェアです。Ollama, Inc.によって提供され、MIT Licenseでオープンソースソフトウェアとして公開されています。Ollamaでは、利用したいAIモデルを選択し、コマンドラインやAPIを通じて実行できます。

OllamaはLinux環境に対応しており、GPUとGPUドライバが適切に認識されていれば、AlmaLinuxなどのRHEL系OSや、Ubuntu、Debian系OSでも利用できます。Ollama自体にはWeb画面は搭載されていませんが、Open WebUIなどと連携することで、ChatGPTのようにブラウザ上で質問を入力し、回答を確認できる環境を構築できます。

Ollamaでおすすめの使い方として、読み込ませた文書などのデータに対する処理や、文章の校正、案出しなどがあります。ローカルLLMと、DifyFessなどの外部ツールと組み合わせることで、社内の文書検索やチャットボットによるサポート対応などに活用できます。

Ollama活用図

なお、回答に使われている情報は数年前までのものと古い可能性があるため、情報収集目的での利用には工夫が必要です。

Ollamaでできること

Ollamaは、主に以下のような機能を備えています。

ローカルLLMの実行

OllamaでLLMを実行する際は、まず言語モデルを指定します。使用可能な言語モデルは、Ollamaの公式サイトから確認できます。LLMの実行方法は主に次の2種類あります。

CLIでのチャット

ChatGPTのようにWebブラウザ上で文章を入力・送信することで回答が返ってくるのと同様に、CLI(ターミナル)で文章を入力・送信することで回答が表示される方法です。ただし、この方法は実務ではほぼ使わないことが多いです。実際にローカルLLMを使ったシステムを構築する際に、モデルの選定にあたって動作確認として使う程度が考えられます。

API経由でのリクエスト

クライアントからOllamaのAPIを呼び出し、返ってきたJSONから回答を抽出する方法です。ローカルLLMを利用したシステムを構築するにあたっては、この方法が利用できます。また、OllamaにはUIが搭載されていないため、UI上でローカルLLMを使ったチャットを行いたい場合も、Difyなどのソフトウェアを使用し、OllamaのAPIを指定して使うことができます。

用途に合わせたカスタムモデルの作成

カスタムモデルとは、既存のモデルをベースにして、プロンプトや設定を追加・変更したオリジナルのモデルです。定義ファイル(Modelfile)を作成し、そのファイルをもとに回答方針や出力形式を指定したモデルを作成することができます。例えば、次のような動作をあらかじめ指定できます。

<カスタムモデルの例>

  • 回答は必ず日本語で行う
  • 最初に結論を記載する
  • 回答を10行以内にまとめる
  • 参照文書にない内容は推測で回答しない
  • 専門用語には補足説明を付ける
  • 設定変更や再起動を伴う場合は注意事項を記載する
  • Linuxサーバ管理者として回答する

本機能を使うことで、ユーザ入力の手間の削減や、回答のぶれを少なくさせる、プロンプトを固定化してシステムに合った振る舞いにさせるといったことが可能です。ただし注意点として、本機能は学習ではなく、振る舞いや設定を固定化するためのものであることを理解して利用する必要があります。

Ollamaの導入メリット

Ollamaを利用することで以下のメリットがあります。

機密情報でも安心して扱える

OllamaではローカルLLMのシステムを構築できるため、社内データを外部の生成AIサービスへ送信せずに処理することができます。そのため、機密情報を含む文書の要約、社内マニュアルを利用した問い合わせ対応、技術文書の検索など、クラウド型生成AIへデータを送信しにくい用途にも活用できます。

運用コストを抑えられる

ローカルLLMでは、APIの従量課金やユーザ単位のライセンス料金が発生しません。そのため、多数の利用者が継続的に生成AIを利用する環境では、運用コストを管理しやすくなる可能性があります。

独自にAIモデルをカスタマイズできる

利用するAIモデル、回答ルール、参照させる文書、連携するシステムなどを自社の要件に合わせて選択できるため、業務に特化した生成AIシステムを構築できます。

Ollamaの活用方法

LLMは単体で使用することもできますが、外部データやナレッジベースと組み合わせることで、特定の業務や分野に特化した応答や分析が可能になります。このような仕組みはRAG(Retrieval-Augmented Generation)と呼ばれています。Ollamaでも、RAG用のモデル設定をして外部ツールと組み合わせることで、社内の文書検索やチャットボットによるサポート対応などに活用できます。例えば、GUIベースの操作でAIアプリケーションを開発できるDifyや、文書の高速全文検索ができるFessなどのOSSと連携することが可能です。

Ollama導入時のポイント

Ollamaを導入する際には、利用目的に応じたサーバやGPUの選定が重要です。AIモデルには、8B、14B、27Bなどのパラメータ数があり、一般的にはパラメータ数が大きいモデルほど高い表現力を期待できます。一方で、モデルが大きくなるほど必要なGPUメモリや処理時間も増加します。そのため、導入時には次のような項目を確認する必要があります。

  • 利用するAIモデル
  • 同時に利用するユーザ数
  • 質問から回答までに求める時間
  • 処理する文書の長さやデータ量
  • 搭載するGPUとGPUメモリ
  • 保存するAIモデルに必要なストレージ容量
  • チャット、文章作成、文書検索などの利用目的
  • Open WebUI、Dify、Fessなどとの連携方法
  • APIへアクセスできるネットワークの範囲
  • 認証やアクセス制御の方法

デージーネットの取り組み

デージーネットでは、Ollamaのインストール方法、基本的な使い方やカスタムモデルについて調査・検証し、その詳細を調査報告書としてまとめました。本調査報告書は以下より無料でダウンロードできます。

またデージーネットでは、お客様の業務内容やセキュリティ要件に合わせて、Local LLMとDifyやOllamaを組み合わせたオンプレの生成AI基盤構築のサービスを提供しています。このシステムを導入することで、社内文書を活用した問い合わせ対応、業務手順の検索、文書確認の支援、ワークフローによる業務効率化などにAIを活用できます。実際にビジネス向けに業務で生成AIを利用するためには、LLMの選定、サーバ構成、セキュリティ設計、ナレッジベースの作成、プロンプト設計、運用ルールの整備などが必要です。社内ナレッジの活用や、AIによる業務効率化をご検討中の場合は、ぜひお気軽にお問い合わせください。

情報の一覧

ローカルLLM(Ollama)調査報告書

無料資料ダウンロード

Ollamaとは、ローカル環境でLLM(大規模言語モデル)を実行・管理するためのオープンソースソフトウェアです。CLIやAPIを通じてモデルを利用でき、Open WebUI、Dify、Fessなどの外部ツールと連携して、ローカルLLM環境やRAG環境を構築できます。

Dify調査報告書

無料資料ダウンロード

Difyとは、LLM(大規模言語モデル)を活用した生成AIアプリケーションの開発・運用を効率化するプラットフォームです。専門的なプログラミング知識などは不要で、プロンプト設計や外部データ連携、ワークフロー構築など、LLMを活用した各種処理を統合的に管理・実行できるアプリを作ることができます。

Dify〜生成AIアプリケーションを構築できるOSS〜

OSS(Dify)

Dify(ディーフィー)とは、LLM(大規模言語モデル)を活用した生成AIアプリケーションの開発・運用を効率化するプラットフォームです。この記事では、Difyで何ができるのか、Difyの利用メリットについて解説しています。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

Ollama〜ローカルLLM環境をOSSで構築する方法〜の先頭へ