🤖

SmolagentsをOllamaを使ってローカルPC上で動かしてみた

2025/02/11に公開

はじめに

この記事では、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