5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Elixirで手軽にLLMを使おう

Last updated at Posted at 2025-07-29

Ollamaとは?

Ollamaは、ローカル環境でLLMを実行できます

Ollamaを導入する主なメリットは以下の通りです

  • プライバシー保護: データを外部サービスに送信することなく、ローカルで処理が完結します

Ollamaの環境構築

まずはOllamaをローカル環境にインストールしましょう
ここではUbuntu環境を例に説明します

Ollamaのインストール

ターミナルを開き、以下のコマンドを実行します

curl -fsSL https://ollama.com/install.sh | sh

モデルのダウンロードと動作確認

インストールが完了したら、モデルをダウンロードして動作確認を行います

ollama run gemma3:1b

初回実行時にはgemma3:1bモデルのダウンロードが開始されます
ダウンロードが完了すると、>>>プロンプトが表示され、LLMと対話できるようになります

>>> ラーメンについて教えて

このように入力して回答が返ってくれば、ollamaのセットアップは完了です
終了するには Ctrl + Dです

Elixirプロジェクトの準備

次に、Elixirプロジェクトにollamaライブラリを追加します。

プロジェクトの作成

新しいプロジェクトを作成する場合は、以下のコマンドを実行します

mix new ollama_test
cd ollama_test

ollamaライブラリの追加

プロジェクトのmix.exsファイルを開き、deps関数に{:ollama, "0.8.0"}を追加します

mix.exs
defmodule OllamaTest.MixProject do
  use Mix.Project

## 省略 ###

  defp deps do
    [
      {:ollama, "0.8.0"} # ここでollamaライブラリを追加します
    ]
  end
end

依存関係の取得

ターミナルで以下のコマンドを実行し、ollamaライブラリをダウンロードしてプロジェクトに追加します

mix deps.get

ollamaライブラリを使ったLLMとの対話

lib/ollama_test.exファイルを開き、以下のコードを記述します

lib/ollama_test.ex
defmodule OllamaTest do

  def hello do

    client = Ollama.init()

    {:ok, ret} = Ollama.completion(client,
      model: "gemma3:1b",
      prompt: "Elixirについておしえて"
    )

    ret
    |> Map.get("response")
    |> IO.puts()

    :world
  end
end

動作確認と実行

mix test

サンプルソース

実行例

おまけ RPI5で動かす方法

ollama run gemma3:1b-it-qat

で量子化モデルが動く事を確認
終了するには Ctrl + Dです

Ollama.completionの部分を下記に書き換えてください

lib/ollama_test.ex
    {:ok, ret} = Ollama.completion(client,
      model: "gemma3:1b-it-qat",
      prompt: "Elixirについておしえて 100文字以内で答えて"
    )

これはモデルをgemma3:1b-it-qatにしてます
量子化モデルにして軽量化してます

プロンプトで文字制限をかけて軽量化してます

iex起動

iex -S mix

実行

iex(1)> OllamaTest.hello
5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?