PythonでOpenAI APIを使いこなす:公式ライブラリ入門ガイド


PythonでOpenAI APIを使いこなす:公式ライブラリ入門ガイド

openai/openai-python

2025-08-10

ただ、ソフトウェアエンジニアの視点から、OpenAIの公式Pythonライブラリがどのように役立つか、導入方法やサンプルコードの例を、分かりやすく丁寧に解説します!

OpenAIの公式Pythonライブラリ、openai-pythonは、OpenAIが提供する強力なAPIを、Pythonを使って簡単に操作するためのツールです。

ソフトウェアエンジニアとして、このライブラリを使うことで、以下のようなメリットがあります。

開発効率の向上
APIを直接叩くのではなく、Pythonの使い慣れたオブジェクトやメソッドを通じてAPIにアクセスできます。これにより、APIリクエストの組み立てやレスポンスのパースといった面倒な作業から解放され、アプリケーションのロジック開発に集中できます。

堅牢性の確保
公式ライブラリなので、APIのバージョンアップや変更に迅速に対応してくれます。また、エラーハンドリングや再試行のロジックが組み込まれていることも多く、より堅牢なアプリケーションを構築できます。

豊富な機能
単なるAPIクライアントにとどまらず、ストリーミング処理や非同期処理、便利なヘルパー関数など、開発者が求めるさまざまな機能が提供されています。

これらのメリットを活かすことで、チャットボット、記事の自動生成ツール、要約サービスなど、AIを活用したアプリケーションを迅速かつ効率的に開発できます。

導入はとても簡単です。Pythonのパッケージ管理ツールであるpipを使ってインストールするだけです。

まず、ターミナルやコマンドプロンプトを開き、以下のコマンドを実行します。

pip install openai

これでインストールは完了です。

次に、APIを利用するためのキーを環境変数に設定します。セキュリティの観点から、コードに直接APIキーを書き込むのは避けましょう。

export OPENAI_API_KEY="あなたのAPIキーをここに貼り付けてください"

※Windowsの場合は、set OPENAI_API_KEY="あなたのAPIキーをここに貼り付けてください"となります。

では、実際に簡単なサンプルコードを見ていきましょう。ここでは、チャットモデルに質問を投げかける例を紹介します。

まずは必要なライブラリをインポートします。

from openai import OpenAI

OpenAIクラスをインスタンス化して、APIクライアントを作成します。環境変数にAPIキーを設定していれば、引数なしでOKです。

client = OpenAI()

client.chat.completions.createメソッドを使って、チャットモデルにリクエストを送信します。

completion = client.chat.completions.create(
  model="gpt-4", # 使用するモデルを指定
  messages=[
    {"role": "system", "content": "あなたは親切なアシスタントです。"},
    {"role": "user", "content": "自己紹介をお願いします。"}
  ]
)

messagesリストには、会話の履歴を辞書の形で渡します。rolesystemuserassistantなどがあり、それぞれの役割を定義します。

最後に、APIからのレスポンスを取得し、表示します。

print(completion.choices[0].message.content)

このコードを実行すると、AIが生成した自己紹介の文章が出力されます。

「はい、承知いたしました。私は、Googleによってトレーニングされた、大規模言語モデルです。」

いかがでしたか?


openai/openai-python




ソフトウェアエンジニア必見!Parlantで始める自律型AIエージェント入門

想像してみてください。あなたは巨大な湖(=現実世界の複雑なタスク)で、一人でたくさんの魚(=タスクの実行)を釣ろうとしています。これまでは、魚を一匹一匹、網で捕まえていたかもしれません。しかし、もし、あなたが指示を出すだけで、自動で複数の網を使いこなし、最適な場所で、効率よく魚を釣り上げてくれる優秀な「釣り名人」がいたらどうでしょう?


daveebbelaar/ai-cookbookをゴルフ場に例える:AI開発への実践的アプローチ

daveebbelaar/ai-cookbookは、AIシステムを構築したいソフトウェアエンジニアにとって、まさに広大なゴルフ場のようなものです。多様なコース(例)が揃っている ゴルフ場にはショートホールからロングホールまで多様なコースがあるように、このリポジトリには画像認識、自然言語処理、データ分析など、様々なAIアプリケーションの「例」が揃っています。


【ガンダムコントで解説】AIエージェントに「長期記憶」を持たせる!GibsonAI/Memori 導入と活用法

Memoriは、LLM(大規模言語モデル)やAIエージェントに、人間のように「記憶」を持たせ、文脈(コンテキスト)を理解させるためのオープンソースのメモリーエンジンです。これはまるで、ホワイトベース隊が「ザビ家の陰謀」や「アムロのわがまま」といった過去の経験や人間関係を、戦闘のたびにいちいち思い出さなくても、自然に判断を下せるようになるのと同じです!


『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


ラーメン屋の親父が語る!Pythonだけで作るWebアプリ「Reflex」

なんだか、小難しい顔してパソコンいじってるな。WebアプリをPythonだけで作ろうとしてるのかい? え? 難しくてなかなか前に進めない、だと?ったく、最近の若いもんは、すぐ諦めるからいけねぇ。だが安心しな。俺がとっておきの秘策を教えてやる。


オレオレ詐欺に注意...じゃない!GitHubDailyで良質な情報を安全に手に入れる方法

GitHubDaily/GitHubDaily は、その名の通り、GitHub上で見つけられた高品質で興味深い、実用的なオープンソースプロジェクトを毎日共有しているリポジトリです。新しいプログラミング言語、フレームワーク、開発ツール、面白い技術チュートリアルなど、多岐にわたるプロジェクトが紹介されています。


IBM/mcp-context-forge入門:LLMアプリケーション開発を加速する秘訣

まず、大前提として、mcp-context-forgeは、大規模言語モデル(LLM)アプリケーションを開発する際に、その管理を効率化し、開発を円滑に進めるためのツールです。マクドナルドのハンバーガーとケンタッキーのフライドチキンのような関係、という例えについて考えてみましょう。


爆速&美しく。Typstベースの rendercv で職務経歴書更新の「クレーンゲーム」を完全攻略

エンジニアにとって、職務経歴書(CV)の更新は、景品口ギリギリにある大きなぬいぐるみ(=内定)を狙うようなものです。rendercv は、その景品を確実に仕留めるための「最強のアーム」になってくれます。普通のクレーンゲーム(Wordやデザインツールでの作成)は、見た目を整えるのに苦労して、肝心の中身がズレたり、PDFにしたらレイアウトが崩れたりしますよね。


ハルシネーションを許さない。LangExtractで実現する根拠(ソース)付きの情報抽出の実践

「彼女の下着は何色?」という、一歩間違えれば通報案件の問いを、LangExtractがどう鮮やかに(かつ紳士的に)解決するのか……。コント仕立てのサンプルコードと一緒に見ていきましょう!一言でいうと、「LLMを使って、超高精度かつ『証拠付き』でテキストを構造化データ(JSON等)にするライブラリ」です。


キャンプでコント:LLMオーケストレーションの苦労を解消する strans-agents/sdk-python 入門

皆さん、キャンプに来ています!テントを立てるのも、火を起こすのも、楽しいけれど結構手間がかかりますよね。AIエージェントを作るのも同じなんです。モデルを選んで、プロンプトを書いて、ツールを組み合わせて. ..「あー、またエラーだ. ..」となりがち。