Condividi tramite


Base con Ricerca Bing

Il grounding con Ricerca Bing consente agli agenti di Intelligenza artificiale di Azure di incorporare dati Web pubblici in tempo reale durante la generazione di risposte. È necessario creare una risorsa di base con la risorsa Ricerca Bing e quindi connettere questa risorsa agli agenti di intelligenza artificiale di Azure. Quando un utente invia una query, gli agenti di intelligenza artificiale di Azure decidono se usare o meno il grounding con Ricerca Bing. In tal caso, Usa Bing per eseguire ricerche su dati Web pubblici e restituire blocchi pertinenti. Infine, gli agenti di intelligenza artificiale di Azure useranno blocchi restituiti per generare una risposta.

È possibile porre domande come "what is the top news today" o "what is the recent update in the retail industry in the US?", which require real-time public data.

Gli sviluppatori e gli utenti finali non hanno accesso al contenuto non elaborato restituito da Grounding con Ricerca Bing. La risposta, tuttavia, include citazioni con collegamenti ai siti Web usati per generare la risposta e un collegamento alla query Bing usata per la ricerca. Questi due riferimenti devono essere conservati e visualizzati nel formato esatto fornito da Microsoft, in base ai requisiti di utilizzo e visualizzazione di Ricerca Bing. Per informazioni dettagliate, vedere la sezione Come visualizzare grounding con i risultati di Ricerca Bing.

Importante

  1. L'utilizzo del grounding con Ricerca Bing può comportare costi. Per i dettagli, vedi la pagina dei prezzi.
  2. Creando e usando una risorsa di Ricerca Bing con l'esperienza code-first, ad esempio l'interfaccia della riga di comando di Azure o la distribuzione tramite un modello di distribuzione, si accetta di essere vincolati e conformi alle condizioni disponibili in https://www.microsoft.com/en-us/bing/apis/grounding-legal, che possono essere aggiornate di tanto in tanto.
  3. Quando si usa Grounding con Ricerca Bing, i dati dei clienti vengono trasferiti al di fuori del limite di conformità di Azure al grounding con Bing servizio di ricerca. Il grounding con Ricerca Bing non è soggetto agli stessi termini di elaborazione dei dati (inclusa la posizione di elaborazione) e non ha gli stessi standard e certificazioni di conformità del servizio Agente di intelligenza artificiale di Azure, come descritto in Base alle condizioni per l'utilizzo di Ricerca Bing. È responsabilità dell'utente valutare se l'uso di Grounding con Ricerca Bing nell'agente soddisfa le esigenze e i requisiti.

Funzionamento del grounding con Ricerca Bing

La query dell'utente è il messaggio che un utente finale invia a un agente, ad esempio "Dovrei prendere un ombrello con me oggi? Sono a Seattle. Le istruzioni sono il messaggio di sistema che uno sviluppatore può fornire per condividere il contesto e fornire istruzioni al modello di intelligenza artificiale su come usare vari strumenti o comportamento.

Quando un utente invia una query, la distribuzione del modello di intelligenza artificiale del cliente la elabora prima (usando le istruzioni fornite) per eseguire successivamente una query di ricerca Bing ( visibile agli sviluppatori). Il grounding con Bing restituisce risultati di ricerca pertinenti alla distribuzione del modello del cliente, che genera quindi l'output finale. Quando si usa Grounding con Ricerca Bing, solo la query di ricerca Bing e la chiave di risorsa vengono inviate a Bing e non sono incluse informazioni specifiche dell'utente finale. La chiave della risorsa viene inviata a Bing esclusivamente a scopo di fatturazione e limitazione della tariffa. Qualsiasi query di ricerca Bing generata e inviata a Bing per scopi di base viene trasferita, insieme alla chiave di risorsa, al di fuori del limite di conformità di Azure al grounding con Bing servizio di ricerca. Le basi con Ricerca Bing sono soggette alle condizioni di Bing e non hanno gli stessi standard e certificazioni di conformità del servizio Agente di intelligenza artificiale di Azure, come descritto in Base alle condizioni per l'utilizzo di Bing. È responsabilità dell'utente valutare se l'uso di Grounding con Ricerca Bing nell'agente soddisfa le esigenze e i requisiti.

Supporto per l'utilizzo

Supporto di Azure ai foundry Python SDK SDK per C# JavaScript SDK REST API Configurazione dell'agente di base Configurazione dell'agente standard
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Attrezzaggio

