PR

【Pythonで生成AI入門】第1回 Pythonで生成AIに触れてみよう!最初の一歩

Python

この記事を読むのに必要な時間は 約8分 です。

Python初心者向け連載スタートします!!🎉🎉

こんにちは、しんじです。
シリーズ物を書いてみようと思い、話題の生成AIを Python で体験する方法をまとめてみました。
少しでも興味のある方は、是非ご覧ください。

第1回:Pythonから生成AI (LLM) を使い、自作チャットボットを動かしてみよう

🔎 この記事で学べること

  • Pythonで外部APIに通信する基末的な方法
  • OpenAI APIを利用した生成AIの使い方
  • 自作のチャットボットプログラムをPythonで作る基礎
  • 簡単なWeb UI(Gradio)で操作する体験

⚡️ 前提条件

  • Pythonが動く環境がある
    (VSCode や Cursor エディタがおすすめです。希望あれば環境構築も追加でまとめます)
  • Pythonは何となく分かる(気がする…!)

ステップ 0:OpenAI APIキーを取得する手順

  1. OpenAIの公式サイトにアクセスします。
  2. アカウントを作成(またはログイン)します。
  3. ログイン後、右上のプロフィールアイコンをクリックし、「View API Keys」を選択します。
  4. 「Create new secret key」ボタンを押して、新しいAPIキーを発行します。
  5. 発行されたキーを必ずコピーして保存してください。(再表示できないため)
  6. 次の手順で作成する作業フォルダ(例:01_openai_progress_bot)の直下に、.envファイルを作成して、以下の内容を保存します:
OPENAI_API_KEY="ここにコピーしたキーを貼り付け"

※ APIキーは漏洩すると第三者に使用されてしまうリスクがあるため、取り扱いには十分注意してください!


ステップ 1:環境を準備する(仮想環境 venv を使おう)

ローカル環境を汚さないために、仮想環境(venv)を作成して作業します。

仮想環境の作成手順

  1. 新しい作業フォルダを作成します。
mkdir 01_openai_progress_bot
cd 01_openai_progress_bot
  1. 仮想環境を作成します。
python -m venv .venv
  1. 仮想環境を有効化します。
  • Windowsの場合:
.venv\Scripts\activate
  • Mac/Linuxの場合:
source .venv/bin/activate
  1. 必要なライブラリをインストールします。
pip install openai python-dotenv gradio

これで、プロジェクト専用のきれいな環境ができました!

<参考>インストールしたライブラリを簡単に説明

  • openai… OpenAIとの接続用
  • python-dotenv… APIキーをコード上に直書きしないための安全対策
  • gradio… 簡単にWeb UIを作るためのライブラリ

🔢 ステップ 2:コードを書いてみよう

さっそく、工場での生産管理や企業での進捗管理にも使えそうな「進捗確認ボット」を作ってみましょう!

ファイル構成:

./
|— .env
|— progress_bot.py
|— progress_bot_web.py

.envにAPIキーを格納

OPENAI_API_KEY="ここにキーを入力"

ターミナルで生成AIと戯れてみる

progress_bot.py に以下のコードをコピペしましょう。
35行目で 使用するAIモデル を指定しています。今回は、本記事執筆時点で最新かつ安価なモデルとして gpt-4o-mini を指定しています。
モデルの指定方法や料金は、「OpenAI プラットフォーム (Pricing)」を確認して利用しましょう。
モデルによっては、以下のように高額なAPI利用料のものもあるので要注意です。
※OpenAIの料金ページから簡略化して作成しています。

モデル名入力に対する料金出力に対する料金
gpt-4.1$2.00$8.00
gpt-4.1-mini$0.40$1.60
gpt-4.1-nano$0.10$0.40
gpt-4o$2.50$10.00
gpt-4o-mini$0.15$0.60
import openai
import os
from dotenv import load_dotenv

# .envからAPIキー読み込み
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

print(
    """
╔══════════════════════════════════════╗
║         🤖 生成AIサンプル 🤖         ║
╠══════════════════════════════════════╣
║    進捗確認ボットを開始します。      ║
║                                      ║
║    このボットは、タスクの件名を      ║
║    入力するとAIが進捗確認の          ║
║    コメントを生成してくれます。      ║
║                                      ║
╚══════════════════════════════════════╝
"""
)

