Python超初心者講座 / 第15回

APIやAI処理につなげる

Pythonを外部サービスやAIモデルと連携させる

この回の目的
最後の回では、PythonをAPIやAI処理につなげる考え方を学びます。 Python単体で閉じるのではなく、外部サービス、データ、AIモデルと連携することで、実用的なアプリに近づきます。

APIとは何か

APIは、アプリやサービス同士が情報をやり取りするための窓口です。 たとえば、天気情報を取得する、地図情報を取得する、AIに文章を投げる、社内システムからデータを取る、といった処理で使います。 人間がWebページを見る代わりに、プログラムが決められた形式で情報を取得します。

HTTP通信の基本

Pythonでは requests を使うと、APIにアクセスしやすくなります。
python -m pip install requests
import requests

url = "https://example.com"
response = requests.get(url)

print(response.status_code)
print(response.text[:200])
status_code が200なら、一般的には取得成功を意味します。

JSONとは何か

APIでは、JSON形式のデータがよく使われます。 JSONは、名前と値の組み合わせでデータを表す形式です。
{
  "name": "田中",
  "age": 30
}
Pythonでは辞書に近い形で扱えます。
import json

text = '{"name": "田中", "age": 30}'
data = json.loads(text)

print(data["name"])

AI処理とは何か

AI処理といっても、最初から難しく考える必要はありません。 画像を分類する、文章を要約する、異常を検知する、データから予測するなど、 入力データをもとに何らかの判断や生成を行う処理だと考えれば十分です。

PythonとAIの関係

PythonはAI分野で非常によく使われています。 理由は、機械学習や深層学習のライブラリが豊富だからです。 代表的なものには、scikit-learn、PyTorch、TensorFlow、OpenCV などがあります。 ただし、超初心者はまず「AIモデルにデータを渡し、結果を受け取る」という流れを理解するのが先です。

AI処理の基本構造

AIを使うプログラムは、多くの場合次の流れになります。
  1. 入力データを用意する
  2. 前処理する
  3. モデルに渡す
  4. 結果を受け取る
  5. 結果を画面やファイルに出す
これは画像認識でも文章処理でも大きくは同じです。

簡単な疑似コード

実際のAIモデルは環境構築が少し重いため、ここでは流れを疑似コードで示します。
input_text = "この文章を分類してください"

# AIモデルに入力する
result = ai_model.predict(input_text)

# 結果を表示する
print(result)
本質は、入力、処理、出力です。 魔法ではありません。便利な巨大関数です。たまに自信満々に間違えます。

FlaskとAPIとAIをつなげる考え方

実用的な構成では、Flaskで画面を作り、Pythonで処理し、外部APIやAIモデルに接続します。 たとえば次のような流れです。
  1. ユーザーがWeb画面から文章や画像をアップロードする
  2. Flaskがデータを受け取る
  3. Pythonで前処理する
  4. APIまたはAIモデルへ送る
  5. 結果を受け取る
  6. HTML画面に結果を表示する
この形を理解すると、業務アプリ、診断アプリ、画像判定アプリ、チャットボットなどに展開できます。
練習
  1. requests でWebページを取得する
  2. JSON文字列をPythonの辞書に変換する
  3. 入力、処理、出力の流れを紙に書く
  4. Flaskの画面から入力を受け取り、結果を表示する小さなアプリを考える
この回まで来れば、Pythonの入口から実用システムへの橋が見えます。
理解チェック
前の回へ