ai-agents-for-beginners

Panduan Penyediaan Azure AI Search

Panduan ini akan membantu anda menyediakan Azure AI Search menggunakan portal Azure. Ikuti langkah-langkah di bawah untuk membuat dan mengkonfigurasi perkhidmatan Azure AI Search anda.

Prasyarat

Sebelum anda mula, pastikan anda mempunyai perkara berikut:

Langkah 1: Buat Akaun Penyimpanan Azure

  1. Ikuti arahan ini, Create an Azure storage account, untuk membuat Akaun Penyimpanan Azure yang baru. NOTA: Pastikan jenis Akaun Penyimpanan adalah Standard General Purpose V2.
  1. Masuk ke portal Azure.
  2. Dalam tetingkap navigasi sebelah kiri, klik pada Create a resource.
  3. Dalam kotak carian, taip “Azure AI Search” dan pilih Azure AI Search dari senarai keputusan.
  4. Klik butang Create.
  5. Dalam tab Basics, isikan maklumat berikut:
    • Subscription: Pilih langganan Azure anda.
    • Resource group: Buat kumpulan sumber baru atau pilih yang sedia ada.
    • Resource name: Masukkan nama unik untuk perkhidmatan carian anda.
    • Region: Pilih wilayah yang paling hampir dengan pengguna anda.
    • Pricing tier: Pilih tier harga yang sesuai dengan keperluan anda. Anda boleh mula dengan tier Percuma untuk ujian.
  6. Klik Review + create.
  7. Semak tetapan dan klik Create untuk membuat perkhidmatan carian.
  1. Setelah penyebaran selesai, buka perkhidmatan carian anda di portal Azure.
  2. Dalam panel gambaran keseluruhan perkhidmatan carian, salin URL. Ia sepatutnya kelihatan seperti https://<service-name>.search.windows.net.
  3. (Disyorkan) Aktifkan akses tanpa kunci dengan Microsoft Entra ID (RBAC) seperti yang ditunjukkan dalam Langkah 4 di bawah — tiada kunci diperlukan. Contoh dalam panduan ini membuat/mengemas kini indeks dan memuat naik dokumen, yang memerlukan peranan Search Service Contributor dan Search Index Data Contributor (atau, untuk pengesahan berasaskan kunci, primary admin key — bukan query key). Hanya jika anda tidak boleh menggunakan RBAC, buka panel Settings > Keys dan salin primary admin key.
  4. Ikuti langkah dalam halaman Quickstart guide untuk membuat indeks, memuat naik data, dan menjalankan carian.

Azure AI Search berintegrasi dengan pelbagai alat untuk meningkatkan keupayaan carian anda. Anda boleh menggunakan Azure CLI, Python SDK, .NET SDK dan alat lain untuk konfigurasi dan operasi lanjutan.

Menggunakan Azure CLI

  1. Pasang Azure CLI dengan mengikuti arahan di Install Azure CLI.
  2. Masuk ke Azure CLI menggunakan arahan:

    az login
    
  3. (Disyorkan) Aktifkan akses tanpa kunci dengan Microsoft Entra ID (RBAC):

     az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
     az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
     az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
     # az search service show has no "endpoint" field; build the URL from the service name.
     export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
    

    Dengan RBAC diaktifkan, contoh Python dan .NET SDK di bawah mengesahkan dengan DefaultAzureCredential, yang menggunakan sesi az login anda semasa pembangunan tempatan — tiada kunci pentadbir diperlukan. Lihat Connect to Azure AI Search using roles.

  4. (Pilihan cadangan) Pengesahan berasaskan kunci — hanya jika anda tidak boleh menggunakan RBAC, simpan kunci pentadbir juga:

Simpan kedua-dua titik hujung dan kunci API untuk instans Azure AI Search ke pemboleh ubah persekitaran.

