ai-agents-for-beginners

Guida alla configurazione di Azure AI Search

Questa guida ti aiuterà a configurare Azure AI Search utilizzando il portale di Azure. Segui i passaggi seguenti per creare e configurare il tuo servizio Azure AI Search.

Prerequisiti

Prima di iniziare, assicurati di avere quanto segue:

Passaggio 1: Crea un account di archiviazione Azure

  1. Segui questa istruzione, Create an Azure storage account, per creare un nuovo account di archiviazione Azure. NOTA: Assicurati che il tipo di account di archiviazione sia Standard General Purpose V2.
  1. Accedi al portale di Azure.
  2. Nel riquadro di navigazione a sinistra, fai clic su Crea una risorsa.
  3. Nella casella di ricerca, digita “Azure AI Search” e seleziona Azure AI Search dall’elenco dei risultati.
  4. Fai clic sul pulsante Crea.
  5. Nella scheda Basi, fornisci le seguenti informazioni:
    • Sottoscrizione: Seleziona la tua sottoscrizione Azure.
    • Gruppo di risorse: Crea un nuovo gruppo di risorse o seleziona uno esistente.
    • Nome risorsa: Inserisci un nome univoco per il tuo servizio di ricerca.
    • Regione: Seleziona la regione più vicina ai tuoi utenti.
    • Livello tariffario: Scegli un livello tariffario che soddisfi le tue esigenze. Puoi iniziare con il livello gratuito per i test.
  6. Fai clic su Verifica + crea.
  7. Controlla le impostazioni e fai clic su Crea per creare il servizio di ricerca.
  1. Una volta completata la distribuzione, vai al tuo servizio di ricerca nel portale di Azure.
  2. Nel riquadro panoramica del servizio di ricerca, copia l’URL. Dovrebbe essere simile a https://<service-name>.search.windows.net.
  3. (Consigliato) Abilita l’accesso senza chiave con Microsoft Entra ID (RBAC) come mostrato nel Passaggio 4 qui sotto — non è necessaria alcuna chiave. Gli esempi in questa guida creano/aggiornano indici e caricano documenti, che richiedono i ruoli Collaboratore servizio di ricerca e Collaboratore dati indice di ricerca (oppure, per l’autenticazione basata su chiave, la chiave amministratore primaria — non la chiave di query). Solo se non puoi usare RBAC, apri il riquadro Impostazioni > Chiavi e copia la chiave amministratore primaria.
  4. Segui i passaggi nella pagina Guida introduttiva per creare un indice, caricare dati ed eseguire una ricerca.

Azure AI Search si integra con vari strumenti per migliorare le tue capacità di ricerca. Puoi utilizzare Azure CLI, Python SDK, .NET SDK e altri strumenti per configurazioni e operazioni avanzate.

Utilizzo di Azure CLI

  1. Installa Azure CLI seguendo le istruzioni su Install Azure CLI.
  2. Accedi ad Azure CLI usando il comando:

    az login
    
  3. (Consigliato) Abilita l’accesso senza chiave con 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"
    

    Con RBAC abilitato, gli esempi Python e .NET SDK di seguito si autenticano con DefaultAzureCredential, che utilizza la tua sessione az login durante lo sviluppo locale — non è necessaria la chiave amministratore. Vedi Connettersi ad Azure AI Search usando i ruoli.

  4. (Alternativa) Autenticazione basata su chiave — solo se non puoi usare RBAC, memorizza anche la chiave amministratore:

Memorizza sia l’endpoint che la chiave API dell’istanza Azure AI Search nelle variabili di ambiente.

Utilizzo di Python SDK

  1. Installa la libreria client Azure Cognitive Search e Azure Identity per Python:

    pip install azure-search-documents azure-identity
    
  2. Usa il seguente codice Python per creare un indice e caricare documenti:

     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)
    

Utilizzo di .NET SDK

  1. Esegui il seguente comando per creare un indice e caricare documenti:

     dotnet run ./AzureSearch.cs
    

    L’esempio .NET qui sotto utilizza DefaultAzureCredential, che può usare l’accesso effettuato via Azure CLI da az login durante lo sviluppo locale.

  2. Ecco il codice .NET di 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}'.");
    

Per informazioni più dettagliate, fai riferimento alla seguente documentazione:

Conclusione

Hai configurato con successo Azure AI Search utilizzando il portale di Azure e gli strumenti integrati. Ora puoi esplorare funzionalità e capacità più avanzate di Azure AI Search per migliorare le tue soluzioni di ricerca.

Per ulteriore assistenza, visita la documentazione di Azure Cognitive Search.


Disclaimer: Questo documento è stato tradotto utilizzando il servizio di traduzione AI Co-op Translator. Sebbene ci impegniamo per garantire la precisione, si prega di notare che le traduzioni automatizzate possono contenere errori o imprecisioni. Il documento originale nella sua lingua nativa deve essere considerato la fonte autorevole. Per informazioni critiche, si raccomanda una traduzione professionale effettuata da un essere umano. Non siamo responsabili per eventuali malintesi o interpretazioni errate derivanti dall’uso di questa traduzione.