はじめに
どうやら人類はAIの進化の過程の中で遂にプログラム・コードを書かなくなるらしい。。。
確かに、GitHubからはGitHub Copilotの次のサービスであるGitHub Sparkが発表され、自然言語でAIと対話することで、プログラム・コードを書くことなくマイクロアプリの作成が可能である、とアナウンスされています。
また、こちらの記事で紹介したStackBlitz社が開発したbolt.newは、自然言語でAIと対話することで、フルスタックなアプリケーション開発が可能である事を紹介しました。
では、もう人間はプログラムを書く必要がないのか?
現実に目を向けると、現時点はその過渡期であるし、まだまだ思い通りのコードをAIに書かせるには課題が多いと私自身は感じています。
とはいえ、個人的な意見になりますが、プログラムを書く楽しさを知っている人にとっては、『プログラム開発をどこまで効率化できるのか』を試しながら楽しんじゃえばいいと思いますし、プログラム言語の習得に挫折した経験をお持ちの方にとっては、『今こそ、再チャレンジする機会』とさえ感じます。
ということで、今あるAIツールを使って、プログラミングを楽しんじゃいましょう
watsonx Code Assistantを楽しんでみる
watsonx Code Assistantを初めて聞く、という方にはこちらの記事が参考になると思います。
watsonx Code Assistantをハックする
こちらの記事
にて、watsonx Code Assistantをずーっと無料で使い続ける方法をご紹介しました。
記事は、オンラインマニュアルに記載されている内容を図を使いながらステップ・バイ・ステップで誰でも使える状態を目指したものであり、使用するモデルはIBMが提供するIBM Graniteモデルでした。
今回は、IBMが提供するモデルに限定せず、オープン・ソース・モデルを利用する方法をご紹介いたします。
オンライン・マニュアルには『オープン・ソース・モデルも利用可能』との記載はないので、サポート対象外かもしれませんが、試してみたら使えたということで、『ハックする』と少し大袈裟な表現を使いました。
手順1: ollama環境の準備
Ollamaのインストーラーをダウンロード
私は、homebrewを使って導入しました
brew install ollama
Ollamaの起動
ターミナルやコマンドプロンプトから
ollama serve
オープン・ソース・モデルのダウンロード
メタ社のllama3.3:70bを使ってみます。
このモデルはパラメータ数が70bでありながら、1つ前のllama3.2 405bを超える性能を持つと言われているメタ社の最新モデルです。
別ターミナルやコマンドプロンプトから
ollama run llama3.3
初めて使用する場合は、指定したモデルがダウンロードされます。2回目以降はダウンロードが省略され、メモリにロードされます。
『ollama serve』側の画面に、llama3.3のロード状況が表示されます。
Llama 3.1と表示されるのが気になりますが、バージョンは2024-12であり、パラメータ数は70bと表示されています。
念の為、別ターミナルやコマンドプロンプトから
ollama ls
と実行します。
llama3.3:latestが1つしかダウンロードされていない事とllama3.3のパラメータ数は70bのみなので、llama3.3で間違いないと思います。
手順3: VS Codeの拡張機能をインストールする
Visual Studio Codeにwatsonx Code Assistantの拡張機能をインストールします。
まずはこちらをクリック
watsonx Code Assistantの拡張機能が表示されますので、[Install]をクリック
Visual Studio Codeが起動し、拡張機能のインストール画面が表示されますので、[Install]をクリック
拡張機能のインストールは以上です。
手順4: 設定画面でllama3.3:latestモデルを指定する
VS Codeを起動して、設定画面(Settings)を表示します。
図にある通り、2箇所(③と④)に、『llama3.3:latest』を入力します。
必要な設定は以上です。
それではいよいよwatsonx Code Assistantを使ってみます。
下図のように、Visual Code Studioの左側のアイコンをクリックします
『Welcome, let's get started!』が開きますので、
[Run with Ollama Service]をクリックします
「Hi, how can I help you today?」 と表示されたら成功です
レッツ・トライ
いざ、実行!
引数で渡された2つの整数の最小公倍数を求めるpythonコードを生成してください。
llama3.3:latest(70b)は私の非力なMacにはかなり重く、回答には1分4秒かかりましたが、
日本語での依頼に対して、日本語で回答を生成してくれました!
また、丁寧にもmathライブラリを使用する場合と使用しない場合の2つのコードを生成してくれました。
おおお、だいぶ便利になったかも
生成されたコード
mathライブラリを使用するコード
import math
def lcm(a, b):
"""
2つの整数の最小公倍数を計算します。
Parameters:
a (int): 最初の整数
b (int): 2番目の整数
Returns:
int: 2つの整数の最小公倍数
"""
return abs(a*b) // math.gcd(a, b)
# 例:
print(lcm(6, 8)) # Output: 24
print(lcm(12, 15)) # Output: 60
mathライブラリを使用しないコード
def lcm(a, b):
"""
2つの整数の最小公倍数を計算します。
Parameters:
a (int): 最初の整数
b (int): 2番目の整数
Returns:
int: 2つの整数の最小公倍数
"""
def gcd(a, b):
while b:
a, b = b, a % b
return a
return abs(a*b) // gcd(a, b)
# 例:
print(lcm(6, 8)) # Output: 24
print(lcm(12, 15)) # Output: 60
おわりに
watsonx Code Assistantをllama3.3:latest(70b)で使う手順を紹介しました。
ollamaに対応している軽いモデルも使えると思いますので、興味のある人はいろんなモデルを試してみてください。
参考