ai-agents-for-beginners

Veiledning for oppsett av Azure AI Search

Denne veiledningen hjelper deg med å sette opp Azure AI Search ved bruk av Azure-portalen. Følg stegene nedenfor for å opprette og konfigurere din Azure AI Search-tjeneste.

Forutsetninger

Før du begynner, må du sørge for at du har følgende:

Steg 1: Opprett en Azure Storage-konto

  1. Følg denne instruksjonen, Create an Azure storage account, for å opprette en ny Azure Storage-konto. MERK: Sørg for at typen Storage-konto er Standard General Purpose V2.

Steg 2: Opprett en Azure AI Search-tjeneste

  1. Logg inn på Azure-portalen.
  2. I navigasjonsruten til venstre, klikk på Create a resource.
  3. I søkefeltet, skriv “Azure AI Search” og velg Azure AI Search fra resultatlisten.
  4. Klikk på Create-knappen.
  5. På fanen Basics, oppgi følgende informasjon:
    • Subscription: Velg ditt Azure-abonnement.
    • Resource group: Opprett en ny ressursgruppe eller velg en eksisterende.
    • Resource name: Skriv inn et unikt navn for søketjenesten din.
    • Region: Velg regionen nærmest brukerne dine.
    • Pricing tier: Velg et prisnivå som passer dine behov. Du kan starte med gratisnivået for testing.
  6. Klikk Review + create.
  7. Gå gjennom innstillingene og klikk Create for å opprette søketjenesten.
  1. Når distribusjonen er fullført, gå til din søketjeneste i Azure-portalen.
  2. I oversikten for søketjenesten kopierer du URL-adressen. Den skal se ut som https://<service-name>.search.windows.net.
  3. (Anbefalt) Aktiver nøkkelfri tilgang med Microsoft Entra ID (RBAC) som vist i steg 4 nedenfor — ingen nøkkel trengs. Eksemplene i denne veiledningen oppretter/oppdaterer indekser og laster opp dokumenter, noe som krever rollene Search Service Contributor og Search Index Data Contributor (eller, for nøkkelbasert autentisering, primær administratornøkkel — ikke spørringsnøkkelen). Bare hvis du ikke kan bruke RBAC, åpne Settings > Keys og kopier primær administratornøkkel.
  4. Følg stegene i Quickstart guide siden for å opprette en indeks, laste opp data og gjennomføre et søk.

Steg 4: Bruk Azure AI Search-verktøy

Azure AI Search integreres med ulike verktøy for å forbedre dine søkemuligheter. Du kan bruke Azure CLI, Python SDK, .NET SDK og andre verktøy for avansert konfigurasjon og operasjoner.

Bruke Azure CLI

  1. Installer Azure CLI ved å følge instruksjonene på Install Azure CLI.
  2. Logg inn på Azure CLI med kommandoen:

    az login
    
  3. (Anbefalt) Aktiver nøkkelfri tilgang med 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"
    

    Med RBAC aktivert, autentiserer Python- og .NET SDK-eksemplene nedenfor med DefaultAzureCredential, som bruker din az login-økt under lokal utvikling — ingen administratornøkkel trengs. Se Connect to Azure AI Search using roles.

  4. (Fallback) Nøkkelbasert autentisering — kun hvis du ikke kan bruke RBAC, lagre også administratornøkkelen:

Lagre både endepunkt og API-nøkkel for Azure AI Search-instansen som miljøvariabler.

Bruke Python SDK

  1. Installer Azure Cognitive Search klientbibliotek og Azure Identity for Python:

    pip install azure-search-documents azure-identity
    
  2. Bruk følgende Python-kode for å opprette en indeks og laste opp dokumenter:

     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)
    

Bruke .NET SDK

  1. Kjør følgende kommando for å opprette en indeks og laste opp dokumenter:

     dotnet run ./AzureSearch.cs
    

    .NET-eksempelet nedenfor bruker DefaultAzureCredential, som kan bruke din Azure CLI-innlogging fra az login under lokal utvikling.

  2. Her er .NET-koden for 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}'.");
    

For mer detaljert informasjon, se følgende dokumentasjon:

Konklusjon

Du har nå satt opp Azure AI Search ved bruk av Azure-portalen og integrerte verktøy. Du kan nå utforske mer avanserte funksjoner og muligheter i Azure AI Search for å forbedre dine søkeløsninger.

For ytterligere hjelp, besøk Azure Cognitive Search dokumentasjonen.


Ansvarsfraskrivelse: Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi streber etter nøyaktighet, vær oppmerksom på at automatiske oversettelser kan inneholde feil eller unøyaktigheter. Det opprinnelige dokumentet på originalspråket skal betraktes som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.