Data source - Azure AI Search (classico)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Note

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Important

Azure OpenAI sui dati è deprecato e si avvicina al ritiro.

Microsoft ha interrotto l'onboarding di nuovi modelli in Azure OpenAI sui dati. Questa funzionalità supporta solo i modelli seguenti:

  • GPT-4o (versioni 2024-05-13, 2024-08-06 e 2024-11-20)
  • GPT-4o-mini (versione 2024-07-18)
  • GPT-4.1, GPT-4.1-mini e GPT-4.1-nano (versione 2025-04-14)

Once i modelli GPT-4.1 vengono ritirati, tutti Azure OpenAI negli endpoint dell'API dati e i connettori dell'origine dati supportati smetteranno di funzionare.

È consigliabile eseguire la migrazione di Azure OpenAI nei carichi di lavoro dei dati a Foundry Agent Service con Foundry IQ per recuperare il contenuto e generare risposte a terra dai dati. Per iniziare, vedere Connettere una Knowledge Base di IQ Foundry.

Le opzioni configurabili di Azure AI Search quando si utilizza Azure OpenAI On Your Data. Questa origine dati è supportata nella versione 2024-02-01dell'API .

Name Type Required Description
parameters Parameters True I parametri da usare quando si configura Azure Search.
type string True Deve essere azure_search.

Parameters

Name Type Required Description
endpoint string True Percorso endpoint assoluto da usare per la risorsa di ricerca Azure.
index_name string True Il nome dell'indice da utilizzare nella risorsa di ricerca Azure citata.
authentication Uno di ApiKeyAuthenticationOptions, SystemAssignedManagedIdentityAuthenticationOptions, UserAssignedManagedIdentityAuthenticationOptions, onYourDataAccessTokenAuthenticationOptions True Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita.
embedding_dependency Uno di DeploymentNameVectorizationSource, EndpointVectorizationSource False Dipendenza di incorporamento per la ricerca vettoriale. Obbligatorio quando query_type è vector, vector_simple_hybrido vector_semantic_hybrid.
fields_mapping FieldsMappingOptions False Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca.
filter string False Search filter.
in_scope boolean False Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
query_type QueryType False Il tipo di query da usare con Azure Search. Il valore predefinito è simple
role_information string False Fornire le istruzioni del modello sul comportamento e su qualsiasi contesto a cui deve fare riferimento durante la generazione di una risposta. È possibile descrivere la personalità dell'assistente e dirgli come formattare le risposte.
semantic_configuration string False Configurazione semantica per la query. Obbligatorio quando query_type è semantic o vector_semantic_hybrid.
strictness integer False La rigidità configurata del filtro per pertinenza della ricerca. Maggiore è la rigidità, maggiore è la precisione ma il richiamo inferiore della risposta. Il valore predefinito è 3.
top_n_documents integer False Numero massimo di documenti configurato per la funzionalità per la query configurata. Il valore predefinito è 5.
max_search_queries integer False Il numero massimo di query riscritte deve essere inviato al provider di ricerca per un messaggio utente. Se non specificato, il sistema deciderà il numero di query da inviare.
allow_partial_result integer False Se specificato come true, il sistema consentirà l'uso di risultati parziali della ricerca e la richiesta avrà esito negativo se tutte le query hanno esito negativo. Se non specificato, o specificato come false, la richiesta avrà esito negativo se una query di ricerca ha esito negativo.
include_contexts array False Proprietà incluse del contesto di output. Se non specificato, il valore predefinito è citations e intent. I valori possono essere citations,intent, all_retrieved_documents.

Opzioni di autenticazione della chiave API

Le opzioni di autenticazione per Azure OpenAI nei dati quando si usa una chiave API.

Name Type Required Description
key string True Chiave API da usare per l'autenticazione.
type string True Deve essere api_key.

Opzioni di autenticazione dell'identità gestita assegnata dal sistema

Opzioni di autenticazione per Azure OpenAI nei dati quando si usa un'identità gestita assegnata dal sistema.

Name Type Required Description
type string True Deve essere system_assigned_managed_identity.

Opzioni di autenticazione dell'identità gestita assegnata dall'utente

Le opzioni di autenticazione per Azure OpenAI nei dati quando si usa un'identità gestita assegnata dall'utente.

Name Type Required Description
managed_identity_resource_id string True ID risorsa dell'identità gestita assegnata dall'utente da usare per l'autenticazione.
type string True Deve essere user_assigned_managed_identity.

Opzioni di autenticazione del token di accesso

Le opzioni di autenticazione per Azure OpenAI sui tuoi dati quando si utilizza il token di accesso.