Menggunakan Python SDK

  1. Pasang perpustakaan klien Azure Cognitive Search dan Azure Identity untuk Python:

    pip install azure-search-documents azure-identity
    
  2. Gunakan kod Python berikut untuk membuat indeks dan memuat naik dokumen:

     import os
     from azure.identity import DefaultAzureCredential
     from azure.search.documents import SearchClient
     from azure.search.documents.indexes import SearchIndexClient
     from azure.search.documents.indexes.models import SearchIndex, SimpleField, edm
    
     service_endpoint = os.getenv("AZURE_SEARCH_SERVICE_ENDPOINT")
     index_name = "sample-index"
    
     # Keyless (recommended): uses your `az login` identity via Entra ID RBAC.
     # Requires the "Search Service Contributor" and "Search Index Data Contributor" roles.
     credential = DefaultAzureCredential()
     # Fallback (key-based auth):
     # from azure.core.credentials import AzureKeyCredential
     # credential = AzureKeyCredential(os.getenv("AZURE_SEARCH_API_KEY"))
     index_client = SearchIndexClient(service_endpoint, credential)
    
     fields = [
         SimpleField(name="id", type=edm.String, key=True),
         SimpleField(name="content", type=edm.String, searchable=True),
     ]
    
     index = SearchIndex(name=index_name, fields=fields)
    
     index_client.create_index(index)
    
     search_client = SearchClient(service_endpoint, index_name, credential)
    
     documents = [
         {"id": "1", "content": "Hello world"},
         {"id": "2", "content": "Azure Cognitive Search"}
     ]
    
     search_client.upload_documents(documents)
    

Menggunakan .NET SDK

  1. Jalankan arahan berikut untuk membuat indeks dan memuat naik dokumen:

     dotnet run ./AzureSearch.cs
    

    Contoh .NET di bawah menggunakan DefaultAzureCredential, yang boleh menggunakan daftar masuk Azure CLI anda dari az login semasa pembangunan tempatan.

  2. Berikut adalah kod .NET untuk AzureSearch.cs:

     #:package Azure.Search.Documents@11.*
     #:package Azure.Identity@1.21.0
     #:property PublishAot=false
    
     using Azure;
     using Azure.Identity;
     using Azure.Search.Documents;
     using Azure.Search.Documents.Indexes;
     using Azure.Search.Documents.Indexes.Models;
    
     var serviceEndpoint = new Uri(Environment.GetEnvironmentVariable("AZURE_SEARCH_SERVICE_ENDPOINT")!);
     var indexName = "sample-index";
    
     // Keyless (recommended): uses your `az login` identity via Entra ID RBAC.
     // Requires the "Search Service Contributor" and "Search Index Data Contributor" roles.
     var credential = new DefaultAzureCredential();
     // Fallback (key-based auth): the `using Azure;` directive above already imports
     // AzureKeyCredential; replace the credential line above with:
     // var credential = new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_SEARCH_API_KEY")!);
     var indexClient = new SearchIndexClient(serviceEndpoint, credential);
    
     var fields = new List<SearchField>()
     {
         new SimpleField("id", SearchFieldDataType.String) { IsKey = true },
         new SearchableField("content")
     };
    
     var index = new SearchIndex(name: indexName, fields: fields);
    
     var response = await indexClient.CreateOrUpdateIndexAsync(index);
     Console.WriteLine($"Index '{response.Value.Name}' ready.");
    
     var searchClient = new SearchClient(serviceEndpoint, indexName, credential);
    
     var documents = new[]
     {
         new { id = "1", content = "Hello world" },
         new { id = "2", content = "Azure Cognitive Search" }
     };
    
     var result = await searchClient.UploadDocumentsAsync(documents);
     Console.WriteLine($"Uploaded {result.Value.Results.Count} documents to index '{response.Value.Name}'.");
    

Untuk informasi lebih terperinci, rujuk dokumentasi berikut:

Kesimpulan

Anda telah berjaya menyediakan Azure AI Search menggunakan portal Azure dan alat yang berintegrasi. Anda kini boleh meneroka ciri dan keupayaan lanjutan Azure AI Search untuk meningkatkan penyelesaian carian anda.

Untuk bantuan lanjut, lawati dokumentasi Azure Cognitive Search.


Penafian: Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan oleh manusia profesional adalah disyorkan. Kami tidak bertanggungjawab terhadap sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.