# 進捗確認ボット
while True:
    task = input("タスクの件名(空白で終了):")
    if task.strip() == "":
        break

    prompt = (
        f"件名「{task}」の進捗確認コメントを答えるAIアシスタントとして話してください。"
    )

    response = openai.chat.completions.create(
        model="gpt-4o-mini",  # 最新かつ安価なモデルを選択
        messages=[{"role": "user", "content": prompt}],
    )

    reply = response.choices[0].message.content
    print(f"AI:{reply}\n")

コードを作成したら、以下のコマンドで実行してみます。

python progress_bot.py

ターミナルで、「これから取り組むタスク」を入力すると、タスクの解説をしてくれます。
実行結果のサンプル↓

(.venv) hoge $ python progress_bot.py 

╔══════════════════════════════════════╗
║         🤖 生成AIサンプル 🤖         ║
╠══════════════════════════════════════╣
║    進捗確認ボットを開始します。      ║
║                                      ║
║    このボットは、タスクの件名を      ║
║    入力するとAIが進捗確認の          ║
║    コメントを生成してくれます。      ║
║                                      ║
╚══════════════════════════════════════╝

タスクの件名(空白で終了):工程会議の課題の進捗状況をヒアリングする
AI:もちろんです。以下は「工程会議の課題の進捗状況をヒアリングする」ための進捗確認コメントの例です。

---

お疲れ様です。工程会議の課題に関する進捗状況について、いくつか確認させていただきたいと思います。

1. **課題Aの進捗**: 現在の状況はいかがでしょうか?前回の会議でのアクションアイテムについて、実施状況を教えてください。

2. **課題Bの問題点**: 報告されている問題点の解決に向けて、何か新しい取り組みがあればお聞かせください。

3. **期限の遵守**: 今後の期限について現状の見通しはいかがでしょうか?遅延が生じる可能性がある場合は、早めに共有いただけると助かります。

4. **次回会議までに必要なサポート**: 他の部署やメンバーからの支援が必要な場合は、具体的にお知らせください。

皆さんの進捗状況を把握し、サポートできることがあればお手伝いさせていただきますので、どうぞよろしくお願いいたします。

--- 

このような形式で進捗確認を行うと、具体的な情報を得やすくなりますね。追加の情報や質問があればお知らせください。

タスクの件名(空白で終了):
(.venv) hoge $ 

progress_bot_web.py(簡易Web UI版)

import openai
import os
import gradio as gr
from dotenv import load_dotenv

# .envからAPIキー読み込み
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")

def ask_progress(task):
    prompt = f"件名「{task}」の進捗確認コメントを答えるAIアシスタントとして話してください。"
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": prompt}]
    )
    return response["choices"][0]["message"]["content"]

# Gradioでインターフェース作成
demo = gr.Interface(fn=ask_progress, inputs="text", outputs="text", title="進捗確認ボット")

demo.launch()

ターミナルで以下を実行すればブラウザで簡単に操作できます!

python progress_bot_web.py

以下のように、Web UI がブラウザで起動するので、左側の task に入力して送信を押すと、生成AIにプロンプトが送られて、そのレスポンスが右側の output に表示されます。

このように、 Python で生成AIを利用したり、簡易的な Web UI を作成して利用することもできます。
(Pythonって便利!)


📈 ここまででできること

今回は、サンプルコードで OpenAI の生成AIモデルを利用するまでを試してみましたが、↓のようなことができたかと思います。

  • PythonからOpenAI APIを使い、件名を依頼したら進捗確認コメントを自動生成できる
  • 標準出力だけでなく、簡単なWeb画面からも操作できる

詳しい技術については、触れませんでしたが、生成AIの魅力を少しでも感じてもらえたら嬉しいです。
生成AIは「触れて楽しむことが大事!」ですので、まずは少しずつ試していきましょう。


🔍 次回予告

次回は! 「日報や作業報告書を自動でアシストしてくれる簡単ツール」を作成してみる予定です。
現場業務や事務作業で使えるPython+生成AIの活用法を、もっと身近に感じてもらえる内容です!

お楽しみに!


✅ 今回のワンポイント

この作業で「Pythonで生産管理を助けるツールを動かした」という経験が付いたら、それはもう第一歩の大成功です! ここから自動化スキルもすこしずつ踏み出していきましょう。

コメント

タイトルとURLをコピーしました