3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIProg.jpeg

はじめに

どうやら人類はAIの進化の過程の中で遂にプログラム・コードを書かなくなるらしい。。。

確かに、GitHubからはGitHub Copilotの次のサービスであるGitHub Sparkが発表され、自然言語でAIと対話することで、プログラム・コードを書くことなくマイクロアプリの作成が可能である、とアナウンスされています。

また、こちらの記事で紹介したStackBlitz社が開発したbolt.newは、自然言語でAIと対話することで、フルスタックなアプリケーション開発が可能である事を紹介しました。

では、もう人間はプログラムを書く必要がないのか?
現実に目を向けると、現時点はその過渡期であるし、まだまだ思い通りのコードをAIに書かせるには課題が多いと私自身は感じています。

とはいえ、個人的な意見になりますが、プログラムを書く楽しさを知っている人にとっては、『プログラム開発をどこまで効率化できるのか』を試しながら楽しんじゃえばいいと思いますし、プログラム言語の習得に挫折した経験をお持ちの方にとっては、『今こそ、再チャレンジする機会』とさえ感じます。

ということで、今あるAIツールを使って、プログラミングを楽しんじゃいましょう:grinning:

watsonx Code Assistantを楽しんでみる

watsonx Code Assistantを初めて聞く、という方にはこちらの記事が参考になると思います。

watsonx Code Assistantをハックする

こちらの記事

にて、watsonx Code Assistantをずーっと無料で使い続ける方法をご紹介しました。

記事は、オンラインマニュアルに記載されている内容を図を使いながらステップ・バイ・ステップで誰でも使える状態を目指したものであり、使用するモデルはIBMが提供するIBM Graniteモデルでした。

今回は、IBMが提供するモデルに限定せず、オープン・ソース・モデルを利用する方法をご紹介いたします。
オンライン・マニュアルには『オープン・ソース・モデルも利用可能』との記載はないので、サポート対象外かもしれませんが、試してみたら使えた:interrobang:ということで、『ハックする』と少し大袈裟な表現を使いました。

手順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のロード状況が表示されます。
image.png
Llama 3.1と表示されるのが気になりますが、バージョンは2024-12であり、パラメータ数は70bと表示されています。

念の為、別ターミナルやコマンドプロンプトから

コピペ用
ollama ls

と実行します。

image.png

llama3.3:latestが1つしかダウンロードされていない事とllama3.3のパラメータ数は70bのみなので、llama3.3で間違いないと思います。

エンドポイントの情報が表示され、使える状態になりました。
image.png

手順3: VS Codeの拡張機能をインストールする

Visual Studio Codeにwatsonx Code Assistantの拡張機能をインストールします。

まずはこちらをクリック

watsonx Code Assistantの拡張機能が表示されますので、[Install]をクリック
image.png

Visual Studio Codeが起動し、拡張機能のインストール画面が表示されますので、[Install]をクリック
image.png

このような表示に変わります。
image.png

拡張機能のインストールは以上です。

手順4: 設定画面でllama3.3:latestモデルを指定する

VS Codeを起動して、設定画面(Settings)を表示します。
image.png

図にある通り、2箇所(③と④)に、『llama3.3:latest』を入力します。
image.png
必要な設定は以上です。

それではいよいよwatsonx Code Assistantを使ってみます。

下図のように、Visual Code Studioの左側のアイコンをクリックします
image.png

『Welcome, let's get started!』が開きますので、
image.png

[Run with Ollama Service]をクリックします
image.png

[Reload]をクリック
image.png

「Hi, how can I help you today?」 と表示されたら成功です:sunny:
image.png

レッツ・トライ

いざ、実行!

それでは早速、リクエストしてみます。
image.png

コピペ用
引数で渡された2つの整数の最小公倍数を求めるpythonコードを生成してください。

llama3.3:latest(70b)は私の非力なMacにはかなり重く、回答には1分4秒かかりましたが、

image.png

日本語での依頼に対して、日本語で回答を生成してくれました!
また、丁寧にもmathライブラリを使用する場合と使用しない場合の2つのコードを生成してくれました。

image.png

おおお、だいぶ便利になったかも:relaxed:

生成されたコード

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 Assistantllama3.3:latest(70b)で使う手順を紹介しました。
ollamaに対応している軽いモデルも使えると思いますので、興味のある人はいろんなモデルを試してみてください。

参考

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?