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 di Grounding con Ricerca Bing potrebbe 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.

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. 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. Gli sviluppatori possono creare una nuova risorsa di ricerca Bing. Creare una nuova risorsa di Ricerca Bing 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.

  4. 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.

  5. Selezionare la risorsa Grounding with Bing Search creata e copiare una delle chiavi API.

    Screenshot della schermata della chiave e dell'endpoint per la risorsa Bing nella portale di Azure.

  6. Passare al portale di Azure AI Foundry e selezionare il progetto di intelligenza artificiale (assicurarsi che si trovi nello stesso gruppo di risorse della risorsa Di ricerca Bing). Fare clic su Centro di gestione.

    Screenshot del pulsante impostazioni per un progetto di intelligenza artificiale.

  7. Selezionare + nuova connessione nella pagina delle impostazioni.

    Nota

    Se si genera nuovamente la chiave API in un secondo momento, è necessario aggiornare la connessione con la nuova chiave.

    Screenshot della schermata delle connessioni per il progetto di intelligenza artificiale.

  8. Selezionare Chiave API in altri tipi di risorse.

    Screenshot dei tipi di risorse disponibili per le connessioni.

  9. Immettere le informazioni seguenti e quindi creare una nuova connessione alla risorsa Ricerca Bing.

    • Endpoint: https://api.bing.microsoft.com/
    • Chiave: YOUR_API_KEY
    • Nome connessione: YOUR_CONNECTION_NAME questo nome di connessione verrà usato nel codice di esempio seguente.
    • Accesso: è possibile scegliere questo progetto solo o condiviso a tutti i progetti. Assicurarsi che nel codice di esempio seguente il progetto immesso stringa di connessione abbia accesso a questa 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}")

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.

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: Abilitare il grounding con lo strumento di ricerca Bing

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.