チャット クライアントを作成する

完了

AI アプリケーションの一般的なシナリオは、生成型 AI モデルに接続し、 プロンプト を使用してチャット ベースのダイアログに参加することです。

Azure OpenAI SDK を使用できますが、キーベースまたは Microsoft Entra ID 認証を使用してモデルに "直接接続" します。モデルが Azure AI Foundry プロジェクトにデプロイされている場合は、Azure AI Foundry SDK を使用してプロジェクト クライアントを取得することもできます。そこから、プロジェクトの Azure AI Foundry リソースにデプロイされたすべてのモデルの認証済みの OpenAI チャット クライアントを取得できます。 この方法を使用すると、プロジェクトにデプロイされたモデルを使用するコードを簡単に記述できます。モデル配置名パラメーターを変更することで、簡単にモデルを切り替えます。

ヒント

Azure AI Foundry プロジェクトによって提供される OpenAI チャット クライアントを使用して、関連付けられている Azure AI Foundry リソースにデプロイされている任意のモデル (Microsoft Phi モデルなど、OpenAI 以外のモデル) とチャットできます。

次の Python コード サンプルでは 、get_openai_client() メソッドを使用して、プロジェクトの Azure AI Foundry リソースにデプロイされたモデルとチャットする OpenAI クライアントを取得します。

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from openai import AzureOpenAI

try:
    
    # connect to the project
    project_endpoint = "https://......"
    project_client = AIProjectClient(            
            credential=DefaultAzureCredential(),
            endpoint=project_endpoint,
        )
    
    # Get a chat client
    chat_client = project_client.get_openai_client(api_version="2024-10-21")
    
    # Get a chat completion based on a user-provided prompt
    user_prompt = input("Enter a question:")
    
    response = chat_client.chat.completions.create(
        model=your_model_deployment_name,
        messages=[
            {"role": "system", "content": "You are a helpful AI assistant."},
            {"role": "user", "content": user_prompt}
        ]
    )
    print(response.choices[0].message.content)

except Exception as ex:
    print(ex)

前に説明した azure-ai-projects パッケージと azure-identity パッケージに加えて、ここで示すサンプル コードでは 、openai パッケージがインストールされていることを前提としています。

pip install openai