Communityコーディング&開発github.com

Azure-Samples/azure-openai-to-responses

PythonアプリをAzureOpenAIクライアント(Chat Completions API)からOpenAIクライアント(Responses API)に移行します。

azure-openai-to-responses とは?

このスキルは、Azure OpenAIサービスを利用したPythonアプリケーションを、Azure固有のChat Completions APIからOpenAIの標準的なResponses APIへ移行するための包括的なガイドを提供します。開発者は、既存のコードベースを最小限の変更でOpenAIクライアントに移行でき、クラウドプロバイダーに依存しない柔軟なAI統合を実現できます。主な内容として、APIの差異の解説、移行手順のステップバイステップガイド、コードサンプルが含まれています。対応プラットフォームはPython向けのOpenAIクライアントライブラリであり、Azure OpenAIとOpenAIの両方のエンドポイントをサポートしています。このスキールは、Azureにロックインされることなく、OpenAIの最新機能を活用したい開発者にとって有用です。

対応~Claude Code✓Codex CLI~Cursor
npx skills add Azure-Samples/azure-openai-to-responses

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

azure-openai-to-responses は何をしますか?

PythonアプリをAzureOpenAIクライアント(Chat Completions API)からOpenAIクライアント(Responses API)に移行します。

概要

このスキルは、Azure OpenAIサービスを使用しているPythonアプリケーションを、OpenAIの標準的なResponses APIに基づくクライアントに移行する手順を提供します。

主な内容

  • APIの差異: Chat Completions APIとResponses APIの違いを解説
  • 移行手順: 具体的なコード修正例とベストプラクティス
  • 互換性: Azure OpenAIとOpenAIの両方のエンドポイントをサポート

必要条件

  • Python 3.8以上
  • openai Pythonライブラリ(バージョン1.0以上)
  • Azure OpenAIリソース(移行元)またはOpenAI APIキー(移行先)

移行例

変更前(AzureOpenAI Chat Completions)

from openai import AzureOpenAI

client = AzureOpenAI(
    azure_endpoint="https://your-resource.openai.azure.com",
    api_version="2024-02-15-preview",
    api_key="your-api-key"
)

response = client.chat.completions.create(
    model="gpt-35-turbo",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)
print(response.choices[0].message.content)

変更後(OpenAI Responses API)

from openai import OpenAI

client = OpenAI(
    api_key="your-openai-api-key"
)

response = client.responses.create(
    model="gpt-4o",
    input="Hello!"
)
print(response.output_text)

注意点

  • APIキーとエンドポイントの管理方法が異なります。環境変数 AZURE_OPENAI_API_KEY を OPENAI_API_KEY に、AZURE_OPENAI_ENDPOINT を削除または変更してください。
  • モデル名の指定方法が変わる場合があります(例:gpt-35-turbo → gpt-4o)。
  • messages パラメータは input に置き換わります。

参考リンク

関連スキル