Udostępnij przez


wtyczka ai_chat_completion (wersja zapoznawcza)

Dotyczy: ✅Microsoft FabricAzure Data Explorer

Wtyczka ai_chat_completion umożliwia generowanie uzupełniania czatów przy użyciu modeli językowych, obsługujących scenariusze związane ze sztuczną inteligencją, takie jak konwersacyjna sztuczna inteligencja i systemy interaktywne. Wtyczka korzysta z punktu końcowego czatu usługi Azure OpenAI Service i można uzyskać do nich dostęp przy użyciu tożsamości zarządzanej lub tożsamości użytkownika (personifikacji).

Wtyczka ai_chat_completion umożliwia generowanie uzupełniania czatów przy użyciu modeli językowych, obsługujących scenariusze związane ze sztuczną inteligencją, takie jak konwersacyjna sztuczna inteligencja i systemy interaktywne. Wtyczka używa punktu końcowego czatu usługi Azure OpenAI Service i można uzyskać do nich dostęp przy użyciu tożsamości użytkownika (personifikacji).

Wymagania wstępne

  • W przypadku uzyskiwania dostępu do usługi Azure OpenAI przy użyciu tożsamości zarządzanej skonfiguruj zasady tożsamości zarządzanej , aby umożliwić komunikację z usługą.

Składnia

evaluate ai_chat_completion ( Czat, ConnectionString [, [,IncludeErrorMessages]])

Dowiedz się więcej na temat konwencji składni .

Parametry

Nazwa Typ Wymagane Opis
Czat dynamic ✔️ Tablica wiadomości składających się na konwersację do tej pory. Wartość może być odwołaniem do kolumny lub stałym skalarnym.
ConnectionString (Parametr połączenia) string ✔️ Parametry połączenia modelu językowego w formacie <ModelDeploymentUri>;<AuthenticationMethod>; zastąp <ModelDeploymentUri> wartości i <AuthenticationMethod> identyfikatorem URI wdrożenia modelu sztucznej inteligencji oraz odpowiednio metodą uwierzytelniania.
Opcje dynamic Opcje sterujące wywołaniami punktu końcowego modelu czatu. Zobacz Opcje.
IncludeErrorMessages (Komunikaty o błędach) bool Wskazuje, czy w nowej kolumnie w tabeli wyjściowej mają być wyświetlane błędy. Wartość domyślna: false.

Opcje

W poniższej tabeli opisano opcje kontrolujące sposób przesyłania żądań do punktu końcowego modelu czatu.

Nazwa Typ Opis
RetriesOnThrottling int Określa liczbę ponownych prób w przypadku wystąpienia ograniczania przepustowości. Wartość domyślna: 0.
GlobalTimeout timespan Określa maksymalny czas oczekiwania na odpowiedź z modelu czatu sztucznej inteligencji. Wartość domyślna: null.
ModelParameters dynamic Parametry specyficzne dla modelu czatu sztucznej inteligencji. Możliwe wartości: temperature, top_pstopmax_tokensmax_completion_tokenspresence_penaltyfrequency_penalty, user, . seed Wszystkie inne określone parametry modelu są ignorowane. Wartość domyślna: null.
ReturnSuccessfulOnly bool Wskazuje, czy zwracać tylko pomyślnie przetworzone elementy. Wartość domyślna: false. Jeśli parametr IncludeErrorMessages jest ustawiony na truewartość , ta opcja jest zawsze ustawiona na falsewartość .

Konfigurowanie zasad objaśnienie

Zasady azure_openaiobjaśnień umożliwiają wywołania zewnętrzne do usług Azure AI.

Aby skonfigurować zasady objaśnienie w celu autoryzowania domeny punktu końcowego modelu sztucznej inteligencji:

.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
  }
]
```

Konfigurowanie tożsamości zarządzanej

W przypadku używania tożsamości zarządzanej do uzyskiwania dostępu do usługi Azure OpenAI należy skonfigurować zasady tożsamości zarządzanej , aby zezwolić tożsamości zarządzanej przypisanej przez system na uwierzytelnianie w usłudze Azure OpenAI Service.

Aby skonfigurować tożsamość zarządzaną:

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

Zwraca

Zwraca następujące nowe kolumny uzupełniania czatu:

  • Kolumna z sufiksem _chat_completion zawierającym wartości uzupełniania czatu.
  • Jeśli skonfigurowano zwracanie błędów, kolumna z sufiksem _chat_completion_error , która zawiera ciągi błędów lub jest pozostawiona pusta, jeśli operacja zakończy się pomyślnie.

W zależności od typu danych wejściowych wtyczka zwraca różne wyniki:

  • Odwołanie do kolumny: zwraca co najmniej jeden rekord z dodatkowymi kolumnami poprzedzonymi nazwą kolumny odwołania. Jeśli na przykład kolumna wejściowa ma nazwę PromptData, kolumny wyjściowe mają nazwę PromptData_chat_completion i, jeśli skonfigurowano do zwracania błędów, PromptData_chat_completion_error.
  • Stały skalarny: zwraca pojedynczy rekord z dodatkowymi kolumnami, które nie są poprzedzone prefiksem. Nazwy kolumn są _chat_completion i, jeśli skonfigurowano do zwracania błędów, _chat_completion_error.

Przykłady

W poniższym przykładzie użyto monitu systemowego , aby ustawić kontekst dla wszystkich kolejnych wiadomości czatu w danych wejściowych do modelu uzupełniania czatu usługi 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);