Nota

  1. Il grounding con Ricerca Bing funziona solo con i modelli OpenAI di Azure seguenti: gpt-3.5-turbo-0125, gpt-4-0125-preview, gpt-4-turbo-2024-04-09, gpt-4o-0513
  1. Creare un agente di Intelligenza artificiale di Azure seguendo la procedura descritta nell'argomento di avvio rapido.

  2. Creare una base con la risorsa Ricerca Bing. Per crearlo, è necessario avere o contributor avere owner un ruolo nella sottoscrizione o nel gruppo di risorse.

    1. È possibile crearne uno nel portale di Azure e selezionare i diversi campi nel modulo di creazione. Assicurarsi di creare questa funzionalità di base con la risorsa Ricerca Bing nello stesso gruppo di risorse dell'agente di intelligenza artificiale di Azure, del progetto di intelligenza artificiale e di altre risorse.

    Screenshot della selezione delle risorse Bing nella portale di Azure.

    1. È anche possibile crearne uno tramite l'esperienza code-first. In tal caso, è necessario registrare manualmente Ricerca Bing come provider di risorse di Azure. È necessario avere l'autorizzazione per eseguire l'operazione /register/action per il provider di risorse. L'autorizzazione è inclusa nei ruoli Collaboratore e Proprietario .
        az provider register --namespace 'Microsoft.Bing'
    
  3. Dopo aver creato una risorsa Di ricerca Bing, è possibile trovarla in portale di Azure. Passare al gruppo di risorse in cui è stata creata la risorsa, cercare il grounding con la risorsa ricerca Bing creata.

    Screenshot della risorsa Bing nella portale di Azure.

  4. È possibile aggiungere lo strumento Ricerca Bing a un agente a livello di codice usando gli esempi di codice elencati nella parte superiore di questo articolo o il portale di Azure AI Foundry. Se si vuole usare il portale, nella schermata Crea ed esegui debug per l'agente scorrere verso il basso il riquadro Installazione a destra per conoscere. Selezionare Aggiungi.

    Screenshot che mostra le categorie di strumenti disponibili nel portale di Azure AI Foundry.

  5. Selezionare Grounding with Bing Search (Terra con Ricerca Bing) e seguire le istruzioni per aggiungere lo strumento. Si noti che è possibile aggiungere un solo agente.

    Screenshot che mostra gli strumenti di conoscenza disponibili nel portale di Azure AI Foundry.

  6. Fare clic per aggiungere nuove connessioni. Dopo aver aggiunto una connessione, è possibile selezionare direttamente dall'elenco esistente.

    Screenshot che mostra il pulsante per la creazione di una nuova connessione.

  7. Selezionare la risorsa Di base con Ricerca Bing che si vuole usare e fare clic per aggiungere la connessione.

    Screenshot che mostra il grounding disponibile con le connessioni di Ricerca Bing.

Come visualizzare il grounding con i risultati di Ricerca Bing

In base alle condizioni per l'utilizzo e all'utilizzo di Bing e ai requisiti di visualizzazione, è necessario visualizzare sia gli URL del sito Web che gli URL di query di ricerca Bing nell'interfaccia personalizzata. È possibile trovare GLI URL del sito Web tramite annotations il parametro nella risposta dell'API e negli URL delle query di ricerca Bing tramite runstep i dettagli. Per eseguire il rendering della pagina Web, è consigliabile sostituire l'endpoint degli URL di query di ricerca Bing con www.bing.com e l'URL della query di ricerca Bing sarà simile a "https://www.bing.com/search?q={search query}"

run_steps = project_client.agents.list_run_steps(run_id=run.id, thread_id=thread.id)
run_steps_data = run_steps['data']
print(f"Last run step detail: {run_steps_data}")

Screenshot che mostra le citazioni per i risultati della ricerca Bing.

Microsoft userà i dati inviati a Grounding con Bing per migliorare prodotti e servizi Microsoft. Quando si inviano dati personali a questo servizio, l'utente è responsabile di ottenere un consenso sufficiente dagli interessati. Le Condizioni per la protezione dei dati nelle Condizioni per i servizi online non si applicano al grounding con Bing.

L'uso di Grounding con Ricerca Bing sarà disciplinato dalle Condizioni per l'utilizzo. Usando Grounding con Ricerca Bing, l'utente accetta di essere vincolato e conforme alle condizioni per l'utilizzo.

Passaggio 1: Creare un client di progetto

Creare un oggetto client che conterrà il stringa di connessione per la connessione al progetto di intelligenza artificiale e ad altre risorse.

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.projects.models import BingGroundingTool


# Create an Azure AI Client from a connection string, copied from your Azure AI Foundry project.
# At the moment, it should be in the format "<HostName>;<AzureSubscriptionId>;<ResourceGroup>;<HubName>"
# Customer needs to login to Azure subscription via Azure CLI and set the environment variables

project_client = AIProjectClient.from_connection_string(
    credential=DefaultAzureCredential(),
    conn_str=os.environ["PROJECT_CONNECTION_STRING"],
)

Passaggio 2: Creare un agente con lo strumento di ricerca Bing abilitato

Per rendere disponibile lo strumento di ricerca Bing con Bing per l'agente, usare una connessione per inizializzare lo strumento e collegarlo all'agente. È possibile trovare la connessione nella sezione risorse connesse del progetto nel portale di Azure AI Foundry.

bing_connection = project_client.connections.get(
    connection_name=os.environ["BING_CONNECTION_NAME"]
)
conn_id = bing_connection.id

print(conn_id)

# Initialize agent bing tool and add the connection id
bing = BingGroundingTool(connection_id=conn_id)

# Create agent with the bing tool and process assistant run
with project_client:
    agent = project_client.agents.create_agent(
        model="gpt-4o",
        name="my-assistant",
        instructions="You are a helpful assistant",
        tools=bing.definitions,
        headers={"x-ms-enable-preview": "true"}
    )
    print(f"Created agent, ID: {agent.id}")

Passaggio 3: Creare un thread

# Create thread for communication
thread = project_client.agents.create_thread()
print(f"Created thread, ID: {thread.id}")

# Create message to thread
message = project_client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="What is the top news today",
)
print(f"Created message, ID: {message.id}")

Passaggio 4: Creare un'esecuzione e controllare l'output

Creare un'esecuzione e osservare che il modello usa lo strumento Ricerca Bing per fornire una risposta alla domanda dell'utente.

# Create and process agent run in thread with tools
run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
print(f"Run finished with status: {run.status}")

# Retrieve run step details to get Bing Search query link
# To render the webpage, we recommend you replace the endpoint of Bing search query URLs with `www.bing.com` and your Bing search query URL would look like "https://www.bing.com/search?q={search query}"
run_steps = project_client.agents.list_run_steps(run_id=run.id, thread_id=thread.id)
run_steps_data = run_steps['data']
print(f"Last run step detail: {run_steps_data}")

if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Delete the assistant when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")

# Fetch and log all messages
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")

Passaggi successivi

Vedere l'esempio completo per il grounding con Ricerca Bing.