ai-agents-for-beginners

Sprievodca nastavením Azure AI Search

Tento sprievodca vám pomôže nastaviť Azure AI Search pomocou Azure portálu. Postupujte podľa krokov nižšie na vytvorenie a konfiguráciu vašej služby Azure AI Search.

Predpoklady

Pred začatím sa uistite, že máte nasledovné:

Krok 1: Vytvorenie Azure Storage účtu

  1. Postupujte podľa tohto návodu, Create an Azure storage account, na vytvorenie nového Azure Storage účtu. POZNÁMKA: Uistite sa, že typ Storage účtu je Standard General Purpose V2.
  1. Prihláste sa do Azure portálu.
  2. V ľavom navigačnom paneli kliknite na Vytvoriť zdroj.
  3. Do vyhľadávacieho poľa zadajte “Azure AI Search” a vyberte Azure AI Search zo zoznamu výsledkov.
  4. Kliknite na tlačidlo Vytvoriť.
  5. V karte Základy zadajte nasledujúce informácie:
    • Predplatné: Vyberte svoje Azure predplatné.
    • Skupina zdrojov: Vytvorte novú skupinu zdrojov alebo vyberte existujúcu.
    • Názov zdroja: Zadajte jedinečný názov pre vašu vyhľadávaciu službu.
    • Región: Vyberte región najbližší vašim používateľom.
    • Cenová vrstva: Vyberte cenovú vrstvu, ktorá vyhovuje vašim požiadavkám. Na testovanie môžete začať s bezplatnou vrstvou.
  6. Kliknite na Skontrolovať + vytvoriť.
  7. Skontrolujte nastavenia a kliknite na Vytvoriť na vytvorenie vyhľadávacej služby.
  1. Po dokončení nasadenia prejdite na vašu vyhľadávaciu službu v Azure portáli.
  2. V prehľade vyhľadávacej služby skopírujte URL. Malo by vyzerať ako https://<service-name>.search.windows.net.
  3. (Odporúčané) Povoliť prístup bez kľúča pomocou Microsoft Entra ID (RBAC) ako je uvedené v kroku 4 nižšie — kľúč nie je potrebný. Vzory v tomto návode vytvárajú/aktualizujú indexy a nahrávajú dokumenty, čo vyžaduje roly Search Service Contributor a Search Index Data Contributor (alebo pri autentifikácii založenej na kľúči, primárny administrátorský kľúč — nie dotazovací kľúč). Ak nemôžete použiť RBAC, otvorte panel Nastavenia > Kľúče a skopírujte primárny administrátorský kľúč.
  4. Postupujte podľa krokov na stránke Quickstart guide na vytvorenie indexu, nahranie údajov a vykonanie vyhľadávania.

Azure AI Search sa integruje s rôznymi nástrojmi, ktoré vylepšujú vaše vyhľadávacie možnosti. Môžete používať Azure CLI, Python SDK, .NET SDK a ďalšie nástroje na pokročilé konfigurácie a operácie.

Používanie Azure CLI

  1. Nainštalujte Azure CLI podľa pokynov na Install Azure CLI.
  2. Prihláste sa do Azure CLI pomocou príkazu:

    az login
    
  3. (Odporúčané) Povoliť prístup bez kľúča pomocou 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"
    

    S povoleným RBAC sa Python a .NET SDK príklady nižšie autentifikujú cez DefaultAzureCredential, ktorý využíva vašu reláciu az login počas lokálneho vývoja — administrátorský kľúč nie je potrebný. Viac na Connect to Azure AI Search using roles.

  4. (Náhradné riešenie) Autentifikácia na základe kľúča — iba ak nemôžete použiť RBAC, uložte aj administrátorský kľúč:

Uložte koncový bod a API kľúč pre Azure AI Search inštanciu do premenných prostredia.

Použitie Python SDK

  1. Nainštalujte knižnicu Azure Cognitive Search client a Azure Identity pre Python:

    pip install azure-search-documents azure-identity
    
  2. Použite nasledujúci Python kód na vytvorenie indexu a nahranie dokumentov:

     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)
    

Použitie .NET SDK

  1. Spustite nasledujúci príkaz na vytvorenie indexu a nahranie dokumentov:

     dotnet run ./AzureSearch.cs
    

    Príklad .NET nižšie používa DefaultAzureCredential, ktorý môže použiť vaše prihlásenie cez Azure CLI z az login počas lokálneho vývoja.

  2. Tu je .NET kód pre 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}'.");
    

Pre podrobnejšie informácie si pozrite nasledujúcu dokumentáciu:

Záver

Úspešne ste nastavili Azure AI Search pomocou Azure portálu a integrovaných nástrojov. Teraz môžete preskúmať pokročilejšie funkcie a možnosti Azure AI Search na vylepšenie vašich vyhľadávacích riešení.

Pre ďalšiu pomoc navštívte Azure Cognitive Search documentation.


Vyhlásenie o zodpovednosti: Tento dokument bol preložený pomocou AI prekladateľskej služby Co-op Translator. Hoci sa snažíme o presnosť, vezmite prosím na vedomie, že automatické preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho natívnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nie sme zodpovední za žiadne nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.