ailia LLM

ローカル LLM を実行するためのライブラリです。GGUF を読み込み、チャット機能を簡単に実装できます。

はじめに

プラットフォームを選び、最初のローカルチャットを動かしてみましょう。

1

インストール

ailia LLM の Python パッケージを PyPI からインストールします。

pip3 install ailia_llm
PyPI で見る
2

サンプルを実行

ailia-models から example_ailia_llm.py をダウンロードして実行します。初回実行時に Gemma 3 4B の GGUF ファイルをダウンロードし、チャット応答をストリーミング生成します。マルチモーダル (画像対応) 版を試すには同じフォルダの example_ailia_llm_mtmd.py を取得してください。

wget https://raw.githubusercontent.com/ailia-ai/ailia-models/master/large_language_model/gemma3/example_ailia_llm.py
python3 example_ailia_llm.py
example_ailia_llm.py example_ailia_llm_mtmd.py (multimodal)

動作環境

ailia LLM はデスクトップとモバイル上でローカル LLM を動かします。必要メモリはモデルサイズと量子化で変動します。

対応 OS

  • Windows 10 / 11
  • macOS 11 以降
  • Linux (Ubuntu 20.04 以降)
  • iOS 13 / Android 7 以降

言語とコンパイラ

  • Python 3.6 以降 / Dart・Flutter 3.19 以降
  • C++17 (VS 2019 以降 / Xcode 14.2 以降 / clang)
  • C# / Unity 2021.3.10f1 以降
  • GPU: Metal (iOS / macOS) / Vulkan (Windows)

モデル形式

  • GGUF (llama.cpp 互換)
  • Llama / Gemma / Mistral / Qwen
  • Phi / DeepSeek ほか
  • Q4 / Q5 / Q8 量子化

メモリ目安

  • 2B Q4: 約 2 GB RAM
  • 7B Q4: 約 5 GB RAM
  • 13B Q4: 約 9 GB RAM
  • Streaming token-by-token output

プロジェクトで API を使う

自分のアプリケーションでチャットをストリーム生成する最小サンプル。

import ailia_llm

model = ailia_llm.AiliaLLM()
model.open("gemma-2-2b-it-Q4_K_M.gguf")

messages = [{"role": "user", "content": "あなたの名前は何ですか?"}]
for delta in model.generate(messages):
    print(delta, end="")

プラットフォーム別 API リファレンス

Python

C++

Unity

Flutter

よくある質問

ailia LLM についてのよくある質問。

対応しているモデル形式は?

ailia LLM は llama.cpp と同じ GGUF 形式を読み込みます。Hugging Face のチェックポイントは llama.cpp 同梱の convert_hf_to_gguf.py で GGUF に変換するか、Hugging Face で配布されている変換済み GGUF をダウンロードして利用できます。

対応しているモデルアーキテクチャは?

Llama / Gemma / Mistral / Qwen / Phi / DeepSeek など、llama.cpp が対応するアーキテクチャに準じます。互換性は llama.cpp の上流に追従します。

生成されるトークンをストリーミングで受け取るには?

model.generate(messages) はモデルがトークンをデコードするたびに差分文字列を返すイテレータです。これを順に受け取ってバッファに足すか直接表示すれば、ストリーミング UX を実現できます。

必要なメモリ量は?

メモリ使用量はおおむね GGUF ファイルサイズ + KV キャッシュ+中間テンソル分です。目安として Q4 量子化では 2B ≈ 2 GB、7B ≈ 5 GB、13B ≈ 9 GB になります。メモリが限られる端末では、より小さいモデルや高い量子化 (Q4 → Q3) を選んでください。

GPU 推論に対応していますか?

はい。ailia LLM は iOS / macOS で Metal、Windows で Vulkan を使用します (ailia SDK / Speech / Voice と異なり cuDNN は不要です)。GPU が無い環境では CPU フォールバックします。

C++ で使うとき、ライセンスファイルはどこに置きますか?

C++ バインディングはランタイムライブラリと同じ場所に ailia.lic を配置する必要があります:

Windows: ailia.dll と同じフォルダ (サンプルでは cpp/ 配下)。
macOS: ~/Library/SHALO/
Linux: ~/.shalo/

Python / Unity / Flutter / JNI バインディングは初回実行時にライセンスを自動ダウンロードするため、この手順は C++ バインディングに限ります。

ライセンスはどう扱われますか?

評価ライセンスは実行時に自動でダウンロードされ、開発・評価用途に利用できます。商用配布には製品ライセンスを申請してください。詳細は ailia ライセンス規約 を参照してください。

資料