Abilità Prompt GenAI

Note

Azure AI Search è disponibile tramite il portale di Azure, le API REST e Azure SDK. È inoltre alla base di Foundry IQ, il livello di conoscenza gestito che trasforma il contenuto aziendale in knowledge base riutilizzabili e con riconoscimento delle autorizzazioni per gli agenti nel portale di Microsoft Foundry.

Importante

Queste funzionalità e funzionalità supportano le connessioni ad altri servizi di servizi Microsoft e di terze parti. L'utilizzo di questi servizi è soggetto alle rispettive condizioni e potrebbe comportare l'elaborazione o l'archiviazione dei dati al di fuori del limite di conformità Azure, nonché il flusso dei dati nel limite di conformità Azure.

È responsabilità dell'utente gestire se i dati verranno trasmessi al di fuori dei limiti geografici e di conformità dell'organizzazione e di eventuali implicazioni correlate e che vengano sottoposte a provisioning autorizzazioni, limiti e approvazioni appropriate.

L'utente è responsabile di esaminare e testare attentamente le applicazioni compilate nel contesto dei casi d'uso specifici e di prendere tutte le decisioni e le personalizzazioni appropriate. Ciò include l'implementazione di mitigazioni di intelligenza artificiale responsabili, ad esempio metaprompt, filtri di contenuto o altri sistemi di sicurezza, e garantire che le applicazioni soddisfino gli standard di qualità, affidabilità, sicurezza e attendibilità appropriati. Per altre informazioni, vedere la nota sulla trasparenza Azure AI Search.

La competenza GenAI (Generative AI) Prompt esegue una richiesta chat completation su un grande modello linguistico (LLM) distribuito in Azure OpenAI in Foundry Models o Microsoft Foundry. Usa questa abilità per creare nuove informazioni che possano essere indicizzate e memorizzate come contenuti ricercabili.

Ecco alcuni esempi di come la competenza del prompt GenAI possa aiutarti a creare contenuti:

  • Verbalizzare le immagini
  • Riassumi lunghi passaggi di testo
  • Semplificare contenuti complessi
  • Esegui qualsiasi altro compito che riesci a esprimere in un prompt

La competenza GenAI Prompt è generalmente disponibile nell'API REST del servizio di ricerca 2026-04-01 e in Azure SDK che rivolgono a questa versione. Questa abilità supporta testo, immagini e contenuti multimodali, come immagini con immagini e testo estratto da file PDF.

Tip

È comune combinare questa abilità con una skill di shunking dati. Il tutorial Multimodale dimostra la verbalizzazione delle immagini con due diverse strategie di shunking dei dati.

Modelli supportati

  • È possibile usare qualsiasi modello di inferenza di completamento della chat distribuito in Foundry, ad esempio modelli GPT, DeepSeek-R#, Llama-4-Maverick e Cohere-command-r. Per i modelli GPT specificamente, sono supportati solo gli endpoint API di chat completions. Gli endpoint che utilizzano l'API Azure OpenAI Responses (contenente /openai/responses nell'URI) non sono attualmente compatibili.

  • Per la verbalizzazione delle immagini, il modello che si usa per analizzare l'immagine determina quali formati d'immagine sono supportati.

  • Per i modelli GPT-5, il parametro temperature non è supportato nello stesso modo dei modelli precedenti. Se definito, deve essere impostato a 1.0, poiché altri valori comporteranno errori.

  • La fatturazione si basa sul prezzo del modello che utilizzi.

Note

Il servizio di ricerca si collega al tuo modello tramite un endpoint pubblico, quindi non ci sono requisiti di localizzazione regionale. Tuttavia, se stai usando una soluzione Azure all-up, dovresti controllare le regioni Azure AI Search e le regioni del modello OpenAI Azure per trovare coppie adatte, specialmente se hai requisiti di residenza dati.

