plugin ai_chat_completion (pratinjau)

Beralih layanan menggunakan menu tarik-turun Versi. Pelajari selengkapnya tentang navigasi.
Berlaku untuk: ✅ Microsoft Fabric ✅ Azure Data Explorer

Plugin ini ai_chat_completion memungkinkan pembuatan penyelesaian obrolan menggunakan model bahasa, mendukung skenario terkait AI seperti AI percakapan dan sistem interaktif. Plugin menggunakan titik akhir obrolan Azure OpenAI Service dan dapat diakses menggunakan identitas terkelola atau identitas pengguna (peniruan).

Plugin ini ai_chat_completion memungkinkan pembuatan penyelesaian obrolan menggunakan model bahasa, mendukung skenario terkait AI seperti AI percakapan dan sistem interaktif. Plugin menggunakan titik akhir obrolan Azure OpenAI Service dan dapat diakses menggunakan identitas pengguna (peniruan identitas).

Prasyarat

  • Saat menggunakan identitas terkelola untuk mengakses Layanan Azure OpenAI, konfigurasikan Kebijakan Identitas Terkelola untuk memungkinkan komunikasi dengan layanan.

Sintaksis

evaluate ai_chat_completion ( Obrolan, ConnectionString [,Opsi [,IncludeErrorMessages]])

Pelajari selengkapnya tentang konvensi sintaksis.

Parameter-parameternya

Nama Tipe Diperlukan Deskripsi
Mengobrol dynamic ✔️ Array pesan yang terdiri dari percakapan sejauh ini. Nilai dapat berupa referensi kolom atau skalar konstanta.
ConnectionString string ✔️ String koneksi untuk model bahasa dalam format <ModelDeploymentUri>;<AuthenticationMethod>; ganti <ModelDeploymentUri> dan <AuthenticationMethod> dengan URI penyebaran model AI dan metode autentikasi masing-masing.
Opsi dynamic Opsi yang mengontrol panggilan ke titik akhir model obrolan. Lihat Opsi.
IncludeErrorMessages bool Menunjukkan apakah akan menghasilkan kesalahan di kolom baru dalam tabel output. Nilai default: false.

Opsi

Tabel berikut menjelaskan opsi yang mengontrol cara permintaan dibuat ke titik akhir model obrolan.

Nama Tipe Deskripsi
RetriesOnThrottling int Menentukan jumlah upaya coba lagi saat pembatasan terjadi. Nilai default: 0.
GlobalTimeout timespan Menentukan waktu maksimum untuk menunggu respons dari model obrolan AI. Nilai default: null.
ModelParameters dynamic Parameter khusus untuk model obrolan AI. Nilai yang mungkin: temperature, , top_pstop, max_tokens, max_completion_tokens, presence_penalty, frequency_penalty, user, seed. Parameter model tertentu lainnya diabaikan. Nilai default: null.
ReturnSuccessfulOnly bool Menunjukkan apakah hanya mengembalikan item yang berhasil diproses. Nilai default: false. Jika parameter IncludeErrorMessages diatur ke true, opsi ini selalu diatur ke false.

Mengonfigurasi Kebijakan Callout

Kebijakan azure_openaicallout memungkinkan panggilan eksternal ke layanan Azure AI.

Untuk mengonfigurasi kebijakan callout untuk mengotorisasi domain titik akhir model AI:

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

Mengonfigurasi Identitas Terkelola

Saat menggunakan identitas terkelola untuk mengakses Layanan Azure OpenAI, Anda harus mengonfigurasi kebijakan Identitas Terkelola untuk memungkinkan identitas terkelola yang ditetapkan sistem untuk mengautentikasi ke Layanan Azure OpenAI.

Untuk mengonfigurasi identitas terkelola:

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

Pengembalian Barang

Mengembalikan kolom penyelesaian obrolan baru berikut:

  • Kolom dengan akhiran _chat_completion yang berisi nilai penyelesaian obrolan.
  • Jika dikonfigurasi untuk mengembalikan kesalahan, kolom dengan akhiran _chat_completion_error , yang berisi string kesalahan atau dibiarkan kosong jika operasi berhasil.

Bergantung pada jenis input, plugin mengembalikan hasil yang berbeda:

  • Referensi kolom: Mengembalikan satu atau beberapa rekaman dengan kolom tambahan yang diawali dengan nama kolom referensi. Misalnya, jika kolom input diberi nama PromptData, kolom output diberi nama PromptData_chat_completion dan, jika dikonfigurasi untuk mengembalikan kesalahan, PromptData_chat_completion_error.
  • Skalar konstanta: Mengembalikan satu rekaman dengan kolom tambahan yang tidak diawali. Nama kolom _chat_completion dan, jika dikonfigurasi untuk mengembalikan kesalahan, _chat_completion_error.

Contoh

Contoh berikut menggunakan perintah sistem untuk mengatur konteks untuk semua pesan obrolan berikutnya dalam input ke model penyelesaian obrolan 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);