次世代の電子工作!Raspberry PiとChatGPTのコラボ作品集

【PR】この記事には広告が含まれています。

次世代の電子工作!Raspberry PiとChatGPTのコラボ作品集

高性能なAIとして話題のChatGPT。誰もが手軽にAIとの対話を楽しめることで注目を集めており、瞬く間にユーザー数1億人オーバーという凄まじい状況になっています。

このChatGPTは、APIが提供されており、ラズベリーパイを用いたプログラミングにより、自動制御も容易に実現可能です。ChatGPT APIを駆使すれば、ラズパイのようなコンパクトなデバイスにAIを搭載することができます。

本記事ではラズパイとChatGPTを活用した斬新な電子工作作品を紹介します。最後までお読みいただくことで、これまでにないワクワクするような楽しい作品のアイデアに出会えることでしょう。

ChatGPTは文章生成AI

ChatGPTは人工知能(AI)の一種で、コンピューターが人間と同じように自然な文章を作成することができる技術です。例えば、何かしらの質問に答えたり、指示された文章を作成したりすることができます。

まるでロボットに話しかけているような感覚で、コンピューターと会話ができます。

APIを使えばプログラミングでChatGPTが利用可能

APIとは、Application Programming Interfaceの略称で、プログラムの機能を外部に公開するためのインターフェースのことです。

ChatGPT APIを利用するPythonスクリプトの一部

ChatGPT APIは、プログラムから文章を生成したり、文章を理解したりすることができます。これをRaspberry Piで利用することにより、自動でChatGPTに質問を送り、応答を受け取ることが可能です

ChatGPT APIは有料だけど無料枠が使える

2023年3月時点でのChatGPT API使用料金は以下の通りです。トークンとは単語数を計測する単位のことで、日本語の場合1000トークンで約750文字となります。

モデル料金備考
GPT-4
8K context
入力:$0.03 / 1000トークン
出力:$0.06 / 1000トークン
8000トークンまで使えるプラン
GPT-4
32K context
入力:$0.06 / 1000トークン
出力:$0.12 / 1000トークン
32000トークンまで使えるプラン
gpt-3.5-turbo$0.002 / 1000トークン
Davinci$0.0200 / 1000トークン
価格の詳細:公式ページ

ChatGPT APIは使用量に応じて、利用料金が発生します。しかし2023年3月時点では3か月間18$までであれば無料で利用可能です。

そぞら
そぞら

クレジットカードを登録しなくても利用できるため、気軽にAI開発を始めることができます。

利用料金の詳細はこちらのサイトで詳しく解説されています。

APIキーを発行する

ChatGPT APIを利用するにはAPIキーが必要です。APIキーはWeb APIを使用するために必要なパスワードのようなものです。

APIキーを発行する方法は以下のサイトが参考になります。
【画像付き】OpenAI(ChatGPT)のAPIキー取得手順

チェックポイント

APIキーの取り扱いには注意が必要です。第三者に悪用されると、課金額が増加する可能性があります。

ChatGPT APIを利用する方法

OpenAIライブラリをインストールする

OpenAIライブラリをインストールすると、PythonスクリプトからChatGPT APIを操作できるようになります。

ターミナルを開いて以下のコマンドを実行します。

pip3 install openai

ChatGPT APIにアクセスするコード

以下のコードはOpenAIのAPIを使用してチャットを行うためのものです。コードを実行すると、「あなたは誰?」に対する返信が出力されます。

チェックポイント

5行目の”YOUR OpenAI API key”の部分にAPIキーを入力してください。

# OpenAIのライブラリをインポート
import openai

# APIキーを設定
openai.api_key = "YOUR OpenAI API key" # 前述で発行したAPIキーに置き換えてください

# GPT-3.5-turboモデルを使ってチャットの回答を生成するリクエストを作成
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",  # 使用するモデルを指定
    messages=[  # メッセージのリスト
        {
            "role": "user",  # ユーザーの役割
            "content": "あなたは誰?"  # ユーザーからの質問
        },
    ]
)

# 返信のみを取得して変数に格納
c_res = response["choices"][0]["message"]["content"]

# 返信を出力
print(c_res)

以下のように返信されました。

13行目の質問の文章を適切に設定することにより、AIにさまざまなことをしゃべらせることができます。

ChatGPTを使った作品(Raspberry Pi)

ラズベリーパイは入出力端子が豊富で、さまざまなハードウェアを接続できます。センサーやカメラなどを組み合わせて、自動でChatGPTを呼び出すことが可能です。

透明OLEDへ表示

透明OLEDとは、有機発光ダイオード(OLED)技術を用いた透明なディスプレイのことです。画面が透明なため、ディスプレイの背後にある物体などが見える近未来的なデザインが魅力です。

ChatGPTにメッセージを投げかけるときには毎日変わる要素を追加するのがポイントです。上記の例では天気予報サイトからスクレイピングした情報をメッセージに追加して質問を投げています。

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user",
         "content": "最低気温"+temp_min+"℃、最高気温"+temp_max+"℃、"+tenki+"の天気に適した30代男性の服装を50文字以内で教えて。気温や天気は不要です。"}, #※1後述
    ]
)

音声合成でラズパイをしゃべらせる

Open JTalkという日本語のテキストを音声に変換するオープンソースの音声合成エンジンを使用して、ChatGPTの生成したテキストをしゃべらせています。

Juliusというオープンソースの音声認識エンジンを使えば、日本語の音声認識ができます。ただ、Juliusの認識制度はそれほど高くありません。長い文章や複雑な文章の認識は不可能です。このため、Raspberry Piにつないだマイクで特定の短い単語を認識したときにプログラムを実行する仕組みとしました。

電子ペーパーへ表示

Raspberry Piは電子ペーパーを制御できます。電子ペーパーとは電子インク技術を利用した表示デバイスのことです。紙のような見た目で、省エネルギーで動作する特徴があります。

電子ペーパーを使用するメリットは以下の通りです。

  • 省エネルギー
  • 視認性が高い
  • 目に優しい
  • 軽量・薄型

診断装置

ChatGPTに質問を複数生成してもらい、それに回答していくことで何らかの診断をしてもらうことが可能です。

Aのボタンが押されたら「A」という回答を送り、Bのボタンが押されたら「B」という回答を送るプログラムを組みました。質問文は以下のように記述しています。

user = '''
あなたは骨格診断のスペシャリストです。
これから私にさまざまな質問をしながら骨格診断をして、私の骨格のタイプを教えて。

#質問のルール
・質問形式は全てAとBの2択で答えられるようにしてください。
・質問数は最大7回まで。
・最後の質問に答えたあとに診断結果を出してください。
・最初の質問で,AとBの2択で性別を選択させること。
・質問は必ず1つずつ出力してください。
・質問文は簡潔にすること。
・診断結果は簡潔にすること。
・「了解しました。」や「次の質問です。」は書かないこと。

それでは質問を開始してください。'''

ChatGPTを使った作品(Raspberry Pi Pico W)

2023年3月に発売されたRaspberry Pi Pico Wを使った作品を紹介します。Pico Wは無線LANが使えるマイコンです。ラズパイよりも低スペックなため、できることは限られますが、低価格でシステムが組めるというメリットがあります。

Raspberry Pi Pico WでChatGPTを使う方法は、以下の記事で詳しく解説しています。
≫ AIと電子工作の融合!Raspberry Pi Pico WでChatGPT APIを使用する方法

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です