ローカル LLM を実行するためのライブラリです。GGUF を読み込み、チャット機能を簡単に実装できます。
プラットフォームを選び、最初のローカルチャットを動かしてみましょう。
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 を動かします。必要メモリはモデルサイズと量子化で変動します。
自分のアプリケーションでチャットをストリーム生成する最小サンプル。
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="")
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) を選んでください。
はい。ailia LLM は iOS / macOS で Metal、Windows で Vulkan を使用します (ailia SDK / Speech / Voice と異なり cuDNN は不要です)。GPU が無い環境では CPU フォールバックします。
C++ バインディングはランタイムライブラリと同じ場所に ailia.lic を配置する必要があります:
Windows: ailia.dll と同じフォルダ (サンプルでは cpp/ 配下)。
macOS: ~/Library/SHALO/
Linux: ~/.shalo/
Python / Unity / Flutter / JNI バインディングは初回実行時にライセンスを自動ダウンロードするため、この手順は C++ バインディングに限ります。
評価ライセンスは実行時に自動でダウンロードされ、開発・評価用途に利用できます。商用配布には製品ライセンスを申請してください。詳細は ailia ライセンス規約 を参照してください。