Creación de un cliente de chat

Completado

Un escenario común en una aplicación de inteligencia artificial es conectarse a un modelo de IA generativo y usar prompts para entablar un diálogo basado en chat con él.

Aunque puede usar el SDK de Azure OpenAI, para conectarse "directamente" a un modelo mediante la autenticación de id. de Microsoft Entra o basada en claves; cuando el modelo se implementa en un proyecto de Microsoft Foundry, también puede usar el SDK de Microsoft Foundry para recuperar un cliente de proyecto, desde el que puede obtener un cliente de chat de OpenAI autenticado para cualquier modelo implementado en el recurso Microsoft Foundry del proyecto. Este enfoque facilita la escritura de código que consume modelos implementados en el proyecto, cambiando entre ellos fácilmente cambiando el parámetro de nombre de implementación del modelo.

Sugerencia

Puede usar el cliente de chat de OpenAI proporcionado por un proyecto de Microsoft Foundry para chatear con cualquier modelo implementado en el recurso de Microsoft Foundry asociado, incluso modelos que no son de OpenAI, como los modelos de Microsoft Phi.

En el siguiente ejemplo de código de Python se usa el método get_openai_client() para obtener un cliente openAI con el que chatear con un modelo que se ha implementado en el recurso Microsoft Foundry del proyecto.

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)

Nota

Además de los paquetes de azure-ai-projects y azure-identity descritos anteriormente, el código de ejemplo que se muestra aquí supone que se ha instalado el paquete openai:

pip install openai