Competenza di incorporamento di Azure OpenAI

Importante

Questa funzionalità è disponibile in anteprima pubblica in Condizioni supplementari per l'utilizzo. L'API REST 2023-10-01-Preview supporta questa funzionalità.

La competenza incorporamento OpenAI di Azure si connette a un modello di incorporamento distribuito nella risorsa OpenAI di Azure per generare incorporamenti.

L'importazione e la vettorizzazione dei dati usano la competenza di incorporamento OpenAI di Azure per vettorizzare il contenuto. È possibile eseguire la procedura guidata ed esaminare il set di competenze generato per vedere come viene compilato dalla procedura guidata.

Nota

Questa competenza è associata ad Azure OpenAI e viene addebitata al prezzo con pagamento in base al consumo di Azure OpenAI esistente.

@odata.type

Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill

Limiti dei dati

La dimensione massima di un input di testo deve essere di 8.000 token. Se l'input supera il massimo consentito, il modello genera un errore di richiesta non valido. Per altre informazioni, vedere il concetto di chiave dei token nella documentazione di Azure OpenAI. Se è necessario suddividere i dati, è consigliabile usare la competenza Suddivisione testo.

Parametri della competenza

I parametri fanno distinzione tra maiuscole e minuscole.

Input Descrizione
resourceUri URI di un provider di modelli, ad esempio una risorsa OpenAI di Azure o un URL OpenAI.
apiKey Chiave privata utilizzata per accedere al modello. Se si specifica una chiave, lasciare authIdentity vuoto. Se si impostano sia l'oggetto apiKey che authIdentity, viene apiKey utilizzato nella connessione.
deploymentId Nome del modello di incorporamento azure OpenAI distribuito. Il modello deve essere un modello di incorporamento, ad esempio text-embedding-ada-002. Vedere l'elenco dei modelli OpenAI di Azure per i modelli supportati.
authIdentity Identità gestita dall'utente usata dal servizio di ricerca per la connessione ad Azure OpenAI. È possibile usare un'identità gestita dal sistema o dall'utente. Per usare un'identità gestita dal sistema, lasciare apiKey e authIdentity vuoto. L'identità gestita dal sistema viene usata automaticamente. Un'identità gestita deve disporre delle autorizzazioni utente OpenAI di Servizi cognitivi per inviare testo ad Azure OpenAI.

Input competenze

Input Descrizione
text Testo di input da vettorizzare. Se si usa la suddivisione in blocchi di dati, l'origine potrebbe essere /document/pages/*.

Output competenze

Output Descrizione
embedding Incorporamento vettorializzato per il testo di input.

Definizione di esempio

Si consideri un record con i campi seguenti:

{
    "content": "Microsoft released Windows 10."
}

La definizione della competenza potrebbe quindi essere simile alla seguente:

{
  "@odata.type": "#Microsoft.Skills.Text.AzureOpenAIEmbeddingSkill",
  "description": "Connects a deployed embedding model.",
  "resourceUri": "https://my-demo-openai-eastus.openai.azure.com/",
  "deploymentId": "my-text-embedding-ada-002-model",
  "inputs": [
    {
      "name": "text",
      "source": "/document/content"
    }
  ],
  "outputs": [
    {
      "name": "embedding"
    }
  ]
}

Output di esempio

Per il testo di input specificato, viene generato un output di incorporamento vettorializzato.

{
  "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... 
        0.021276434883475304,
      ]
}

L'output si trova in memoria. Per inviare questo output a un campo nell'indice di ricerca, è necessario definire un outputFieldMapping che esegue il mapping dell'output di incorporamento vettorializzato (che è una matrice) a un campo vettoriale. Supponendo che l'output della competenza risieda nel nodo di incorporamento del documento e content_vector sia il campo nell'indice di ricerca, outputFieldMapping nell'indicizzatore dovrebbe essere simile al seguente:

  "outputFieldMappings": [
    {
      "sourceFieldName": "/document/embedding/*",
      "targetFieldName": "content_vector"
    }
  ]

Procedure consigliate

Di seguito sono riportate alcune procedure consigliate da considerare quando si usa questa competenza:

  • Se si raggiunge il limite di TPM (token al minuto) di Azure OpenAI, prendere in considerazione l'avviso sui limiti di quota in modo da poter risolvere di conseguenza. Per altre informazioni sulle prestazioni dell'istanza di Azure OpenAI, vedere la documentazione di monitoraggio di Azure OpenAI.
  • La distribuzione del modello di incorporamento di Azure OpenAI usata per questa competenza deve essere idealmente separata dalla distribuzione usata per altri casi d'uso, incluso il vettore di query. In questo modo ogni distribuzione può essere personalizzata in base al proprio caso d'uso specifico, consentendo di ottimizzare le prestazioni e identificare facilmente il traffico proveniente dall'indicizzatore e dalle chiamate di incorporamento dell'indice.
  • L'istanza di Azure OpenAI deve trovarsi nella stessa area o almeno geograficamente vicina all'area in cui è ospitata l'servizio di ricerca di intelligenza artificiale. Ciò riduce la latenza e migliora la velocità di trasferimento dei dati tra i servizi.
  • Se si dispone di un limite TPM (Token al minuto) di Azure OpenAI maggiore di quello predefinito, come pubblicato nella documentazione relativa a quote e limiti , aprire un caso di supporto con il team di Ricerca di intelligenza artificiale di Azure, in modo che sia possibile modificare di conseguenza. Ciò consente al processo di indicizzazione di non essere rallentato inutilmente dal limite TPM predefinito documentato, se si hanno limiti più elevati.

Errori e avvisi

Condizione Risultato
URI Null o non valido Error
ID distribuzione Null o non valido Error
Il testo è vuoto Avviso
Il testo è maggiore di 8.000 token Error

Vedi anche