この記事を読むのに必要な時間は 約8分 です。
Python初心者向け連載スタートします!!🎉🎉
こんにちは、しんじです。
シリーズ物を書いてみようと思い、話題の生成AIを Python で体験する方法をまとめてみました。
少しでも興味のある方は、是非ご覧ください。
第1回:Pythonから生成AI (LLM) を使い、自作チャットボットを動かしてみよう
🔎 この記事で学べること
- Pythonで外部APIに通信する基末的な方法
- OpenAI APIを利用した生成AIの使い方
- 自作のチャットボットプログラムをPythonで作る基礎
- 簡単なWeb UI(Gradio)で操作する体験
⚡️ 前提条件
- Pythonが動く環境がある
(VSCode や Cursor エディタがおすすめです。希望あれば環境構築も追加でまとめます) - Pythonは何となく分かる(気がする…!)
ステップ 0:OpenAI APIキーを取得する手順
- OpenAIの公式サイトにアクセスします。
- アカウントを作成(またはログイン)します。
- ログイン後、右上のプロフィールアイコンをクリックし、「View API Keys」を選択します。
- 「Create new secret key」ボタンを押して、新しいAPIキーを発行します。
- 発行されたキーを必ずコピーして保存してください。(再表示できないため)
- 次の手順で作成する作業フォルダ(例:
01_openai_progress_bot
)の直下に、.env
ファイルを作成して、以下の内容を保存します:
OPENAI_API_KEY="ここにコピーしたキーを貼り付け"
※ APIキーは漏洩すると第三者に使用されてしまうリスクがあるため、取り扱いには十分注意してください!
ステップ 1:環境を準備する(仮想環境 venv を使おう)
ローカル環境を汚さないために、仮想環境(venv)を作成して作業します。
仮想環境の作成手順
- 新しい作業フォルダを作成します。
mkdir 01_openai_progress_bot
cd 01_openai_progress_bot
- 仮想環境を作成します。
python -m venv .venv
- 仮想環境を有効化します。
- Windowsの場合:
.venv\Scripts\activate
- Mac/Linuxの場合:
source .venv/bin/activate
- 必要なライブラリをインストールします。
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で生産管理を助けるツールを動かした」という経験が付いたら、それはもう第一歩の大成功です! ここから自動化スキルもすこしずつ踏み出していきましょう。
コメント