Pythonで「チャットボットAI」を作ってみた【Streamlit×OpenAI API】

プログラミング

「チャットGPTのようなAIを自分でも作ってみたい」「でも難しそうで手が出せない」

そんなふうに感じている方はいませんか?

PythonとStreamlit、OpenAI APIを使えば、誰でも簡単に会話ができるAIチャットボットを作成できます。

本記事では、プログラミング初心者でも理解できるように、やさしく手順を解説しています。

APIキーの取得から画面の表示、AIの応答まで、すべてをステップバイステップでご紹介。

自分だけのAIを作ってみたい方、学習としてチャレンジしたい方にぴったりの内容です。

チャットボットAIとは何か【チャットボットAI Python】

結論

チャットボットAIとは、人と会話するように話しかけられるAIです。

Pythonを使うことで、自分でその仕組みを作ることができます。

理由

近年、LINEの自動応答やWebサイトのサポートなど、多くの場所でチャットボットが活用されています。

これらはAIが人の質問を理解し、適切な返事を返しているのです。

Pythonでは、OpenAI APIを使って人間らしい返答を行うAIを簡単に構築できます。

Streamlitというツールを使えば、画面つきのアプリとして実行することも可能です。

具体例

• 受付業務を代行するAIチャット

• 勉強の質問に答える家庭教師BOT

• 商品選びを手伝うサポートチャット

まとめ

チャットボットは会話型のAIアプリです。

PythonとAPIを組み合わせれば、あなただけのAIを簡単に作ることができます

使用するライブラリと準備【Python チャットボット 準備】

結論

Pythonでチャットボットを作るには、以下のライブラリを準備します。

使用ライブラリ一覧

• streamlit:Web画面を作成

• openai:AIの頭脳(GPT)を使う

• python-dotenv:APIキーを安全に管理

インストール手順

1
pip install streamlit openai python-dotenv

次に、OpenAIのアカウントを作成し、APIキーを取得します。

取得ページ:https://platform.openai.com/account/api-keys

取得したAPIキーは .env ファイルに記述します。

1
OPENAI_API_KEY=あなたのキー

まとめ

必要なツールはすべて無料で使えます。

Pythonが少し書ける方なら、すぐにチャットボット開発が始められます。

コードを書いてみよう【チャットボットAI コード】

結論

StreamlitとOpenAIを使って、簡単なチャットアプリを作成します。

コード例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import streamlit as st
import openai
import os
from dotenv import load_dotenv
 
load_dotenv()
openai.api_key = os.getenv("OPENAI_API_KEY")
 
st.title("チャットボットAI")
 
user_input = st.text_input("あなたの質問をどうぞ:")
 
if user_input:
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": user_input}]
    )
    st.write("AIの答え:", response["choices"][0]["message"]["content"])

補足

• .envファイルを忘れずに準備しましょう。

• streamlit run ファイル名.py でアプリが起動します。

まとめ

たった数十行で、AIチャットが動くアプリが完成します。

動かしてみると、AIとの対話がとても面白く感じられるはずです。

アプリの改善方法【Python チャットボット 拡張】

結論

チャットボットAIはさらに改良して便利にできます。

方法

以下の工夫で使いやすさがアップします。

会話履歴の保存:前のやり取りを表示する

音声入力の追加:文字を打たずに話しかける

スタイル変更:デザインをカラフルに調整

コード例(履歴追加)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if "messages" not in st.session_state:
    st.session_state.messages = []
 
for msg in st.session_state.messages:
    st.write(f"{msg['role']}: {msg['content']}")
 
if user_input:
    st.session_state.messages.append({"role": "user", "content": user_input})
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=st.session_state.messages
    )
    answer = response["choices"][0]["message"]["content"]
    st.session_state.messages.append({"role": "assistant", "content": answer})
    st.write("AIの答え:", answer)

まとめ

履歴の保存や機能追加を行えば、より実用的なチャットボットになります。

自分なりに工夫して、使いやすいアプリを目指しましょう。

チャットボットAIの可能性【Python チャットボット 応用】

結論

チャットボットAIは、個人利用からビジネスまで幅広く活用できます。

活用例

日記アプリとの連携:その日の気分を記録

子どもの勉強サポート:わからない問題を質問

社内ヘルプデスク:社員からの問い合わせに即回答

公的機関の活用例

総務省の資料(https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/r05/pdf/n4200000.pdf)でも、

自治体がチャットボットを導入して市民対応を効率化している事例が紹介されています。

まとめ

チャットボットAIの活用シーンは無限大です。

自分だけの用途を見つけて、どんどん活用してみましょう。

まとめ【Python チャットボット 総まとめ】

• PythonとStreamlit、OpenAI APIを使えば、誰でもチャットボットが作れる

• 必要なライブラリの導入と、APIキーの設定だけで始められる

• コードは短く、簡単に動作する

• 改良すれば、仕事や趣味に応用できる

ぜひあなたも、世界に一つだけのAIチャットボットを作ってみてください。

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