Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam artikel ini, Anda mempelajari cara menggunakan set keterampilan untuk memotong dan mem-vektorisasi konten dari sumber data yang didukung. Set keterampilan memanggil keterampilan Pemisahan Teks atau keterampilan Tata Letak Dokumen untuk pemotongan dan keterampilan penyematan yang dilampirkan ke model penyematan yang didukung untuk vektorisasi gugus. Anda juga mempelajari cara menyimpan konten yang dipotong dan di-vektorisasi dalam indeks vektor.
Artikel ini menjelaskan alur kerja end-to-end untuk vektorisasi terintegrasi menggunakan REST. Untuk instruksi berbasis portal, lihat Mulai Cepat: Mem-vektorisasi teks dan gambar di portal Microsoft Azure.
Prasyarat
Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
Layanan Pencarian Azure AI. Kami merekomendasikan tingkat Dasar atau yang lebih tinggi.
Penyelesaian Mulai Cepat: Sambungkan tanpa kunci dan Konfigurasikan identitas terkelola yang ditetapkan sistem. Meskipun Anda dapat menggunakan autentikasi berbasis kunci untuk operasi sarana data, artikel ini mengasumsikan peran dan identitas terkelola, yang lebih aman.
Visual Studio Code menggunakan klien REST.
Sumber data yang didukung
Vektorisasi terintegrasi berfungsi dengan semua sumber data yang didukung. Namun, artikel ini berfokus pada sumber data yang paling umum digunakan, yang dijelaskan dalam tabel berikut.
Sumber data yang didukung | Deskripsi |
---|---|
Azure Blob Storage | Sumber data ini berfungsi dengan blob dan tabel. Anda harus menggunakan akun performa standar (tujuan umum v2). Tingkat akses bisa panas, sejuk, atau dingin. |
Azure Data Lake Storage (ADLS) Gen2 | Ini adalah akun Azure Storage dengan namespace hierarki diaktifkan. Untuk mengonfirmasi bahwa Anda memiliki Data Lake Storage, periksa tab Properti di halaman Gambaran Umum .![]() |
Model penyematan yang didukung
Untuk vektorisasi terintegrasi, Anda harus menggunakan salah satu model penyematan berikut pada platform Azure AI. Instruksi penyebaran disediakan di bagian selanjutnya.
Penyedia | Model yang didukung |
---|---|
Azure OpenAI di Azure AI Foundry Models1, 2 | text-embedding-ada-002 teks-penanaman-3-kecil penyisipan-teks-3-besar |
Sumber daya multi-layanan layanan Azure AI3 | Untuk teks dan gambar: Azure AI Vision Multimodal4 |
1 Titik akhir sumber daya Azure OpenAI Anda harus memiliki subdomain kustom, seperti https://my-unique-name.openai.azure.com
. Jika Anda membuat sumber daya di portal Microsoft Azure, subdomain ini dibuat secara otomatis selama penyiapan sumber daya.
2 sumber daya Azure OpenAI (dengan akses ke model penyematan) yang dibuat di portal Azure AI Foundry tidak didukung. Hanya sumber daya Azure OpenAI yang dibuat di portal Microsoft Azure yang kompatibel dengan keterampilan Penyematan Azure OpenAI.
3 Untuk tujuan penagihan, Anda harus menghubungkan sumber daya multi-layanan Azure AI Anda ke perangkat keterampilan di layanan Azure AI Search Anda. Kecuali Anda memakai koneksi tanpa kunci (pratinjau) untuk menciptakan set keahlian, kedua sumber daya harus berada di wilayah yang sama.
4 Model penyematan multimodal Azure AI Vision tersedia di wilayah tertentu.
Akses berbasis peran
Anda dapat menggunakan ID Microsoft Entra dengan penetapan peran atau autentikasi berbasis kunci dengan string koneksi akses penuh. Untuk koneksi Azure AI Search ke sumber daya lain, kami merekomendasikan penetapan peran.
Untuk mengonfigurasi akses berbasis peran untuk vektorisasi terintegrasi:
Pada layanan pencarian Anda, aktifkan peran dan konfigurasikan identitas terkelola yang ditetapkan sistem.
Pada platform sumber data dan penyedia model penyematan Anda, buat penetapan peran yang memungkinkan layanan pencarian Anda mengakses data dan model. Lihat Menyiapkan data Anda dan Menyiapkan model penyematan Anda.
Nota
Layanan pencarian gratis mendukung koneksi berbasis peran ke Azure AI Search. Namun, mereka tidak mendukung identitas terkelola pada koneksi keluar ke Azure Storage atau Azure AI Vision. Kurangnya dukungan ini memerlukan autentikasi berbasis kunci pada koneksi antara layanan pencarian gratis dan sumber daya Azure lainnya.
Untuk koneksi yang lebih aman, gunakan tingkat Dasar atau yang lebih tinggi. Anda kemudian dapat mengaktifkan peran dan mengonfigurasi identitas terkelola untuk akses resmi.
Mendapatkan informasi koneksi untuk Azure AI Search
Di bagian ini, Anda memperoleh endpoint dan token Microsoft Entra untuk layanan Azure AI Search Anda. Kedua nilai diperlukan untuk membuat koneksi dalam permintaan REST .
Petunjuk / Saran
Langkah-langkah berikut mengasumsikan bahwa Anda menggunakan akses berbasis peran untuk pengujian bukti konsep. Jika Anda ingin menggunakan vektorisasi terintegrasi untuk pengembangan aplikasi, lihat Menyambungkan aplikasi Anda ke Azure AI Search menggunakan identitas.
Masuk ke portal Microsoft Azure dan pilih layanan Pencarian Azure AI Anda.
Untuk mendapatkan titik akhir pencarian Anda, salin URL di halaman Gambaran Umum . Contoh titik akhir pencarian adalah
https://my-service.search.windows.net
.Untuk mendapatkan token Microsoft Entra Anda, jalankan perintah berikut pada sistem lokal Anda. Langkah ini memerlukan penyelesaian Mulai Cepat: Sambungkan tanpa kunci.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
Menyiapkan data Anda
Di bagian ini, Anda menyiapkan data untuk vektorisasi terintegrasi dengan mengunggah file ke sumber data yang didukung, menetapkan peran, dan mendapatkan informasi koneksi.
Masuk ke portal Microsoft Azure dan pilih akun Azure Storage Anda.
Dari panel kiri, pilih penyimpanan data>Kontainer.
Buat kontainer atau pilih kontainer yang sudah ada, lalu unggah file Anda ke kontainer.
Untuk menetapkan peran:
Dari panel kiri, pilih Access Control (IAM).
Pilih Tambah>Tambahkan penugasan peran.
Di bawah Peran fungsi pekerjaan, pilih Pembaca Data Blob Penyimpanan, lalu pilih Berikutnya.
Di bawah Anggota, pilih Identitas terkelola, lalu pilih Pilih anggota.
Pilih langganan Anda dan identitas terkelola layanan pencarian Anda.
Untuk mendapatkan string koneksi:
Dari panel kiri, pilih Keamanan + kunci Akses jaringan>.
Salin salah satu string koneksi, yang Anda tentukan nanti di Atur variabel.
(Opsional) Sinkronkan penghapusan dalam kontainer Anda dengan penghapusan dalam indeks pencarian. Untuk mengonfigurasi pengindeks Anda untuk deteksi penghapusan:
Aktifkan penghapusan sementara di akun penyimpanan Anda. Jika Anda menggunakan penghapusan sementara asli, langkah berikutnya tidak diperlukan.
Tambahkan metadata kustom yang dapat dipindai pengindeks untuk menentukan blob mana yang ditandai untuk dihapus. Beri nama deskriptif properti kustom Anda. Misalnya, Anda dapat memberi nama properti "IsDeleted" dan mengaturnya ke false. Ulangi langkah ini untuk setiap blob dalam kontainer. Saat Anda ingin menghapus blob, ubah properti menjadi true. Untuk informasi selengkapnya, lihat Mengubah dan menghapus deteksi saat mengindeks dari Azure Storage.
Menyiapkan model embedding Anda
Di bagian ini, Anda menyiapkan sumber daya Azure AI untuk vektorisasi terintegrasi dengan menetapkan peran, mendapatkan titik akhir, dan menyebarkan model penyematan yang didukung.
Azure AI Search mendukung text-embedding-ada-002, text-embedding-3-small, dan text-embedding-3-large. Secara internal, Azure AI Search memanggil Azure OpenAI Embedding skill untuk terhubung ke Azure OpenAI.
Masuk ke portal Microsoft Azure dan pilih sumber daya Azure OpenAI Anda.
Untuk menetapkan peran:
Dari panel kiri, pilih Kontrol akses (IAM).
Pilih Tambah>Tambahkan penugasan peran.
Di bawah Peran fungsi pekerjaan, pilih Pengguna OpenAI Cognitive Services, lalu pilih Berikutnya.
Di bawah Anggota, pilih Identitas terkelola, lalu pilih Pilih anggota.
Pilih langganan Anda dan identitas terkelola layanan pencarian Anda.
Untuk mendapatkan titik akhir:
Dari panel kiri, pilih Kunci Manajemen> Sumber Dayadan Titik Akhir.
Salin titik akhir untuk sumber daya Azure OpenAI Anda. Anda menentukan URL ini nanti di Set variabel.
Untuk menerapkan model embedding:
Masuk ke portal Azure AI Foundry dan pilih sumber daya Azure OpenAI Anda.
Dari panel kiri, pilih Katalog model.
Gunakan model penyematan yang didukung.
Salin nama penyebaran dan model, yang Anda tentukan nanti di Atur variabel. Nama penyebaran adalah nama kustom yang Anda pilih, sementara nama model adalah model yang Anda sebarkan, seperti
text-embedding-ada-002
.
Tetapkan variabel
Di bagian ini, Anda menentukan informasi koneksi untuk layanan Azure AI Search, sumber data yang didukung, dan model penyematan yang didukung.
Di Visual Studio Code, tempelkan placeholder berikut ke dalam file
.rest
atau.http
Anda.@baseUrl = PUT-YOUR-SEARCH-SERVICE-URL-HERE @token = PUT-YOUR-MICROSOFT-ENTRA-TOKEN-HERE
Ganti
@baseUrl
dengan titik akhir pencarian dan@token
dengan token Microsoft Entra yang Anda peroleh di Dapatkan informasi koneksi untuk Azure AI Search.Bergantung pada sumber data Anda, tambahkan variabel berikut.
Sumber data Variabel Masukkan informasi ini Azure Blob Storage (Penyimpanan BLOB di Azure) @storageConnectionString
dan@blobContainer
String koneksi dan nama kontainer yang Anda buat di Menyiapkan data Anda. ADLS Gen2 @storageConnectionString
dan@blobContainer
String koneksi dan nama kontainer yang Anda buat di Menyiapkan data Anda. Bergantung pada penyedia model penyematan Anda, tambahkan variabel berikut.
Menyematkan penyedia model Variabel Masukkan informasi ini Azure OpenAI @aoaiEndpoint
,@aoaiDeploymentName
, dan@aoaiModelName
Titik akhir, nama penyebaran, dan nama model yang Anda peroleh di Siapkan model penyematan Anda. Azure AI Vision @aiMultiServiceEndpoint
Titik akhir yang Anda peroleh di Persiapkan model penyematan Anda. Untuk memverifikasi variabel, kirim permintaan berikut.
### List existing indexes by name GET {{baseUrl}}/indexes?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}}
Respons akan muncul di panel yang berdekatan. Jika Anda memiliki indeks yang sudah ada, indeks tersebut akan dicantumkan. Jika tidak, daftar kosong. Jika kode HTTP adalah
200 OK
, Anda siap untuk melanjutkan.
Hubungkan ke data Anda
Di bagian ini, Anda tersambung ke sumber data yang didukung untuk pengindeksan berbasis pengindeks. Pengindeks di Azure AI Search memerlukan sumber data yang menentukan jenis, kredensial, dan kontainer.
Gunakan Buat Sumber Data untuk menentukan sumber data yang menyediakan informasi koneksi selama pengindeksan.
### Create a data source POST {{baseUrl}}/datasources?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-data-source", "type": "azureblob", "subtype": null, "credentials": { "connectionString": "{{storageConnectionString}}" }, "container": { "name": "{{blobContainer}}", "query": null }, "dataChangeDetectionPolicy": null, "dataDeletionDetectionPolicy": null }
Atur
type
ke sumber data Anda:azureblob
atauadlsgen2
.Untuk membuat sumber data, pilih Kirim permintaan.
Mengembangkan rangkaian keterampilan
Di bagian ini, Anda membuat set keterampilan yang memanggil keterampilan bawaan untuk memotong konten Anda dan keterampilan penyematan untuk membuat representasi vektor dari gugus. Keterampilan dijalankan selama pengindeksan di bagian selanjutnya.
Memanggil keterampilan bawaan untuk memotong konten Anda
Mempartisi konten Anda menjadi potongan membantu Anda memenuhi persyaratan model penyematan Anda dan mencegah kehilangan data karena pemotongan. Untuk informasi selengkapnya tentang pemotongan, lihat Memotong dokumen besar untuk solusi pencarian vektor.
Untuk potongan data bawaan, Azure AI Search menawarkan keterampilan Pemisahan Teks dan keterampilan Tata Letak Dokumen. Keterampilan Pemisahan Teks memecah teks menjadi kalimat atau halaman dengan panjang tertentu, sementara keterampilan Tata Letak Dokumen memecah konten berdasarkan batas paragraf.
Gunakan Create Skillset untuk menentukan set keterampilan.
### Create a skillset POST {{baseUrl}}/skillsets?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-skillset", "skills": [] }
Pada array
skills
, panggil fungsi Pemisahan Teks atau fungsi Tata Letak Dokumen. Anda dapat menempelkan salah satu definisi berikut."skills": [ { "@odata.type": "#Microsoft.Skills.Text.SplitSkill", "name": "my-text-split-skill", "textSplitMode": "pages", "maximumPageLength": 2000, "pageOverlapLength": 500, "maximumPagesToTake": 0, "unit": "characters", "defaultLanguageCode": "en", "inputs": [ { "name": "text", "source": "/document/text", "inputs": [] } ], "outputs": [ { "name": "textItems" } ] }, { "@odata.type": "#Microsoft.Skills.Util.DocumentIntelligenceLayoutSkill", "name": "my-document-layout-skill", "context": "/document", "outputMode": "oneToMany", "markdownHeaderDepth": "h3", "inputs": [ { "name": "file_data", "source": "/document/file_data" } ], "outputs": [ { "name": "markdown_document" } ] } ]
Nota
Fitur Tata Letak Dokumen tersedia dalam pratinjau publik. Jika Anda ingin memanggil keterampilan ini, gunakan API pratinjau, seperti
2025-03-01-preview
.
Memanggil keterampilan embedding untuk memvektorisasi potongan
Untuk memvektorisasi konten yang dipotong, kumpulan keterampilan memerlukan keterampilan penyematan yang menunjuk ke model penyematan yang didukung.
Setelah keterampilan pemisahan bawaan dalam
skills
array, panggil keterampilan Azure OpenAI Embedding atau Azure AI Vision. Anda dapat menempelkan salah satu definisi berikut.{ "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill", "resourceUri": "{{aoaiEndpoint}}", "deploymentId": "{{aoaiDeploymentName}}", "modelName": "{{aoaiModelName}}", "dimensions": 1536, "inputs": [ { "name": "text", "source": "/document/text" } ], "outputs": [ { "name": "embedding" } ] }, { "@odata.type": "#Microsoft.Skills.Vision.VectorizeSkill", "context": "/document", "modelVersion": "2023-04-15", "inputs": [ { "name": "url", "source": "/document/metadata_storage_path" }, { "name": "queryString", "source": "/document/metadata_storage_sas_token" } ], "outputs": [ { "name": "vector" } ] }
Nota
Kemampuan Azure AI Vision saat ini dalam tahap pratinjau publik. Jika Anda ingin memanggil keterampilan ini, gunakan API pratinjau, seperti
2025-03-01-preview
.Jika Anda menggunakan fitur Azure OpenAI Embedding, atur
dimensions
menjadi jumlah penyematan yang dihasilkan oleh model penyematan Anda.Jika Anda menggunakan keterampilan Azure AI Vision, lampirkan sumber daya multi-layanan Azure AI Anda setelah
skills
array. Lampiran ini untuk tujuan penagihan."skills": [ ... ], "cognitiveServices": { "@odata.type": "#Microsoft.Azure.Search.AIServicesByIdentity", "subdomainUrl": "{{aiMultiServiceEndpoint}}" }
Untuk membuat set keterampilan, pilih Kirim permintaan.
Membuat indeks vektor
Di bagian ini, Anda menyiapkan struktur data fisik di layanan Azure AI Search dengan membuat indeks vektor. Skema indeks vektor memerlukan hal berikut:
- Nama
- Bidang kunci (string)
- Satu atau beberapa bidang vektor
- Konfigurasi vektor
Bidang vektor menyimpan representasi numerik dari data yang dipotong. Mereka harus dapat dicari dan diambil, tetapi tidak dapat difilter, dapat difaset, atau dapat diurutkan. Mereka juga tidak dapat memiliki penganalisis, normalizer, atau penetapan peta sinonim.
Selain bidang vektor, indeks sampel dalam langkah-langkah berikut berisi bidang nonvektor untuk konten yang dapat dibaca manusia. Biasanya menyertakan teks biasa yang setara dengan konten yang ingin Anda vektorisasi. Untuk informasi selengkapnya, lihat Membuat indeks vektor.
Gunakan Buat Indeks untuk menentukan skema indeks vektor.
### Create a vector index POST {{baseUrl}}/indexes?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-vector-index", "fields": [], "vectorSearch": [] }
Tambahkan konfigurasi pencarian vektor ke bagian .
vectorSearch
"vectorSearch": { "algorithms": [ { "name": "hnsw-algorithm", "kind": "hnsw", "hnswParameters": { "m": 4, "efConstruction": 400, "efSearch": 100, "metric": "cosine" } } ], "profiles": [ { "name": "vector-profile-hnsw", "algorithm": "hnsw-algorithm", } ] }
vectorSearch.algorithms
menentukan algoritma yang digunakan untuk mengindeks dan mengkueri bidang vektor, sambilvectorSearch.profiles
menautkan konfigurasi algoritma ke profil yang dapat Anda tetapkan ke bidang vektor.Tergantung pada model penyematan yang Anda gunakan, lakukan pembaruan pada
vectorSearch.algorithms.metric
. Nilai yang valid untuk metrik jarak adalahcosine
, ,dotproduct
euclidean
, danhamming
.Tambahkan bidang ke
fields
array. Sertakan bidang kunci untuk identifikasi dokumen, bidang nonvektor untuk konten yang dapat dibaca manusia, dan bidang vektor untuk penyematan."fields": [ { "name": "id", "type": "Edm.String", "key": true, "filterable": true }, { "name": "title", "type": "Edm.String", "searchable": true, "filterable": true, "sortable": true, "retrievable": true }, { "name": "titleVector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": true, "dimensions": 1536, "vectorSearchProfile": "vector-profile-hnsw" }, { "name": "content", "type": "Edm.String", "searchable": true, "retrievable": true }, { "name": "contentVector", "type": "Collection(Edm.Single)", "searchable": true, "retrievable": false, "stored": false, "dimensions": 1536, "vectorSearchProfile": "vector-profile-hnsw" } ]
Bergantung pada keterampilan penyematan Anda, atur
dimensions
untuk setiap bidang vektor ke nilai berikut.Keterampilan penyematan Masukkan nilai ini Azure OpenAI Jumlah penyematan yang dihasilkan oleh model penyematan Anda. Azure AI Vision 1024
Menambahkan vektorizer ke indeks
Di bagian ini, Anda mengaktifkan vektorisasi saat kueri dengan menentukan vektorizer dalam indeks Anda. Vektorizer menggunakan model penyematan yang mengindeks data Anda untuk mendekode string pencarian atau gambar ke dalam vektor untuk pencarian vektor.
Tambahkan vektorizer Azure OpenAI atau vektorizer Azure AI Vision setelah
vectorSearch.profiles
. Anda dapat menempelkan salah satu definisi berikut."profiles": [ ... ], "vectorizers": [ { "name": "my-openai-vectorizer", "kind": "azureOpenAI", "azureOpenAIParameters": { "resourceUri": "{{aoaiEndpoint}}", "deploymentId": "{{aoaiDeploymentName}}", "modelName": "{{aoaiModelName}}" } }, { "name": "my-ai-services-vision-vectorizer", "kind": "aiServicesVision", "aiServicesVisionParameters": { "resourceUri": "{{aiMultiServiceEndpoint}}", "modelVersion": "2023-04-15" } } ]
Nota
Vektorizer Azure AI Vision berada dalam pratinjau publik. Jika Anda ingin memanggil vektorizer ini, gunakan API pratinjau, seperti
2025-03-01-preview
.Tentukan pembuat vektor Anda di
vectorSearch.profiles
."profiles": [ { "name": "vector-profile-hnsw", "algorithm": "hnsw-algorithm", "vectorizer": "my-openai-vectorizer" } ]
Untuk membuat indeks vektor, pilih Kirim permintaan.
Membuat pengindeks
Di bagian ini, Anda membuat pengindeks untuk mendorong seluruh alur vektorisasi, dari pengambilan data hingga eksekusi set keterampilan hingga pengindeksan. Kami menyarankan agar Anda menjalankan pengindeks sesuai jadwal untuk memproses perubahan atau dokumen yang terlewat karena pembatasan.
Gunakan Buat Pengindeks untuk menentukan pengindeks yang menjalankan alur vektorisasi.
### Create an indexer POST {{baseUrl}}/indexers?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "name": "my-indexer", "dataSourceName": "my-data-source", "targetIndexName": "my-vector-index", "skillsetName": "my-skillset", "schedule": { "interval": "PT2H" }, "parameters": { "batchSize": null, "maxFailedItems": null, "maxFailedItemsPerBatch": null } }
Untuk membuat pengindeks, pilih Kirim permintaan.
Menjalankan kueri vektor untuk mengonfirmasi pengindeksan
Di bagian ini, Anda memverifikasi bahwa konten Anda berhasil diindeks dengan membuat kueri vektor. Karena Anda mengonfigurasi vektorizer di bagian sebelumnya, mesin pencari dapat mendekode teks biasa atau gambar ke vektor untuk eksekusi kueri.
Gunakan Dokumen - Postingan Pencarian untuk menentukan kueri yang di-vektorisasi pada waktu kueri.
### Run a vector query POST {{baseUrl}}/indexes('my-vector-index')/docs/search.post.search?api-version=2024-07-01 HTTP/1.1 Content-Type: application/json Authorization: Bearer {{token}} { "count": true, "select": "title, content", "vectorQueries": [ { "kind": "text", "text": "a sample text string for integrated vectorization", "fields": "titleVector, contentVector", "k": "3" } ] }
Nota
Vektorizer Azure AI Vision berada dalam pratinjau publik. Jika sebelumnya Anda memanggil vektorizer ini, gunakan API pratinjau, seperti
2025-03-01-preview
.Untuk kueri yang memanggil vektorisasi terintegrasi,
kind
harus diatur ketext
, dantext
harus menentukan string teks. String ini diteruskan ke vektorizer yang ditetapkan ke bidang vektor. Untuk informasi selengkapnya, lihat Kueri dengan vektorisasi terintegrasi.Untuk menjalankan kueri vektor, pilih Kirim permintaan.