Prerequisiti

  • Una risorsa Azure OpenAI in Foundry Models o Foundry.

  • Un modello supportato distribuito alla tua risorsa o progetto.

    • Per Azure OpenAI, copia l'endpoint con il dominio openai.azure.com dalla pagina Keys e Endpoint nel portale Azure. Usa questo endpoint come parametro Uri in questa abilità.

    • Per Foundry, copia l'URI target per il deployment dalla pagina Modelli nel portale Foundry. Usa questo endpoint come parametro Uri in questa abilità.

  • L'autenticazione può essere basata su chiavi con una chiave API della tua risorsa OpenAI di Foundry o Azure. Tuttavia, raccomandiamo l'accesso basato sul ruolo utilizzando un'identità gestita da servizio di ricerca assegnata a un ruolo.

    • Su Azure OpenAI, assegna Cognitive Services OpenAI User all'identità gestita.

    • In Foundry assegnare l'utente Foundry all'identità gestita.

      Importante

      I ruoli controllo degli accessi in base al ruolo foundry sono stati rinominati di recente. Foundry User, Foundry Owner, Proprietario accountFoundry e Foundry Project Manager sono stati precedentemente denominati Azure utente di intelligenza artificiale, proprietario dell'intelligenza artificiale Azure, proprietario dell'account Azure ai e Azure ai Project Manager. È possibile che i nomi precedenti vengano visualizzati in alcune posizioni durante l'esecuzione della ridenominazione. Gli ID ruolo e le autorizzazioni di base sono invariati dalla ridenominazione.

@odata.type

#Microsoft.Skills.Custom.ChatCompletionSkill

Limiti dei dati

Limit Note
maxTokens Il default è 1024 se omesso. Il valore massimo dipende dal modello.
Timeout della richiesta Risolto dopo 30 secondi. Considera questo limite quando scegli un modello per l'indicizzazione in massa, poiché i modelli di ragionamento (come o1 e o3) potrebbero superarlo.
Immagini Sono supportate immagini e URL di immagini codificate in base 64. Il limite di dimensione dipende dal modello.

Parametri della competenza

Proprietà Tipo Obbligatorio Note
uri string Sì Endpoint del modello distribuito. I domini supportati sono:

  • openai.azure.com
  • services.ai.azure.com
  • cognitiveservices.azure.com

Sono supportati anche gli endpoint Gestione API di Azure, inclusi i domini personalizzati di Gestione API. Per la configurazione, tra cui autenticazione, controllo degli accessi in base al ruolo e connettività privata facoltativa, vedere Use Gestione API di Azure with Azure OpenAI skills and vectorizers.

apiKey string Cond.* Chiave segreta per il modello. Lascia vuoto quando usi l'identità gestita.
authIdentity string Cond.* User-assigned ID client con identità gestita (Azure solo OpenAI). Lascia vuoto per usare l'identità assegnata dal sistema .
commonModelParameters object No Controlli di generazione standard come temperature, maxTokens, ecc.
extraParameters object No Dizionario aperto passato all'API del modello sottostante.
extraParametersBehavior string No "pass-through" | "drop" | "error" (predefinito "error").
responseFormat object No Controlla se il modello restituisce testo, un oggetto JSON libero o uno schema JSON fortemente tipizzato. responseFormat Esempi di payload: {responseFormat: { type: text }}, {responseFormat: { type: json_object }}, {responseFormat: { type: json_schema }}

* Deve essere usata esattamente una delle apiKey, authIdentity, o l'identità assegnata al sistema del servizio.

commonModelParameters Default

Parametro Predefinito
model (impostazione predefinita distribuzione)
frequencyPenalty 0
presencePenalty 0
maxTokens 1024
temperature 0.7
seed Null
stop Null

Input delle competenze

Nome del campo di input Tipo Obbligatorio Description
systemMessage string Sì Istruzione a livello di sistema (es: "Sei un assistente utile.").
userMessage string Sì Prompt utente.
text string No Testo opzionale aggiunto a userMessage (scenari solo testuali).
image stringa (Base 64 data-URL) No Aggiunge un'immagine al prompt (solo modelli multimodali).
imageDetail stringa (low | high | auto) No Fidelity hint per modelli multimodali Azure OpenAI.

Output delle competenze