Name Type Required Description
access_token string True Token di accesso da usare per l'autenticazione.
type string True Deve essere access_token.

Origine vettorializzazione del nome della distribuzione

I dettagli della sorgente di vettorizzazione, utilizzata da Azure OpenAI On Your Data quando applica la ricerca vettoriale. Questa sorgente di vettorizzazione si basa su un nome interno di implementazione di un modello di embedding nella stessa risorsa Azure OpenAI. Questa sorgente di vettorizzazione ti permette di utilizzare la ricerca vettoriale senza l'api-key OpenAI di Azure e senza l'accesso alla rete pubblica di Azure OpenAI.

Name Type Required Description
deployment_name string True Il nome di distribuzione del modello di embedding all'interno della stessa risorsa Azure OpenAI.
type string True Deve essere deployment_name.
dimensions integer False Numero di dimensioni che gli incorporamenti devono avere. Supportato solo nei text-embedding-3 modelli e versioni successive.

Origine di vettorizzazione degli endpoint

I dettagli della sorgente di vettorizzazione, utilizzata da Azure OpenAI On Your Data quando applica la ricerca vettoriale. Questa sorgente di vettorizzazione si basa sull'endpoint API di embedding Azure OpenAI.

Name Type Required Description
endpoint string True Specifica l'URL dell'endpoint della risorsa da cui recuperare gli incorporamenti. Deve essere nel formato .https://{YOUR_RESOURCE_NAME}.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings Il parametro di query api-version non è consentito.
authentication ApiKeyAuthenticationOptions True Specifica le opzioni di autenticazione da utilizzare per il recupero di incorporamenti dall'endpoint specificato.
type string True Deve essere endpoint.
dimensions integer False Numero di dimensioni che gli incorporamenti devono avere. Supportato solo nei text-embedding-3 modelli e versioni successive. Questa funzionalità è supportata nell'API versione 2024-10-21.

Opzioni di mapping dei campi

Impostazioni facoltative per controllare la modalità di elaborazione dei campi quando si usa una risorsa di ricerca Azure configurata.

Name Type Required Description
content_fields string[] False Nomi dei campi di indice che devono essere considerati come contenuto.
vector_fields string[] False Nomi dei campi che rappresentano i dati vettoriali.
content_fields_separator string False Modello separatore che i campi di contenuto devono usare. Il valore predefinito è \n.
filepath_field string False Nome del campo di indice da utilizzare come percorso file.
title_field string False Nome del campo di indice da utilizzare come titolo.
url_field string False Nome del campo di indice da usare come URL.

Query type

Il tipo di query di recupero Azure Search che dovrebbe essere eseguita quando lo si utilizza come Azure OpenAI sui tuoi dati.

Enum Value Description
simple Rappresenta il parser di query semplice predefinito.
semantic Rappresenta il parser di query semantico per la modellazione semantica avanzata.
vector Rappresenta la ricerca vettoriale sui dati calcolati.
vector_simple_hybrid Rappresenta una combinazione della semplice strategia di query con i dati vettoriali.
vector_semantic_hybrid Rappresenta una combinazione di query di ricerca semantica e di dati vettoriali.

Examples

Prerequisites:

  • Configura le assegnazioni dei ruoli dal sistema Azure OpenAI assegnato l'identità gestita al servizio di ricerca Azure. Ruoli obbligatori: Search Index Data Reader, Search Service Contributor.
  • Configura le assegnazioni dei ruoli dall'utente alla risorsa Azure OpenAI. Ruolo obbligatorio: Cognitive Services OpenAI User.
  • Installare l'interfaccia della riga di comando di Az ed eseguire az login.
  • Definire le variabili di ambiente seguenti: AzureOpenAIEndpoint, ChatCompletionsDeploymentName,SearchEndpoint , SearchIndex.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export SearchEndpoint=https://example.search.windows.net
export SearchIndex=example-index

Installare i pacchetti openaipip più recenti , azure-identity.

import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
search_endpoint = os.environ.get("SearchEndpoint")
search_index = os.environ.get("SearchIndex")

token_provider = get_bearer_token_provider(DefaultAzureCredential(), "https://ai.azure.com/.default")

client = AzureOpenAI(
    azure_endpoint=endpoint,
    azure_ad_token_provider=token_provider,
    api_version="2024-02-01",
)

completion = client.chat.completions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "Who is DRI?",
        },
    ],
    extra_body={
        "data_sources": [
            {
                "type": "azure_search",
                "parameters": {
                    "endpoint": search_endpoint,
                    "index_name": search_index,
                    "authentication": {
                        "type": "system_assigned_managed_identity"
                    }
                }
            }
        ]
    }
)

print(completion.model_dump_json(indent=2))