SmolagentsをOllamaを使ってローカルPC上で動かしてみた
はじめに
この記事では、Ubuntu 24.04 上で Smolagents を Ollama を使って実行した方法を紹介します。
動作確認環境
- OS: Ubuntu 24.04
- GPU: Nvidia RTX 4080
Smolagentsの公式ドキュメントではOllamaを利用する方法について詳細な説明はありませんが、提供されているコード例を参考にしながら実装できました。本記事では、その手順を共有します。
Ollamaのインストール
Ollamaの公式ページの手順に従い、インストールを行います。
Ollama公式ダウンロードページ → https://ollama.com/download
その後、LLMとして Qwen2.5 14B
を使用するため、以下のコマンドでモデルをダウンロードします。
ollama pull qwen2.5:14b
※ Qwen2.5 14B
は約9GBあります。
Smolagentsを仮想環境にインストール
仮想環境を作成し、必要なライブラリをインストールします。
python3 -m venv venv
venv/bin/pip install wheel
venv/bin/pip install smolagents[litellm]
💡 smolagents[litellm]
を指定しないと、後のコード実行時にエラーとなるため注意してください。
動作確認用のコード
Smolagents を使用して、エラトステネスの篩による素数生成プログラムを作成しました。
以下の sample.py
を作成します。
from smolagents import CodeAgent, LiteLLMModel
# Ollamaを利用するモデルの設定
model = LiteLLMModel(
model_id="ollama_chat/qwen2.5:14b", # Ollamaのモデル名を指定
api_base="http://localhost:11434", # OllamaのデフォルトAPIポート
api_key="YOUR_API_KEY", # APIキーは不要なのでダミー
num_ctx=8192, # smolagentsの推奨設定
)
# エージェントの作成
agent = CodeAgent(tools=[], model=model, add_base_tools=True)
# Pythonのエラトステネスの篩のプログラムを生成
agent.run(
"Make a Python program of Eratosthenes sieve to generate prime numbers up to 10000",
)
このコードを実行すると、エージェントがPythonのコードを生成し、エラトステネスの篩を用いた素数リスト作成のコードが出力されます。
実行
作成した sample.py
を以下のコマンドで実行します。
venv/bin/python sample.py
実行例:
出力として、生成されたPythonコードが表示され、そのコードが実行されると10000以下の素数のリストが得られます。
まとめ
Ubuntu 24.04上で Smolagents を Ollama を利用して動作させる方法を紹介しました。
Smolagentsの公式ドキュメントにはOllamaに関する情報は少ないですが、サンプルやコードを見ればだいたいわかる、というノリのようです。
Discussion