Partilhar via


Crie um aplicativo de chat básico em Python usando o SDK do Azure AI Foundry

Importante

Os itens marcados (visualização) neste artigo estão atualmente em visualização pública. Essa visualização é fornecida sem um contrato de nível de serviço e não a recomendamos para cargas de trabalho de produção. Algumas funcionalidades poderão não ser suportadas ou poderão ter capacidades limitadas. Para obter mais informações, veja Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure.

Neste guia de início rápido, orientamos você na configuração do seu ambiente de desenvolvimento local com o SDK do Azure AI Foundry. Escrevemos um prompt, executamo-lo como parte do código do seu aplicativo, rastreamos as chamadas LLM que estão sendo feitas e executamos uma avaliação básica nas saídas do LLM.

Pré-requisitos

  • Antes de seguir este guia de início rápido, conclua o início rápido do AI Foundry Playground para implantar um modelo gpt-4o-mini em um projeto.

Instalar a CLI do Azure e entrar

Você instala a CLI do Azure e entra em seu ambiente de desenvolvimento local, para que possa usar suas credenciais de usuário para chamar o serviço Azure OpenAI.

Na maioria dos casos, você pode instalar a CLI do Azure a partir do seu terminal usando o seguinte comando:

winget install -e --id Microsoft.AzureCLI

Você pode seguir as instruções Como instalar a CLI do Azure se esses comandos não funcionarem para seu sistema operacional ou configuração específicos.

Depois de instalar a CLI do Azure, entre usando o az login comando e entre usando o navegador:

az login

Em alternativa, pode iniciar sessão manualmente através do navegador com um código de dispositivo.

az login --use-device-code

Criar um novo ambiente Python

Primeiro você precisa criar um novo ambiente Python para usar para instalar o pacote necessário para este tutorial. NÃO instale pacotes em sua instalação global do python. Você deve sempre usar um ambiente virtual ou conda ao instalar pacotes python, caso contrário, você pode quebrar sua instalação global do Python.

Se necessário, instale o Python

Recomendamos o uso do Python 3.10 ou posterior, mas é necessário ter pelo menos o Python 3.8. Se você não tiver uma versão adequada do Python instalada, você pode seguir as instruções no VS Code Python Tutorial para a maneira mais fácil de instalar o Python em seu sistema operacional.

Criar um ambiente virtual

Se você já tiver o Python 3.10 ou superior instalado, poderá criar um ambiente virtual usando os seguintes comandos:

py -3 -m venv .venv
.venv\scripts\activate

Ativar o ambiente Python significa que quando você executa python ou pip a partir da linha de comando, você usa o interpretador Python contido na .venv pasta do seu aplicativo.

Nota

Você pode usar o deactivate comando para sair do ambiente virtual python e, posteriormente, reativá-lo quando necessário.

Instalar pacotes

Instalar azure-ai-projects(visualização), azure-ai-inference (visualização) e pacotes azure-identity:

pip install azure-ai-projects azure-ai-inference azure-identity 

Crie seu aplicativo de bate-papo

Crie um arquivo chamado chat.py. Copie e cole o seguinte código nele.

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

project_connection_string = "<your-connection-string-goes-here>"

project = AIProjectClient.from_connection_string(
    conn_str=project_connection_string, credential=DefaultAzureCredential()
)

chat = project.inference.get_chat_completions_client()
response = chat.complete(
    model="gpt-4o-mini",
    messages=[
        {
            "role": "system",
            "content": "You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig?",
        },
        {"role": "user", "content": "Hey, can you help me with my taxes? I'm a freelancer."},
    ],
)

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

Insira a cadeia de conexão

Sua cadeia de conexão de projeto é necessária para chamar o serviço Azure OpenAI a partir do seu código.

Encontre sua cadeia de conexão no projeto do Azure AI Foundry que você criou no início rápido do playground do AI Foundry. Abra o projeto e localize a cadeia de conexão na página Visão geral .

A captura de tela mostra a página de visão geral de um projeto e o local da cadeia de conexão.

Copie a cadeia de conexão e substitua <your-connection-string-goes-here> no arquivo chat.py .

Execute seu script de bate-papo

Execute o script para ver a resposta do modelo.

python chat.py

Gerar prompt a partir da entrada do usuário e um modelo de prompt

O script usa mensagens de entrada e saída codificadas. Em um aplicativo real, você receberia a entrada de um aplicativo cliente, geraria uma mensagem do sistema com instruções internas para o modelo e, em seguida, chamaria o LLM com todas as mensagens.

Vamos alterar o script para obter entrada de um aplicativo cliente e gerar uma mensagem do sistema usando um modelo de prompt.

  1. Remova a última linha do script que imprime uma resposta.

  2. Agora defina uma get_chat_response função que recebe mensagens e contexto, gera uma mensagem do sistema usando um modelo de prompt e chama um modelo. Adicione este código ao seu ficheiro de chat.py existente:

    from azure.ai.inference.prompts import PromptTemplate
    
    
    def get_chat_response(messages, context):
        # create a prompt template from an inline string (using mustache syntax)
        prompt_template = PromptTemplate.from_string(
            prompt_template="""
            system:
            You are an AI assistant that speaks like a techno punk rocker from 2350. Be cool but not too cool. Ya dig? Refer to the user by their first name, try to work their last name into a pun.
    
            The user's first name is {{first_name}} and their last name is {{last_name}}.
            """
        )
    
        # generate system message from the template, passing in the context as variables
        system_message = prompt_template.create_messages(data=context)
    
        # add the prompt messages to the user messages
        response = chat.complete(
            model="gpt-4o-mini",
            messages=system_message + messages,
            temperature=1,
            frequency_penalty=0.5,
            presence_penalty=0.5,
        )
    
        return response
    

    Nota

    O modelo de prompt usa o formato bigode.

    A função get_chat_response pode ser facilmente adicionada como uma rota para um aplicativo FastAPI ou Flask para permitir chamar essa função a partir de um aplicativo Web front-end.

  3. Agora simule a passagem de informações de um aplicativo frontend para essa função. Adicione o seguinte código ao final do arquivo chat.py . Sinta-se à vontade para brincar com a mensagem e adicionar seu próprio nome.

    if __name__ == "__main__":
        response = get_chat_response(
            messages=[{"role": "user", "content": "what city has the best food in the world?"}],
            context={"first_name": "Jessie", "last_name": "Irwin"},
        )
        print(response.choices[0].message.content)
    

Execute o script revisado para ver a resposta do modelo com essa nova entrada.

python chat.py

Próximo passo