OpenAI APIを使いこなす【Function Calling・Vision・TTS完全ガイド】

OpenAI APIを使いこなす【Function Calling・Vision・TTS完全ガイド】 AIツール・レビュー

はじめに

OpenAI APIはChatGPTのバックエンドとして広く使われていますが、Function Calling・Vision・TTSなど多彩な機能があります。ブログ記事の自動生成・データ分析レポートの音声化など、業務でOpenAI APIを活用している経験から主要機能の実装方法を解説します。

Function Calling(ツール使用)

Function Callingは、LLMが必要に応じて事前定義した関数を呼び出す仕組みです。「東京の天気を調べて」と聞かれたときget_weather関数を自動的に呼び出してくれます。

from openai import OpenAI
import json

client = OpenAI()

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "指定した都市の天気を取得する",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {"type": "string", "description": "都市名(例:東京)"},
                "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
            },
            "required": ["location"]
        }
    }
}]

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "東京の天気を調べて"}],
    tools=tools
)

# ツール呼び出しの確認
if response.choices[0].finish_reason == "tool_calls":
    tool_call = response.choices[0].message.tool_calls[0]
    args = json.loads(tool_call.function.arguments)
    print(f"関数名: {tool_call.function.name}, 引数: {args}")

Vision(画像認識)

import base64

def encode_image(image_path: str) -> str:
    with open(image_path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

# 製造ラインの画像から異常を検出
image_base64 = encode_image("product_image.jpg")

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "この製品画像に傷・汚れ・異常はありますか?あれば場所を具体的に教えてください。"},
            {"type": "image_url", "image_url": {
                "url": f"data:image/jpeg;base64,{image_base64}"
            }}
        ]
    }]
)
print(response.choices[0].message.content)

TTS(テキスト読み上げ)

from pathlib import Path

# レポートを音声化
response = client.audio.speech.create(
    model="tts-1",
    voice="nova",  # alloy, echo, fable, onyx, nova, shimmer
    input="今月の生産ラインの稼働率は98.5%でした。前月比1.2%の改善です。"
)

Path("report.mp3").write_bytes(response.content)
print("音声ファイルを保存しました")

業務での活用シナリオ

Function Callingと製造設備APIを連携させた「設備状態確認エージェント」の構築が実用的です。Vision機能で製品の外観検査を自動化するパイロットプロジェクトが製造業で増えています。TTS機能で月次レポートを自動音声化して移動中でもレポートを聴けるシステムが時間効率を上げます。これらを組み合わせたマルチモーダルエージェントが2026年以降の主流になっています。

よくある質問

「OpenAI APIとClaude APIどちらを選ぶべきですか」という質問をよく受けます。Vision機能・マルチモーダル・Function Callingの豊富なエコシステムではOpenAI、長文処理・コーディング・複雑な推論ではClaudeが強い傾向があります。用途によって使い分けることが実践的な選択です。「APIのコストをどう管理しますか」という質問については、UsageLimitsで月のコスト上限を設定することと、システムプロンプトを短くする・不要な会話履歴を削除するというトークン削減が基本的なコスト管理方法です。

まとめ

OpenAI APIはFunction Calling・Vision・TTSという3つの機能を組み合わせることで強力なマルチモーダルアプリケーションが構築できます。製造業でのFunction Calling(設備API連携)・Vision(外観検査)・TTS(レポート音声化)という活用シナリオが実用的です。まずOpenAIのPlaygroundで各機能を試してみることが最初のステップです。

💼 ITエンジニア転職特化

自分らしく働けるエンジニア転職を目指すなら【strategy career】

年収1000万・残業月30時間以下・リモート可の求人多数

💼 無料で転職相談する →

※アフィリエイト広告を含みます

コメント

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