Grundstötning med Bing-sökning
Med grundstötning med Bing Search kan dina Azure AI-agenter införliva offentliga webbdata i realtid när de genererar svar. Du måste skapa en grounding med Bing Search-resursen och sedan ansluta den här resursen till dina Azure AI-agenter. När en användare skickar en fråga avgör Azure AI-agenter om grounding med Bing Search ska utnyttjas eller inte. I så fall används Bing för att söka efter offentliga webbdata och returnera relevanta segment. Slutligen använder Azure AI-agenter returnerade segment för att generera ett svar.
Du kan ställa frågor som "what is the top news today" eller "what is the recent update in the retail industry in the US?", som kräver offentliga uppgifter i realtid.
Utvecklare och slutanvändare har inte åtkomst till råinnehåll som returneras från Grounding med Bing Search. Svaret innehåller dock citat med länkar till de webbplatser som används för att generera svaret och en länk till Bing-frågan som används för sökningen. Dessa två referenser måste behållas och visas i exakt det formulär som tillhandahålls av Microsoft, enligt grunderna i Bing Searchs användnings - och visningskrav. Mer information finns i avsnittet om hur du visar grounding med Bing-sökresultat .
Viktigt!
- Din användning av Grounding med Bing Search kan medföra kostnader. Mer information finns prissättningssida.
- Genom att skapa och använda en grounding med Bing Search-resursen via kod-första upplevelsen, till exempel Azure CLI, eller distribuera via distributionsmallen, godkänner du att vara bunden av och följa de villkor som är tillgängliga på https://www.microsoft.com/en-us/bing/apis/grounding-legal, som kan uppdateras då och då.
Ställ in
Kommentar
- Grundläggning med Bing Search fungerar endast med följande Azure OpenAI-modeller:
gpt-3.5-turbo-0125
,gpt-4-0125-preview
,gpt-4-turbo-2024-04-09
,gpt-4o-0513
Skapa en Azure AI-agent genom att följa stegen i snabbstarten.
Registrera Bing Search manuellt som en Azure-resursprovider. Du måste ha behörighet för att utföra åtgärden
/register/action
på resursprovidern. Behörigheten ingår i rollerna Deltagare och Ägare .az provider register --namespace 'Microsoft.Bing'
Utvecklare kan skapa en ny grounding med Bing Search-resurs. Skapa en ny grounding med Bing Search-resursen i Azure Portal och välj de olika fälten i formuläret för att skapa. Se till att du skapar den här grounding med Bing Search-resursen i samma resursgrupp som din Azure AI-agent, AI Project och andra resurser.
När du har skapat en grounding med Bing Search-resursen hittar du den i Azure Portal. Gå till den resursgrupp som du har skapat resursen i och sök efter resursen Grounding with Bing Search som du har skapat.
Välj resursen Grounding with Bing Search (Jordning med Bing-sökning) som du har skapat och kopiera någon av API-nycklarna.
Gå till Azure AI Foundry-portalen och välj AI-projektet (se till att det finns i samma resursgrupp i din grounding med Bing Search-resursen). Klicka på Hanteringscenter.
Välj + ny anslutning på inställningssidan.
Kommentar
Om du återskapar API-nyckeln vid ett senare tillfälle måste du uppdatera anslutningen med den nya nyckeln.
Välj API-nyckel i andra resurstyper.
Ange följande information och skapa sedan en ny anslutning till din grounding med Bing Search-resursen.
- Slutpunkt:
https://api.bing.microsoft.com/
- Nyckel:
YOUR_API_KEY
- Anslutningsnamn:
YOUR_CONNECTION_NAME
(Du använder det här anslutningsnamnet i exempelkoden nedan.) - Åtkomst: du kan välja antingen endast det här projektet eller delas till alla projekt. Se bara till att det projekt som du angav anslutningssträng för i exempelkoden nedan har åtkomst till den här anslutningen.
- Slutpunkt:
Så här visar du grounding med Bing-sökresultat
Enligt grounding med Bings användningsvillkor och användnings - och visningskrav måste du visa både webbplats-URL:er och URL:er för Bing-sökfrågor i ditt anpassade gränssnitt. Du hittar url:er för webbplatsen via annotations
parametern i API-svar och URL:er för Bing-sökfrågor med hjälp av runstep
information. Om du vill återge webbsidan rekommenderar vi att du ersätter slutpunkten för URL:er för Bing-sökfrågor med www.bing.com
och att url:en för Bing-sökfrågan ser ut som "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}")
Andra juridiska överväganden
Microsoft använder data som du skickar till Grounding med Bing för att förbättra Microsofts produkter och tjänster. När du skickar personuppgifter till den här tjänsten ansvarar du för att erhålla tillräckligt medgivande från de registrerade. Dataskyddsvillkoren i villkoren för onlinetjänster gäller inte för grundkörning med Bing.
Din användning av grounding med Bing Search styrs av användningsvillkoren. Genom att använda Grounding med Bing Search godkänner du att du är bunden av och följer dessa användningsvillkor.
Steg 1: Skapa en agent med grounding med Bing Search
Skapa ett klientobjekt som innehåller anslutningssträng för att ansluta till ditt AI-projekt och andra resurser.
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"],
)
Steg 2: Aktivera sökverktyget Grounding med Bing
Om du vill göra grounding med Bing-sökverktyget tillgängligt för din agent använder du en anslutning för att initiera verktyget och koppla det till agenten. Du hittar anslutningen i avsnittet anslutna resurser i projektet i Azure AI Foundry-portalen.
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}")
Steg 3: Skapa en tråd
# 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}")
Steg 4: Skapa en körning och kontrollera utdata
Skapa en körning och observera att modellen använder verktyget Grounding with Bing Search för att ge ett svar på användarens fråga.
# 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}")