Compartilhar via


ai_chat_completion plug-in (versão prévia)

Aplica-se a: ✅Microsoft FabricAzure Data Explorer

O ai_chat_completion plug-in permite gerar conclusões de chat usando modelos de linguagem, dando suporte a cenários relacionados à IA, como IA de conversa e sistemas interativos. O plug-in usa o ponto de extremidade de chat do Serviço OpenAI do Azure e pode ser acessado usando uma identidade gerenciada ou a identidade do usuário (representação).

O ai_chat_completion plug-in permite gerar conclusões de chat usando modelos de linguagem, dando suporte a cenários relacionados à IA, como IA de conversa e sistemas interativos. O plug-in usa o ponto de extremidade de chat do Serviço OpenAI do Azure e pode ser acessado usando a identidade do usuário (representação).

Pré-requisitos

Sintaxe

evaluate ai_chat_completion ( Chat, ConnectionString [,Opções [,IncludeErrorMessages]])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório Descrição
Bater papo dynamic ✔️ Uma matriz de mensagens que inclui a conversa até agora. O valor pode ser uma referência de coluna ou um escalar constante.
ConnectionString string ✔️ A cadeia de conexão para o modelo de linguagem no formato <ModelDeploymentUri>;<AuthenticationMethod>; substitua <ModelDeploymentUri> e <AuthenticationMethod> pelo URI de implantação do modelo de IA e pelo método de autenticação, respectivamente.
Opções dynamic As opções que controlam chamadas para o ponto de extremidade do modelo de chat. Consulte Opções.
IncludeErrorMessages bool Indica se os erros devem ser gerados em uma nova coluna na tabela de saída. Valor padrão: false.

Opções

A tabela a seguir descreve as opções que controlam a maneira como as solicitações são feitas para o ponto de extremidade do modelo de chat.

Nome Tipo Descrição
RetriesOnThrottling int Especifica o número de tentativas de repetição quando ocorre limitação. Valor padrão: 0.
GlobalTimeout timespan Especifica o tempo máximo para aguardar uma resposta do modelo de chat de IA. Valor padrão: null.
ModelParameters dynamic Parâmetros específicos para o modelo de chat de IA. Valores possíveis: temperature, , top_p, stop, max_tokens, max_completion_tokens, presence_penalty, , frequency_penalty, , user. seed Quaisquer outros parâmetros de modelo especificados são ignorados. Valor padrão: null.
ReturnSuccessfulOnly bool Indica se os itens processados com êxito devem ser retornados. Valor padrão: false. Se o parâmetro IncludeErrorMessages estiver definido como true, essa opção será sempre definida como false.

Configurar a Política de Texto Explicativo

A azure_openaipolítica de texto explicativo habilita chamadas externas para os serviços de IA do Azure.

Para configurar a política de texto explicativo para autorizar o domínio do ponto de extremidade do modelo de IA:

.alter-merge cluster policy callout
```
[
  {
    "CalloutType": "azure_openai",
    "CalloutUriRegex": "https://[A-Za-z0-9-]{3,63}\.(?:openai\\.azure\\.com|cognitiveservices\\.azure\\.com|cognitive\\.microsoft\\.com|services\\.ai\\.azure\\.com)(?:/.*)?",
    "CanCall": true
  }
]
```

Configurar Identidade Gerenciada

Ao usar a identidade gerenciada para acessar o Serviço OpenAI do Azure, você deve configurar a política de Identidade Gerenciada para permitir que a identidade gerenciada atribuída pelo sistema se autentique no Serviço OpenAI do Azure.

Para configurar a identidade gerenciada:

.alter-merge cluster policy managed_identity
```
[
  {
    "ObjectId": "system",
    "AllowedUsages": "AzureAI"
  }
]
```

Devoluções

Retorna as seguintes novas colunas de conclusão de chat:

  • Uma coluna com o sufixo _chat_completion que contém os valores de conclusão do chat.
  • Se configurada para retornar erros, uma coluna com o sufixo _chat_completion_error , que contém cadeias de caracteres de erro ou é deixada vazia se a operação for bem-sucedida.

Dependendo do tipo de entrada, o plug-in retorna resultados diferentes:

  • Referência da coluna: retorna um ou mais registros com colunas adicionais prefixadas pelo nome da coluna de referência. Por exemplo, se a coluna de entrada for chamada PromptData, as colunas de saída serão nomeadas PromptData_chat_completion e, se configuradas para retornar erros, PromptData_chat_completion_error.
  • Escalar constante: retorna um único registro com colunas adicionais que não são prefixadas. Os nomes de coluna são _chat_completion e, se configurados para retornar erros, _chat_completion_error.

Exemplos

O exemplo a seguir usa um prompt do sistema para definir o contexto de todas as mensagens de chat subsequentes na entrada para o modelo de conclusão de chat do Azure OpenAI.

let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completions?api-version=2024-06-01;managed_identity=system';
let messages = dynamic([{'role':'system', 'content': 'You are a KQL writing assistant'},{'role':'user', 'content': 'How can I restrict results to just 10 records?'}]);
evaluate ai_chat_completion(messages, connectionString);
let connectionString = 'https://myaccount.openai.azure.com/openai/deployments/gpt4o/chat/completions?api-version=2024-06-01;impersonate';
let messages = dynamic([{'role':'system', 'content': 'You are a KQL writing assistant'},{'role':'user', 'content': 'How can I restrict results to just 10 records?'}]);
evaluate ai_chat_completion(messages, connectionString);