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
- L'utilizzo del grounding con Ricerca Bing può comportare costi. Per i dettagli, vedi la pagina dei prezzi.
- 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.
- 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
- 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
Creare un agente di Intelligenza artificiale di Azure seguendo la procedura descritta nell'argomento di avvio rapido.
Creare una base con la risorsa Ricerca Bing. Per crearlo, è necessario avere o
contributor
avereowner
un ruolo nella sottoscrizione o nel gruppo di risorse.- È 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.
- È 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'
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.
È 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.
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.
Fare clic per aggiungere nuove connessioni. Dopo aver aggiunto una connessione, è possibile selezionare direttamente dall'elenco esistente.
Selezionare la risorsa Di base con Ricerca Bing che si vuole usare e fare clic per aggiungere la connessione.
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}")
Altre considerazioni legali
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.