Nome dell'output Tipo Description
response stringa o oggetto JSON Output del modello nel formato richiesto da responseFormat.type.
usageInformation Oggetto JSON Conteggio dei token ed eco dei parametri del modello.

Definizioni di esempio

Riepilogo solo testo

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "Summarizer",
  "description": "Summarizes document content.",
  "context": "/document",
  "inputs": [
    { "name": "text", "source": "/document/content" },
    { "name": "systemMessage", "source": "='You are a concise AI assistant.'" },
    { "name": "userMessage", "source": "='Summarize the following text:'" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "apiKey": "<api-key>",
  "commonModelParameters": { "temperature": 0.3 }
}

Descrizione testo + immagine

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "Image Describer",
  "context": "/document/normalized_images/*",
  "inputs": [
    { "name": "image", "source": "/document/normalized_images/*/data" },
    { "name": "imageDetail", "source": "=high" },
    { "name": "systemMessage", "source": "='You are a useful AI assistant.'" },
    { "name": "userMessage", "source": "='Describe this image:'" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "authIdentity": "11111111-2222-3333-4444-555555555555",
  "responseFormat": { "type": "text" }
}

Ricerca di fatti numerica strutturata

{
  "@odata.type": "#Microsoft.Skills.Custom.ChatCompletionSkill",
  "name": "NumericalFactFinder",
  "context": "/document",
  "inputs": [
    { "name": "systemMessage", "source": "='You are an AI assistant that helps people find information.'" },
    { "name": "userMessage", "source": "='Find all the numerical data and put it in the specified fact format.'"}, 
    { "name": "text", "source": "/document/content" }
  ],
  "outputs": [ { "name": "response" } ],
  "uri": "https://demo.openai.azure.com/openai/deployments/gpt-4o/chat/completions",
  "apiKey": "<api-key>",
  "responseFormat": {
    "type": "json_schema",
    "jsonSchemaProperties": {
      "name": "NumericalFactObj",
      "strict": true,
      "schema": {
        "type": "object",
        "properties": "{\"facts\":{\"type\":\"array\",\"items\":{\"type\":\"object\",\"properties\":{\"number\":{\"type\":\"number\"},\"fact\":{\"type\":\"string\"}},\"required\":[\"number\",\"fact\"]}}}",
        "required": [ "facts" ],
        "additionalProperties": false
      }
    }
  }
}

Output campione (troncato)

{
  "response": {
    "facts": [
      { "number": 32.0, "fact": "Jordan scored 32 points per game in 1986-87." },
      { "number": 6.0,  "fact": "He won 6 NBA championships." }
    ]
  },
  "usageInformation": {
    "usage": {
      "completion_tokens": 203,
      "prompt_tokens": 248,
      "total_tokens": 451
    }
  }
}

Procedure consigliate

  • Blocca i documenti lunghi con l'abilità Text Split per rimanere nella finestra contestuale del modello.
  • Per indicizzazione ad alto volume, dedicare una distribuzione separata del modello a questa competenza in modo che le quote di token per i carichi di lavoro RAG in tempo di query rimangano inalterati.
  • Per minimizzare la latenza, co-localizza il modello e il tuo servizio Azure AI Search nella stessa regione Azure.
  • Usa responseFormat.json_schema con GPT-4o per un'estrazione strutturata affidabile e una mappatura più semplice ai campi indicizzati.
  • Monitora l'utilizzo dei token e invia richieste di aumento di quota se l'indicizzatore supera i tuoi limiti di Token per Minuto (TPM).

Errori e avvertenze

Condition Risultato
Mancante o invalido uri Errore
Nessun metodo di autenticazione specificato Errore
Sia apiKey che authIdentity fornito Errore
Modello non supportato per il prompt multimodale Errore
L'input supera il limite dei token modello Errore
Il modello restituisce JSON non valido per json_schema Avviso: stringa non elaborata restituita in response

Considerazioni sulla sicurezza per l'autenticazione dell'identità gestita

Quando la competenza Prompt genAI usa l'autenticazione dell'identità gestita, Azure AI Search ottiene un token di accesso Microsoft Entra per il gruppo di destinatari di Foundry Tools (https://cognitiveservices.azure.com) e lo include nelle richieste inviate all'endpoint specificato da uri. L'autenticazione dell'identità gestita si applica quando authIdentity è impostata o quando apiKey e authIdentity sono vuoti e il servizio usa l'identità assegnata dal sistema.

L'endpoint a cui si uri fa riferimento deve essere la propria Azure risorsa OpenAI o Foundry. I domini supportati sono:

  • openai.azure.com
  • cognitiveservices.azure.com
  • services.ai.azure.com

sono supportati anche gli endpoint Gestione API di Azure (*.azure-api.netGESTIONE API) e i domini personalizzati che riguardano queste risorse. Poiché un dominio personalizzato o un nome host di Gestione API non può essere verificato solo dal nome, Azure AI Search convalida questi endpoint con un controllo della connettività in tempo reale in fase di configurazione anziché in base alla corrispondenza del dominio. L'utente è responsabile della configurazione e della gestione della relazione tra l'endpoint e la Azure risorsa OpenAI o Foundry sottostante.

Note

Un token di identità gestito rilasciato per il gruppo di destinatari degli strumenti Foundry è valido per qualsiasi strumento foundry o Azure risorsa OpenAI su cui è autorizzata l'identità. L'invio a un endpoint non attendibile potrebbe esporre il token.

Per mantenere una distribuzione sicura, seguire queste procedure:

  • Impostare uri solo sugli endpoint di cui si è proprietari e si è attendibili. Preferisce i domini degli strumenti foundry elencati in precedenza. Se si usa un apim o un endpoint di dominio personalizzato, verificare che venga anteriore alla propria risorsa prima di abilitare l'identità gestita. Un nome host attendibile non è una prova di proprietà.
  • Applicare il principio del privilegio minimo all'identità gestita usata dal servizio di ricerca:
    • In Azure OpenAI assegnare solo l'utente OpenAI di Servizi cognitivi.
    • In Foundry assegnare solo l'utente Foundry. Evitare di concedere ruoli più ampi.
  • Usare Network Security Perimeter (NSP) e endpoint privati o integrazione rete virtuale per limitare gli endpoint che il servizio di ricerca può raggiungere e da quali origini la risorsa di destinazione accetta le richieste.
  • Se si usa un'APIM o un endpoint di dominio personalizzato, verificare che il gateway convalide le richieste in ingresso e le inoltra solo al back-end previsto. È anche consigliabile esaminare periodicamente i criteri di accesso.
  • Preferisce l'identità gestita rispetto a apiKey. Se si usa apiKey, archiviarlo e ruotarlo in modo sicuro e non incorporarlo nel controllo del codice sorgente. Il servizio rifiuta le configurazioni che impostano sia apiKey che authIdentity.
  • Esaminare periodicamente le definizioni del set di competenze, le assegnazioni di ruolo dell'identità gestita e gestione API e le configurazioni di dominio personalizzato per verificare che uri i valori, i controlli di accesso e le autorizzazioni di identità rimangano aggiornati e appropriati. Esaminare le modifiche alla configurazione tramite i processi di gestione delle modifiche e di revisione della sicurezza stabiliti.
  • Monitorare Azure log di accesso di OpenAI, Foundry Tools e Foundry, eventi di autenticazione e log di accesso per attività impreviste o non autorizzate.
  • Rimuovere competenze, endpoint, assegnazioni di ruolo e chiavi API inutilizzate che non sono più necessarie.

Limitare l'accesso alla configurazione del set di competenze

Gli utenti che possono creare, modificare o eseguire set di competenze controllano sia l'endpoint di destinazione (uri) che la configurazione di autenticazione usata dalla competenza. Poiché la competenza invia un token di identità gestito per il gruppo di destinatari degli strumenti foundry a tale endpoint, limitare queste autorizzazioni agli amministratori attendibili e seguire i processi standard di gestione delle modifiche e di revisione della sicurezza durante la configurazione delle competenze abilitate per l'identità gestita.

Vedere anche