Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os modelos de fundição têm um limite de conhecimento. Não conseguem aceder a nova informação para além de um ponto fixo no tempo. Ao utilizar o Grounding com Bing Search e o Grounding com Bing Custom Search (pré-visualização), os seus agentes podem incorporar dados públicos da web em tempo real ao gerar respostas. Ao usar estas ferramentas, pode colocar questões como "quais são as principais notícias de IA atualmente".
O processo de aterramento envolve vários passos principais:
- Formulação de consultas: O agente identifica lacunas de informação e constrói consultas de pesquisa.
- Execução da pesquisa: A ferramenta de grounding submete consultas aos motores de busca e recupera os resultados.
- Síntese de informação: O agente processa os resultados da pesquisa e integra os resultados nas respostas.
- Atribuição de fonte: O agente fornece transparência ao citar fontes de pesquisa.
Importante
- O estabelecimento da ligação à terra com o Bing Search e com o Bing Custom Search são Serviços de Consumo de Primeira Parte com termos para serviços online. São regidas pelo Grounding com os termos de uso do Bing e pela Declaração de Privacidade Microsoft.
- O Adendo Microsoft Proteção de Dados não se aplica a dados enviados para Grounding com Bing Search ou Grounding com Bing Custom Search. Quando utiliza estes serviços, os seus dados fluem para além dos limites de conformidade e geometria do Azure. Isto também significa que a utilização destes serviços dispensa todos os compromissos elevados de segurança e conformidade da Government Community Cloud, incluindo soberania de dados e suporte baseado em triagem/cidadania, conforme aplicável.
- A utilização de Grounding com Bing Search e Grounding com Bing Custom Search implica custos. Consulte os preços para mais detalhes.
- Consulte a secção gerir para informações sobre como os administradores de Azure podem gerir o acesso ao uso do Grounding com Bing Search e do Grounding com Bing Custom Search.
Nota
Comece pela ferramenta de pesquisa na web. Saiba mais sobre as diferenças entre a pesquisa web e o Grounding com o Bing Search (ou o Grounding com o Bing Custom Search) na visão geral do grounding web.
Suporte de utilização
A tabela seguinte mostra o suporte para SDK e configuração.
| Suporte ao Microsoft Foundry | Python SDK | C# SDK | JavaScript SDK | Java SDK | API REST | Configuração básica do agente | Configuração padrão do agente |
|---|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
Nota
Nem todos os modelos suportam Grounding com Bing Search ou Grounding com Bing Custom Search. Para uma lista completa de modelos que suportam estas ferramentas, consulte Suporte de ferramentas por região e modelo.
Pré-requisitos
Antes de começar, certifique-se de que tem:
- Uma subscrição do Azure com as permissões corretas.
- Azure RBAC roles:
- Papel de Contribuinte ou Proprietário ao nível de subscrição ou grupo de recursos para criar recursos no Bing e obter chaves de recursos.
- Azure Gestor de Projetos de IA função para criar ligações de projeto na Foundry. Para mais informações, consulte Controlo de acesso baseado em funções para Microsoft Foundry.
- Um projeto Foundry criado com um endpoint configurado.
- Um modelo de IA implementado no seu projeto.
- SDK instalado para a tua língua preferida:
- Python:
azure-ai-projects - C#:
Azure.AI.Extensions.OpenAI - TypeScript/JavaScript:
@azure/ai-projects - Java:
com.azure:azure-ai-agents:2.0.0
- Python:
- Azure credenciais configuradas para autenticação (como
DefaultAzureCredential).- Para amostras REST, as variáveis de ambiente configuram:
-
FOUNDRY_PROJECT_ENDPOINT: URL do endpoint do seu projeto Foundry. -
FOUNDRY_MODEL_DEPLOYMENT_NAME: O nome do seu modelo implantado. -
BING_PROJECT_CONNECTION_ID: ID de conexão do seu projeto Grounding com a Pesquisa Bing. -
BING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID: ID de conexão do projeto Grounding with Bing Custom Search. -
BING_CUSTOM_SEARCH_INSTANCE_NAME: O nome da sua instância de pesquisa personalizada. -
AGENT_TOKEN.
-
- Para amostras REST, as variáveis de ambiente configuram:
- Um recurso Bing Grounding ou Bing Custom Search criado e ligado ao seu projeto Foundry. É necessária uma subscrição paga para criar um recurso Grounding com Bing Search ou Grounding com Bing Custom Search.
- A ferramenta Grounding with Bing Search funciona num projeto Foundry seguro em rede, mas comporta-se como um endpoint público. Considere este comportamento quando utiliza a ferramenta num ambiente seguro em rede.
Configuração
Nesta secção, adiciona uma ligação ao projeto para o recurso Bing e captura os valores usados nas amostras. Os exemplos do SDK utilizam o nome da ligação do projeto e resolvem o ID da ligação em tempo de execução. As amostras REST usam o ID de ligação do projeto. Pode usar este modelo de bíceps para criar um agente básico com o Grounding com a ferramenta de pesquisa Bing ativada.
Se já tens um ID de ligação ao projeto para o recurso Bing que queres usar, salta esta secção.
Adicione a ligação adequada ao seu projeto.
Para instruções passo a passo, veja Adicionar uma nova ligação ao seu projeto.
Importante
- Precisas do papel de Contribuidor ou Proprietário ao nível de subscrição ou grupo de recursos para criar recursos no Bing e obter chaves de recursos.
- Para encontrar as chaves de recursos, vá ao seu recurso Grounding com Bing no portal Azure>Gestão de Recursos>Keys.
Obtenha o nome e ID da ligação do projeto a partir dos detalhes da ligação, depois defina os valores como variáveis de ambiente.
- Para exemplos de SDK:
- Para integração com o Bing Search: configure
BING_PROJECT_CONNECTION_NAME. - Para Grounding com Bing Custom Search: define
BING_CUSTOM_SEARCH_PROJECT_CONNECTION_NAME.
- Para integração com o Bing Search: configure
- Para exemplos de REST:
- Para integração com o Bing Search: configure
BING_PROJECT_CONNECTION_ID. - Para Grounding com Bing Custom Search: define
BING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID.
- Para integração com o Bing Search: configure
O ID de ligação do projeto utiliza o formato:
/subscriptions/{{subscriptionID}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.CognitiveServices/accounts/{{foundryAccountName}}/projects/{{foundryProjectName}}/connections/{{foundryConnectionName}}
Ferramentas disponíveis
| Ferramenta | Descrição | Caso de uso |
|---|---|---|
| Aterramento com a Pesquisa Bing | Dá aos agentes acesso padrão às capacidades de pesquisa do Bing. | Cenários que requerem acesso amplo ao conhecimento. |
| Aterramento com Pesquisa Personalizada Bing (pré-visualização) | Permite aos agentes pesquisar dentro de um conjunto configurável de domínios web públicos. Defines as partes da web de onde queres extrair para que os utilizadores só vejam resultados relevantes dos domínios que escolhes. | Cenários que requerem gestão de informação. |
Nota
Consulte as melhores práticas para obter informações sobre como otimizar o uso de ferramentas.
Exemplos de código
Nota
- Precisas do pacote SDK mais recente. Consulte o quickstart para mais detalhes.
- Para exemplos do SDK, use o nome da ligação do projeto. Para exemplos REST, use o ID de ligação do projeto no formato
/subscriptions/{{subscriptionID}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.CognitiveServices/accounts/{{foundryAccountName}}/projects/{{foundryProjectName}}/connections/{{foundryConnectionName}}.
Os exemplos seguintes demonstram como criar um agente com Grounding com as ferramentas de pesquisa do Bing, e como usar o agente para responder a perguntas dos utilizadores.
Aterramento com a Pesquisa Bing
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
PromptAgentDefinition,
BingGroundingTool,
BingGroundingSearchToolParameters,
BingGroundingSearchConfiguration,
)
# Format: "https://resource_name.ai.azure.com/api/projects/project_name"
PROJECT_ENDPOINT = "your_project_endpoint"
BING_CONNECTION_NAME = "my-bing-connection"
# Create clients to call Foundry API
project = AIProjectClient(
endpoint=PROJECT_ENDPOINT,
credential=DefaultAzureCredential(),
)
openai = project.get_openai_client()
# Get connection ID from connection name
bing_connection = project.connections.get(BING_CONNECTION_NAME)
agent = project.agents.create_version(
agent_name="MyAgent",
definition=PromptAgentDefinition(
model="gpt-4.1-mini",
instructions="You are a helpful assistant.",
tools=[
BingGroundingTool(
bing_grounding=BingGroundingSearchToolParameters(
search_configurations=[
BingGroundingSearchConfiguration(
project_connection_id=bing_connection.id
)
]
)
)
],
),
description="You are a helpful agent.",
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")
stream_response = openai.responses.create(
stream=True,
tool_choice="required",
input="What is today's date and weather in Seattle?",
extra_body={"agent_reference": {"name": agent.name, "type": "agent_reference"}},
)
for event in stream_response:
if event.type == "response.created":
print(f"Follow-up response created with ID: {event.response.id}")
elif event.type == "response.output_text.delta":
print(f"Delta: {event.delta}")
elif event.type == "response.text.done":
print(f"\nFollow-up response done!")
elif event.type == "response.output_item.done":
if event.item.type == "message":
item = event.item
if item.content[-1].type == "output_text":
text_content = item.content[-1]
for annotation in text_content.annotations:
if annotation.type == "url_citation":
print(f"URL Citation: {annotation.url}")
elif event.type == "response.completed":
print(f"\nFollow-up completed!")
print(f"Full response: {event.response.output_text}")
O que este código faz
Este exemplo cria um agente com aterramento usando a ferramenta Bing Search, que pode recuperar informação em tempo real da web. Quando executas o código:
- Cria um
AIProjectCliente autentica usando as suas credenciais Azure. - Cria um agente com a ferramenta de suporte do Bing configurada através da sua conexão Bing.
- Envia uma consulta sobre a data de hoje e o tempo em Seattle.
- O agente utiliza a ferramenta de grounding Bing para pesquisar na web e transmite a resposta.
- Extrai e mostra citações de URL dos resultados de pesquisa.
Entradas necessárias
- Atualiza as
PROJECT_ENDPOINTconstantes eBING_CONNECTION_NAMEno código com os teus valores. - Azure credenciais configuradas para
DefaultAzureCredential.
Produção esperada
Agent created (id: asst_abc123, name: MyAgent, version: 1)
Follow-up response created with ID: resp_xyz789
Delta: Today
Delta: 's date
Delta: is December 12, 2025...
Follow-up response done!
URL Citation: https://www.weather.gov/seattle/
Follow-up completed!
Full response: Today's date is December 12, 2025, and the weather in Seattle is...
Aterramento com Pesquisa Personalizada Bing (pré-visualização)
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import (
PromptAgentDefinition,
BingCustomSearchPreviewTool,
BingCustomSearchToolParameters,
BingCustomSearchConfiguration,
)
# Format: "https://resource_name.ai.azure.com/api/projects/project_name"
PROJECT_ENDPOINT = "your_project_endpoint"
CUSTOM_SEARCH_CONNECTION_NAME = "my-custom-search-connection"
CUSTOM_SEARCH_INSTANCE_NAME = "my-custom-search-instance"
# Create clients to call Foundry API
project = AIProjectClient(
endpoint=PROJECT_ENDPOINT,
credential=DefaultAzureCredential(),
)
openai = project.get_openai_client()
# Get connection ID from connection name
bing_custom_connection = project.connections.get(CUSTOM_SEARCH_CONNECTION_NAME)
bing_custom_search_tool = BingCustomSearchPreviewTool(
bing_custom_search_preview=BingCustomSearchToolParameters(
search_configurations=[
BingCustomSearchConfiguration(
project_connection_id=bing_custom_connection.id,
instance_name=CUSTOM_SEARCH_INSTANCE_NAME,
)
]
)
)
agent = project.agents.create_version(
agent_name="MyAgent",
definition=PromptAgentDefinition(
model="gpt-4.1-mini",
instructions="""You are a helpful agent that can use Bing Custom Search tools to assist users.
Use the available Bing Custom Search tools to answer questions and perform tasks.""",
tools=[bing_custom_search_tool],
),
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")
user_input = input(
"Enter your question for the Bing Custom Search agent " "(e.g., 'Tell me more about foundry agent service'): \n"
)
# Send initial request that will trigger the Bing Custom Search tool
stream_response = openai.responses.create(
stream=True,
input=user_input,
extra_body={"agent_reference": {"name": agent.name, "type": "agent_reference"}},
)
for event in stream_response:
if event.type == "response.created":
print(f"Follow-up response created with ID: {event.response.id}")
elif event.type == "response.output_text.delta":
print(f"Delta: {event.delta}")
elif event.type == "response.text.done":
print(f"\nFollow-up response done!")
elif event.type == "response.output_item.done":
if event.item.type == "message":
item = event.item
if item.content[-1].type == "output_text":
text_content = item.content[-1]
for annotation in text_content.annotations:
if annotation.type == "url_citation":
print(
f"URL Citation: {annotation.url}, "
f"Start index: {annotation.start_index}, "
f"End index: {annotation.end_index}"
)
elif event.type == "response.completed":
print(f"\nFollow-up completed!")
print(f"Full response: {event.response.output_text}")
O que este código faz
Este exemplo cria um agente com a ferramenta Grounding with Bing Custom Search que pesquisa dentro de um conjunto configurável de domínios web públicos. Quando executas o código:
- Cria um
AIProjectCliente autentica usando as suas credenciais Azure. - Cria um agente com a ferramenta Bing Custom Search configurada usando a sua instância de pesquisa personalizada.
- Solicita entrada do utilizador solicitando informação sobre tópicos específicos dentro dos seus domínios configurados.
- O agente utiliza a ferramenta Bing Custom Search para pesquisar apenas nos domínios especificados e transmite a resposta.
- Extrai e mostra citações de URL com posições de início e fim dos resultados de pesquisa personalizados.
Entradas necessárias
- Atualize as constantes
PROJECT_ENDPOINT,CUSTOM_SEARCH_CONNECTION_NAMEeCUSTOM_SEARCH_INSTANCE_NAMEno código com os seus valores. - Azure credenciais configuradas para
DefaultAzureCredential. - Entrada do utilizador em tempo de execução.
Produção esperada
Agent created (id: asst_abc123, name: MyAgent, version: 1)
Enter your question for the Bing Custom Search agent (e.g., 'Tell me more about foundry agent service'):
Tell me more about foundry agent service
Follow-up response created with ID: resp_xyz789
Delta: Microsoft
Delta: Foundry
Delta: Agent Service...
Follow-up response done!
URL Citation: https://learn.microsoft.com/azure/ai-foundry/agents, Start index: 45, End index: 120
Follow-up completed!
Full response: Microsoft Foundry Agent Service enables you to build...
Os exemplos seguintes de C# demonstram como criar um agente com Grounding com a ferramenta Bing Search, e como usar o agente para responder a perguntas dos utilizadores. Estes exemplos usam chamadas síncronas para simplificar. Para exemplos assíncronos, consulte as amostras de agentes C#.
Para permitir que o seu Agente utilize a API de pesquisa do Bing, use BingGroundingTool.
Aterramento com a Pesquisa Bing
// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
var projectEndpoint = "your_project_endpoint";
var bingConnectionName = "my-bing-connection";
// Create project client to call Foundry API
AIProjectClient projectClient = new(
endpoint: new Uri(projectEndpoint),
tokenProvider: new DefaultAzureCredential());
// Get connection ID from connection name
AIProjectConnection bingConnection = projectClient.Connections.GetConnection(connectionName: bingConnectionName);
// Create the agent version with Bing grounding tool
BingGroundingTool bingGroundingAgentTool = new(new BingGroundingSearchToolOptions(
searchConfigurations: [new BingGroundingSearchConfiguration(projectConnectionId: bingConnection.Id)]
)
);
DeclarativeAgentDefinition agentDefinition = new(model: "gpt-4.1-mini")
{
Instructions = "You are a helpful agent.",
Tools = { bingGroundingAgentTool, }
};
AgentVersion agentVersion = projectClient.AgentAdministrationClient.CreateAgentVersion(
agentName: "myAgent",
options: new(agentDefinition));
// Output the agent version info
ProjectResponsesClient responseClient = projectClient.ProjectOpenAIClient.GetProjectResponsesClientForAgent(agentVersion.Name);
ResponseResult response = responseClient.CreateResponse("How does wikipedia explain Euler's Identity?");
// Extract and format URL citation annotations
string citation = "";
foreach (ResponseItem item in response.OutputItems)
{
if (item is MessageResponseItem messageItem)
{
foreach (ResponseContentPart content in messageItem.Content)
{
foreach (ResponseMessageAnnotation annotation in content.OutputTextAnnotations)
{
if (annotation is UriCitationMessageAnnotation uriAnnotation)
{
citation = $" [{uriAnnotation.Title}]({uriAnnotation.Uri})";
}
}
}
}
}
// Validate and print the response
Assert.That(response.Status, Is.EqualTo(ResponseStatus.Completed));
Console.WriteLine($"{response.GetOutputText()}{citation}");
// Clean up resources by deleting the agent version
projectClient.AgentAdministrationClient.DeleteAgentVersion(agentName: agentVersion.Name, agentVersion: agentVersion.Version);
O que este código faz
Este exemplo cria um agente que utiliza a ferramenta Grounding with Bing Search e demonstra o tratamento de respostas síncronas. Quando executas o código:
- Cria um AIProjectClient usando o endpoint do seu projeto.
- Recupera a configuração da ligação Bing do seu projeto.
- Cria um agente com a ferramenta de base Bing configurada.
- Envia uma consulta a perguntar como a Wikipédia explica a Identidade de Euler.
- O agente utiliza a ferramenta Bing Grounding para efetuar a pesquisa e retorna resultados formatados com citações de URLs.
- Limpa eliminando a versão do agente.
Entradas necessárias
- Atualiza as
projectEndpointconstantes ebingConnectionNameno código com os teus valores. - Azure credenciais configuradas para
DefaultAzureCredential.
Produção esperada
Euler's identity is considered one of the most elegant equations in mathematics... [Euler's identity - Wikipedia](https://en.wikipedia.org/wiki/Euler%27s_identity)
Integração com o Bing em cenários de transmissão
// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
var projectEndpoint = "your_project_endpoint";
var bingConnectionName = "my-bing-connection";
// Create project client to call Foundry API
AIProjectClient projectClient = new(
endpoint: new Uri(projectEndpoint),
tokenProvider: new DefaultAzureCredential());
// Get connection ID from connection name
AIProjectConnection bingConnection = projectClient.Connections.GetConnection(connectionName: bingConnectionName);
// Create the agent version with Bing grounding tool
BingGroundingTool bingGroundingAgentTool = new(new BingGroundingSearchToolOptions(
searchConfigurations: [new BingGroundingSearchConfiguration(projectConnectionId: bingConnection.Id)]
)
);
DeclarativeAgentDefinition agentDefinition = new(model: "gpt-4.1-mini")
{
Instructions = "You are a helpful agent.",
Tools = { bingGroundingAgentTool }
};
AgentVersion agentVersion = projectClient.AgentAdministrationClient.CreateAgentVersion(
agentName: "myAgent",
options: new(agentDefinition));
// Stream the response from the agent version
ProjectResponsesClient responseClient = projectClient.ProjectOpenAIClient.GetProjectResponsesClientForAgent(agentVersion.Name);
string annotation = "";
string text = "";
// Parse the streaming response and output the results
foreach (StreamingResponseUpdate streamResponse in responseClient.CreateResponseStreaming("How does wikipedia explain Euler's Identity?"))
{
if (streamResponse is StreamingResponseCreatedUpdate createUpdate)
{
Console.WriteLine($"Stream response created with ID: {createUpdate.Response.Id}");
}
else if (streamResponse is StreamingResponseOutputTextDeltaUpdate textDelta)
{
Console.WriteLine($"Delta: {textDelta.Delta}");
}
else if (streamResponse is StreamingResponseOutputTextDoneUpdate textDoneUpdate)
{
text = textDoneUpdate.Text;
}
else if (streamResponse is StreamingResponseOutputItemDoneUpdate itemDoneUpdate)
{
if (annotation.Length == 0)
{
// Extract and format URL citation annotations
if (itemDoneUpdate.Item is MessageResponseItem messageItem)
{
foreach (ResponseContentPart content in messageItem.Content)
{
foreach (ResponseMessageAnnotation messageAnnotation in content.OutputTextAnnotations)
{
if (messageAnnotation is UriCitationMessageAnnotation uriAnnotation)
{
annotation = $" [{uriAnnotation.Title}]({uriAnnotation.Uri})";
}
}
}
}
}
}
else if (streamResponse is StreamingResponseErrorUpdate errorUpdate)
{
throw new InvalidOperationException($"The stream has failed: {errorUpdate.Message}");
}
}
Console.WriteLine($"{text}{annotation}");
// Clean up resources by deleting the agent version
projectClient.AgentAdministrationClient.DeleteAgentVersion(agentName: agentVersion.Name, agentVersion: agentVersion.Version);
O que este código faz
Este exemplo cria um agente com fundamentação utilizando a ferramenta Bing Search e demonstra o tratamento de respostas em fluxo contínuo. Quando executas o código:
- Cria um AIProjectClient usando o endpoint do seu projeto.
- Recupera a configuração da ligação Bing do seu projeto.
- Cria um agente com a ferramenta de base Bing configurada.
- Envia uma consulta a perguntar como a Wikipédia explica a Identidade de Euler.
- O agente utiliza a ferramenta de grounding Bing e fornece a resposta em tempo real.
- Processa eventos em streaming, incluindo atualizações de texto delta e extração de citações.
- Limpa eliminando a versão do agente.
Entradas necessárias
- Atualiza as
projectEndpointconstantes ebingConnectionNameno código com os teus valores. - Azure credenciais configuradas para
DefaultAzureCredential.
Produção esperada
Stream response created with ID: resp_xyz789
Delta: Euler
Delta: 's
Delta: Identity
Delta: is one of the most...
Euler's Identity is one of the most elegant equations in mathematics... [Euler's identity - Wikipedia](https://en.wikipedia.org/wiki/Euler%27s_identity)
Os seguintes exemplos de APIs REST demonstram como usar o Grounding com as ferramentas Bing Search e Grounding com Bing Custom Search (preview) para responder a questões dos utilizadores.
Aterramento com a Pesquisa Bing
Configuração da autenticação
Antes de executar chamadas à API REST, configure a autenticação:
Definir variáveis do ambiente:
-
FOUNDRY_PROJECT_ENDPOINT: URL do endpoint do seu projeto Foundry. -
FOUNDRY_MODEL_DEPLOYMENT_NAME: O nome do seu modelo implantado. -
BING_PROJECT_CONNECTION_ID: ID de conexão do seu projeto Grounding com a Pesquisa Bing.
-
Obtenha um token de portador:
export AGENT_TOKEN=$(az account get-access-token --scope "https://ai.azure.com/.default" --query accessToken -o tsv)curl --request POST \ --url "$FOUNDRY_PROJECT_ENDPOINT/openai/v1/responses" \ -H "Authorization: Bearer $AGENT_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "model": "'$FOUNDRY_MODEL_DEPLOYMENT_NAME'", "input": "How does Wikipedia explain Euler\u0027s identity?", "tool_choice": "required", "tools": [ { "type": "bing_grounding", "bing_grounding": { "search_configurations": [ { "project_connection_id": "'$BING_PROJECT_CONNECTION_ID'", "count": 7, "market": "en-US", "set_lang": "en", "freshness": "7d" } ] } } ] }'
O que este código faz
Este pedido de API REST cria uma resposta usando Grounding com Bing Search. O pedido:
- Envia um pedido POST para o endpoint de respostas da Foundry.
- Inclui a implementação do modelo e a entrada do utilizador no corpo do pedido.
- Configura a ferramenta de grounding do Bing com parâmetros de pesquisa (contagem, mercado, idioma, frescura).
- Devolve uma resposta com resultados de pesquisa na web e citações.
Entradas necessárias
- Variáveis de ambiente:
FOUNDRY_PROJECT_ENDPOINT,AGENT_TOKEN,FOUNDRY_MODEL_DEPLOYMENT_NAME,BING_PROJECT_CONNECTION_ID. - Token de portador válido com as permissões apropriadas.
Produção esperada
Resposta do JSON com:
-
id: Identificador de resposta -
output_text: Texto gerado com informação fundamentada -
citations: Array de citações de URL usado para gerar a resposta
Aterramento com Pesquisa Personalizada Bing (pré-visualização)
curl --request POST \
--url "$FOUNDRY_PROJECT_ENDPOINT/openai/v1/responses" \
-H "Authorization: Bearer $AGENT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "'$FOUNDRY_MODEL_DEPLOYMENT_NAME'",
"input": "How does Wikipedia explain Euler\u0027s identity?",
"tool_choice": "required",
"tools": [
{
"type": "bing_custom_search_preview",
"bing_custom_search_preview": {
"search_configurations": [
{
"project_connection_id": "'$BING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID'",
"instance_name": "'$BING_CUSTOM_SEARCH_INSTANCE_NAME'",
"count": 7,
"market": "en-US",
"set_lang": "en",
"freshness": "7d"
}
]
}
}
]
}'
O que este código faz
Este pedido da API REST cria uma resposta usando Grounding com Bing Custom Search. O pedido:
- Envia um pedido POST para o endpoint de respostas da Foundry.
- Inclui a implementação do modelo e a entrada do utilizador no corpo do pedido.
- Configura a ferramenta Bing Custom Search com o nome da sua instância e parâmetros de pesquisa.
- Devolve uma resposta com resultados de pesquisa personalizados limitados aos domínios configurados.
Entradas necessárias
- Variáveis de ambiente:
FOUNDRY_PROJECT_ENDPOINT,AGENT_TOKEN,FOUNDRY_MODEL_DEPLOYMENT_NAME,BING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID,BING_CUSTOM_SEARCH_INSTANCE_NAME - Token de portador válido com as permissões apropriadas.
- Instância de Pesquisa Personalizada do Bing já configurada com domínios de destino
Produção esperada
Resposta do JSON com:
-
id: Identificador de resposta -
output_text: Texto gerado com informação do seu conjunto de domínios personalizado -
citations: Array de citações de URL dos seus domínios configurados
Os seguintes exemplos de TypeScript demonstram como criar um agente com Grounding com Bing Search e Grounding com ferramentas Bing Custom Search (pré-visualização), e como usar o agente para responder a perguntas dos utilizadores. Para exemplos de JavaScript, consulte os exemplos de ferramentas agent no repositório SDK do Azure para JavaScript sobre GitHub.
Aterramento com a Pesquisa Bing
import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";
// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
const PROJECT_ENDPOINT = "your_project_endpoint";
const BING_CONNECTION_NAME = "my-bing-connection";
export async function main(): Promise<void> {
// Create clients to call Foundry API
const project = new AIProjectClient(PROJECT_ENDPOINT, new DefaultAzureCredential());
const openai = project.getOpenAIClient();
// Get connection ID from connection name
const bingConnection = await project.connections.get(BING_CONNECTION_NAME);
const agent = await project.agents.createVersion("MyBingGroundingAgent", {
kind: "prompt",
model: "gpt-4.1-mini",
instructions: "You are a helpful assistant.",
tools: [
{
type: "bing_grounding",
bing_grounding: {
search_configurations: [
{
project_connection_id: bingConnection.id,
},
],
},
},
],
});
console.log(`Agent created (id: ${agent.id}, name: ${agent.name}, version: ${agent.version})`);
// Send request that requires current information from the web
const streamResponse = await openai.responses.create(
{
input: "What is today's date and weather in Seattle?",
stream: true,
},
{
body: {
agent: { name: agent.name, type: "agent_reference" },
tool_choice: "required",
},
},
);
// Process the streaming response
for await (const event of streamResponse) {
if (event.type === "response.created") {
console.log(`Follow-up response created with ID: ${event.response.id}`);
} else if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
} else if (event.type === "response.output_text.done") {
console.log("\n\nFollow-up response done!");
} else if (event.type === "response.output_item.done") {
if (event.item.type === "message") {
const item = event.item;
if (item.content && item.content.length > 0) {
const lastContent = item.content[item.content.length - 1];
if (lastContent.type === "output_text" && lastContent.annotations) {
for (const annotation of lastContent.annotations) {
if (annotation.type === "url_citation") {
console.log(
`URL Citation: ${annotation.url}, Start index: ${annotation.start_index}, End index: ${annotation.end_index}`,
);
}
}
}
}
}
} else if (event.type === "response.completed") {
console.log("\nFollow-up completed!");
}
}
// Clean up resources by deleting the agent version
// This prevents accumulation of unused resources in your project
console.log("\nCleaning up resources...");
await project.agents.deleteVersion(agent.name, agent.version);
console.log("Agent deleted");
console.log("\nBing grounding agent sample completed!");
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
O que este código faz
Este exemplo cria um agente com aterramento usando a ferramenta Bing Search, que pode recuperar informação em tempo real da web. Quando executas o código:
- Cria um
AIProjectCliente autentica usando as suas credenciais Azure. - Cria um agente com a ferramenta de suporte do Bing configurada através da sua conexão Bing.
- Envia uma consulta sobre a data atual e as condições meteorológicas em Seattle, com a escolha de ferramenta definida como "necessária".
- O agente utiliza a ferramenta de grounding Bing para pesquisar na web e transmite a resposta.
- Processa eventos em streaming e extrai citações URL com as suas posições no texto.
- Limpa eliminando a versão do agente.
Entradas necessárias
- Atualiza as
PROJECT_ENDPOINTconstantes eBING_CONNECTION_NAMEno código com os teus valores. - Azure credenciais configuradas para
DefaultAzureCredential.
Produção esperada
Agent created (id: asst_abc123, name: MyBingGroundingAgent, version: 1)
Follow-up response created with ID: resp_xyz789
Today's date is December 12, 2025, and the weather in Seattle...
Follow-up response done!
URL Citation: https://www.weather.gov/seattle/, Start index: 45, End index: 120
Follow-up completed!
Cleaning up resources...
Agent deleted
Bing grounding agent sample completed!
Aterramento com Pesquisa Personalizada Bing (pré-visualização)
import { DefaultAzureCredential } from "@azure/identity";
import { AIProjectClient } from "@azure/ai-projects";
import * as readline from "readline";
// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
const PROJECT_ENDPOINT = "your_project_endpoint";
const CUSTOM_SEARCH_CONNECTION_NAME = "my-custom-search-connection";
const CUSTOM_SEARCH_INSTANCE_NAME = "my-custom-search-instance";
export async function main(): Promise<void> {
// Create clients to call Foundry API
const project = new AIProjectClient(PROJECT_ENDPOINT, new DefaultAzureCredential());
const openai = project.getOpenAIClient();
// Get connection ID from connection name
const bingCustomConnection = await project.connections.get(CUSTOM_SEARCH_CONNECTION_NAME);
const agent = await project.agents.createVersion("MyAgent", {
kind: "prompt",
model: "gpt-4.1-mini",
instructions:
"You are a helpful agent that can use Bing Custom Search tools to assist users. Use the available Bing Custom Search tools to answer questions and perform tasks.",
tools: [
{
type: "bing_custom_search_preview",
bing_custom_search_preview: {
search_configurations: [
{
project_connection_id: bingCustomConnection.id,
instance_name: CUSTOM_SEARCH_INSTANCE_NAME,
},
],
},
},
],
});
console.log(`Agent created (id: ${agent.id}, name: ${agent.name}, version: ${agent.version})`);
// Prompt user for input
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const userInput = await new Promise<string>((resolve) => {
rl.question(
"Enter your question for the Bing Custom Search agent (e.g., 'Tell me more about foundry agent service'): \n",
(answer) => {
rl.close();
resolve(answer);
},
);
});
// Send initial request that will trigger the Bing Custom Search tool
const streamResponse = await openai.responses.create(
{
input: userInput,
stream: true,
},
{
body: {
agent: { name: agent.name, type: "agent_reference" },
},
},
);
// Process the streaming response
for await (const event of streamResponse) {
if (event.type === "response.created") {
console.log(`Follow-up response created with ID: ${event.response.id}`);
} else if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
} else if (event.type === "response.output_text.done") {
console.log("\n\nFollow-up response done!");
} else if (event.type === "response.output_item.done") {
if (event.item.type === "message") {
const item = event.item;
if (item.content && item.content.length > 0) {
const lastContent = item.content[item.content.length - 1];
if (lastContent.type === "output_text" && lastContent.annotations) {
for (const annotation of lastContent.annotations) {
if (annotation.type === "url_citation") {
console.log(
`URL Citation: ${annotation.url}, Start index: ${annotation.start_index}, End index: ${annotation.end_index}`,
);
}
}
}
}
}
} else if (event.type === "response.completed") {
console.log("\nFollow-up completed!");
}
}
// Clean up resources by deleting the agent version
// This prevents accumulation of unused resources in your project
console.log("\nCleaning up resources...");
await project.agents.deleteVersion(agent.name, agent.version);
console.log("Agent deleted");
console.log("\nBing Custom Search agent sample completed!");
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
O que este código faz
Este exemplo cria um agente com Grounding com a ferramenta Bing Custom Search que pesquisa dentro dos seus domínios configurados. Quando executas o código:
- Cria um
AIProjectCliente autentica usando as suas credenciais Azure. - Cria um agente com a ferramenta Bing Custom Search configurada usando a sua instância de pesquisa personalizada.
- Solicitações para a entrada do utilizador durante a execução através da linha de comandos.
- O agente utiliza a ferramenta Bing Custom Search para pesquisar apenas nos domínios especificados e transmite a resposta.
- Processa eventos em streaming e extrai citações URL com as suas posições no texto.
- Limpa eliminando a versão do agente.
Entradas necessárias
- Atualize as constantes
PROJECT_ENDPOINT,CUSTOM_SEARCH_CONNECTION_NAMEeCUSTOM_SEARCH_INSTANCE_NAMEno código com os seus valores. - Azure credenciais configuradas para
DefaultAzureCredential. - Entrada do utilizador fornecida em tempo de execução via consola.
Produção esperada
Agent created (id: asst_abc123, name: MyAgent, version: 1)
Enter your question for the Bing Custom Search agent (e.g., 'Tell me more about foundry agent service'):
Tell me more about foundry agent service
Follow-up response created with ID: resp_xyz789
Microsoft Foundry Agent Service enables you to build...
Follow-up response done!
URL Citation: https://learn.microsoft.com/azure/ai-foundry/agents, Start index: 0, End index: 89
Follow-up completed!
Cleaning up resources...
Agent deleted
Bing Custom Search agent sample completed!
Usa o aterramento do Bing num agente Java
Adicione a dependência ao seu pom.xml:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-agents</artifactId>
<version>2.0.0</version>
</dependency>
Crie um agente com suporte no Bing
import com.azure.ai.agents.AgentsClient;
import com.azure.ai.agents.AgentsClientBuilder;
import com.azure.ai.agents.ResponsesClient;
import com.azure.ai.agents.models.*;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.openai.models.responses.Response;
import com.openai.models.responses.ResponseCreateParams;
import java.util.Arrays;
import java.util.Collections;
public class BingGroundingExample {
public static void main(String[] args) {
// Format: "https://resource_name.ai.azure.com/api/projects/project_name"
String projectEndpoint = "your_project_endpoint";
String bingConnectionId = "my-bing-connection-id";
AgentsClientBuilder builder = new AgentsClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint(projectEndpoint);
AgentsClient agentsClient = builder.buildAgentsClient();
ResponsesClient responsesClient = builder.buildResponsesClient();
// Create Bing grounding tool with connection configuration
BingGroundingTool bingTool = new BingGroundingTool(
new BingGroundingSearchToolParameters(Arrays.asList(
new BingGroundingSearchConfiguration(bingConnectionId)
))
);
// Create agent with Bing grounding tool
PromptAgentDefinition agentDefinition = new PromptAgentDefinition("gpt-4.1-mini")
.setInstructions("You are a helpful assistant. Use Bing to find up-to-date information.")
.setTools(Collections.singletonList(bingTool));
AgentVersionDetails agent = agentsClient.createAgentVersion("bing-grounding-agent", agentDefinition);
System.out.printf("Agent created: %s (version %s)%n", agent.getName(), agent.getVersion());
// Create a response
AgentReference agentReference = new AgentReference(agent.getName())
.setVersion(agent.getVersion());
Response response = responsesClient.createAzureResponse(
new AzureCreateResponseOptions().setAgentReference(agentReference),
ResponseCreateParams.builder()
.input("What are the latest developments in AI?"));
System.out.println("Response: " + response.output());
// Clean up
agentsClient.deleteAgentVersion(agent.getName(), agent.getVersion());
}
}
Como funciona
A consulta do utilizador é a mensagem que um utilizador final envia a um agente, como *"devo levar um guarda-chuva comigo hoje?" Estou em Seattle." *Instruções são a mensagem do sistema que um programador pode fornecer para partilhar contexto e fornecer instruções ao modelo de IA sobre como usar várias ferramentas ou comportar-se.
Quando um utilizador envia uma consulta, a implementação do modelo de IA do cliente processa-a primeiro (usando as instruções fornecidas) para depois realizar uma consulta de pesquisa Bing ( que é visível para os programadores). A ancoragem com o Bing retorna resultados de pesquisa relevantes para a implementação do modelo do cliente, para gerar o resultado final.
Nota
Quando usa Grounding com Bing Search ou Grounding com Bing Custom Search, a única informação enviada ao Bing é a consulta de pesquisa do Bing, os parâmetros da ferramenta e a sua chave de recursos. O serviço não envia qualquer informação específica do utilizador final. A tua chave de recursos é enviada para o Bing apenas para fins de faturação e limitação de taxas.
A autorização ocorre entre o serviço Grounding com Bing Search ou Grounding com o serviço de Bing Custom Search e o Serviço de Agente Foundry. Qualquer consulta de pesquisa Bing que o serviço gere e envie para o Bing para efeitos de grounding é transferida, juntamente com a chave de recursos, para fora do limite de conformidade do Azure para o serviço de pesquisa Grounding with Bing. A integração com a Pesquisa Bing está sujeita aos termos do Bing e não possui os mesmos padrões de conformidade e certificações que o Serviço de Agente, conforme descrito nos Termos de Utilização. É responsável por avaliar se a utilização do Grounding com o Bing Search ou do Grounding com o Bing Custom Search no seu agente satisfaz as suas necessidades e requisitos.
As transações com o recurso Grounding com Bing são contabilizadas pelo número de vezes que a ferramenta é chamada por execução. Pode ver quantas chamadas de ferramenta são feitas a partir da etapa de execução.
Desenvolvedores e utilizadores finais não têm acesso ao conteúdo bruto devolvido pelo Grounding com o Bing Search. A resposta modelo, no entanto, inclui citações com ligações para os sites usados para gerar a resposta, e um link para a consulta Bing usada na pesquisa. Pode obter a resposta do modelo acedendo aos dados da conversa criada. Estas duas referências devem ser mantidas e exibidas exatamente na forma fornecida pela Microsoft, conforme os Requisitos de Utilização e Exibição do Grounding with Bing Search. Consulte a secção sobre como apresentar o Grounding nos resultados de pesquisa do Bing para mais detalhes.
Como mostrar resultados de pesquisa
De acordo com os termos de uso e requisitos de utilização e exibição do Grounding with Bing, precisa de mostrar tanto os URLs do site como os URLs das consultas de pesquisa do Bing na sua interface personalizada. Pode encontrar esta informação na resposta da API, no arguments parâmetro. Para renderizar a página web, substitua o endpoint dos URLs de consulta de pesquisa Bing por www.bing.com e o URL de consulta de pesquisa Bing ficará como https://www.bing.com/search?q={search query}.
Fundamentação com configuração Bing Custom Search
Grounding com o Bing Custom Search é uma ferramenta poderosa que pode utilizar para selecionar um subespaço da web e limitar o conhecimento de referência do seu agente. Aqui ficam algumas dicas para o ajudar a tirar pleno partido desta capacidade:
- Se possui um site público que pretende incluir na pesquisa mas o Bing ainda não indexou, consulte as Diretrizes para Webmasters do Bing para detalhes sobre como indexar o seu site. A documentação do webmaster também fornece detalhes sobre como fazer o Bing rastrear o seu site se o índice estiver desatualizado.
- Precisas de pelo menos a função de contribuinte no recurso Bing Custom Search para criar uma configuração.
- Só pode bloquear certos domínios e fazer uma pesquisa no resto da web (por exemplo, no site de um concorrente).
- A pesquisa com o Bing Custom Search só retorna resultados para domínios e páginas web que são públicos e indexados pelo Bing.
- Domínio (por exemplo,
https://www.microsoft.com) - Domínio e caminho (por exemplo,
https://www.microsoft.com/surface) - Página web (por exemplo,
https://www.microsoft.com/en-us/p/surface-earbuds/8r9cpq146064)
- Domínio (por exemplo,
Parâmetros opcionais
Quando adiciona a ferramenta Grounding com Bing Search ou Grounding com Bing Custom Search ao seu agente, pode passar os seguintes parâmetros. Estes parâmetros vão impactar a saída da ferramenta, e o modelo de IA pode não utilizar totalmente todas as saídas. Consulte os exemplos de código para informações sobre o suporte a versões da API e como passar estes parâmetros.
| Nome | Valor | Tipo | Obrigatório |
|---|---|---|---|
count |
O número de resultados de pesquisa a devolver na resposta. O valor padrão é 5 e o valor máximo é 50. O número real entregue pode ser inferior ao solicitado. É possível que várias páginas incluam alguma sobreposição nos resultados. Este parâmetro afeta apenas os resultados das páginas web. É possível que o modelo de IA não utilize todos os resultados de pesquisa devolvidos pelo Bing. | UnsignedShort |
Não |
freshness |
Filtrar os resultados da pesquisa pelos seguintes valores de idade que não diferenciam entre maiúsculas e minúsculas. Dia: Devolver páginas que o Bing descobriu nas últimas 24 horas. Semana: Retorne páginas que o Bing descobriu nos últimos 7 dias. Mês: Devolve páginas que o Bing descobriu nos últimos 30 dias. Para obter artigos descobertos pelo Bing num período de tempo específico, especifique um intervalo de datas na forma: YYYY-MM-DD..YYYY-MM-DD. Por exemplo, freshness=2019-02-01..2019-05-30. Para limitar os resultados a uma única data, defina este parâmetro para uma data específica. Por exemplo, freshness=2019-02-04. |
Corda | Não |
market |
O mercado de onde vêm os resultados. Normalmente, mkt é o país/região de onde o utilizador está a fazer o pedido. No entanto, pode ser um país/região diferente se o utilizador não estiver localizado num país/região onde o Bing produz resultados. O mercado deve estar na forma: <language>-<country/region>. Por exemplo, en-US. A cadeia de caracteres não diferencia maiúsculas de minúsculas. Para uma lista de possíveis valores de mercado, consulte Códigos de mercado. Se souber, é incentivado a especificar sempre o mercado. Especificar o mercado ajuda o Bing a encaminhar o pedido e a devolver uma resposta adequada e ótima. Se especificar um mercado que não está listado nos códigos de mercado, o Bing utiliza um código de mercado mais adequado baseado num mapeamento interno sujeito a alterações. |
Corda | Não |
set_lang |
A linguagem a usar para os textos da interface do utilizador. Pode especificar a linguagem usando um código de 2 ou 4 letras. O uso de códigos de 4 letras é preferível. Para uma lista de códigos de línguas suportadas, veja linguagens suportadas pelo Bing. O Bing carrega as cadeias localizadas se setlang contiver um código de cultura neutro válido de 2 letras (fr) ou um código de cultura específico válido de 4 letras (fr-ca). Por exemplo, para fr-ca, Bing carrega as fr cadeias de código de cultura neutra.Se setlang não for válido (por exemplo, zh) ou o Bing não suportar o idioma (por exemplo, af, af-na), o Bing assume por predefinição en (inglês).Para especificar o código de 2 letras, defina este parâmetro para um código de linguagem ISO 639-1. Para especificar o código de 4 letras, use o formulário <language>-<country/region> onde <language> é um código de língua ISO 639-1 (cultura neutra) e <country/region> é um código de país/região ISO 3166 (cultura específica). Por exemplo, use en-US para inglês dos Estados Unidos.Embora opcional, deve sempre especificar a língua. Normalmente, define-se setLang para a mesma linguagem especificada por mkt , a menos que o utilizador queira que as strings da interface de utilizador sejam exibidas noutra língua. |
Corda | Não |
Capacidades suportadas e problemas conhecidos
- A ferramenta Grounding with Bing Search foi concebida para recuperar informação em tempo real da web, não de domínios web específicos. Para obter informação de domínios específicos, utilize a ferramenta Grounding with Bing Custom Search.
- Não peça ao modelo para resumir uma página inteira.
- Numa única execução, o modelo de IA avalia os resultados da ferramenta e pode decidir invocar novamente a ferramenta para obter mais informações e contexto. O modelo de IA pode também decidir que partes das saídas da ferramenta são usadas para gerar a resposta.
- O Foundry Agent Service devolve respostas geradas por IA como saída, pelo que a latência de ponta a ponta é afetada pelo pré-processamento e pós-processamento do modelo.
- As ferramentas Grounding com Bing Search e Grounding com Bing Custom Search não devolvem a saída da ferramenta aos programadores e utilizadores finais.
- O grounding com o Bing Search, e o grounding com Bing Custom Search, só funcionam com agentes que não estejam a usar VPN ou endpoints privados. O agente deve ter acesso normal à rede.
- Use o padrão de citações padrão (os links enviados
annotation) para os links das ferramentas Grounding with Bing. Não peça ao modelo para gerar links de citação.
Resolução de problemas
Use esta secção para resolver problemas comuns ao utilizar o Grounding com as ferramentas de pesquisa do Bing.
Erros no formato do ID de ligação
Problema: Mensagem de erro a indicar formato de ID de ligação inválido.
Solução: Verifique se o seu ID de ligação corresponde ao formato exigido:
/subscriptions/{{subscriptionID}}/resourceGroups/{{resourceGroupName}}/providers/Microsoft.CognitiveServices/accounts/{{foundryAccountName}}/projects/{{foundryProjectName}}/connections/{{foundryConnectionName}}
Substitua todos os valores provisórios (incluindo {{ e }}) pelos seus identificadores reais de recursos.
Falhas de autenticação
Problema: Erros "Não autorizados" ou "Proibidos" ao criar agentes ou executar consultas.
Solução:
- Verifique se tem as funções obrigatórias de RBAC:
- Papel de Contribuinte ou Proprietário para criar recursos no Bing
- Azure Gestor de Projeto de IA função para criar as ligações de projeto
- Verifique se as suas credenciais do Azure estão devidamente configuradas:
- Para Python/TypeScript:
DefaultAzureCredentialpode autenticar - Para REST: O token Bearer é válido e não expirou
- Para Python/TypeScript:
- Executa
az loginpara atualizar as tuas credenciais se estiveres a usar CLI do Azure
Problemas de conectividade de rede
Problema: Grounding com o Bing Search tem tempo esgotado ou não consegue conectar-se.
Solução: Grounding com o Bing Search e o Bing Custom Search não funcionam com VPN ou endpoints privados. Garantir:
- A sua rede tem acesso normal à internet.
- Não estás a usar uma ligação VPN.
- Endpoints privados não estão configurados para o serviço agente.
- As regras de firewall permitem ligações de saída a serviços Bing.
A pesquisa personalizada não retorna resultados
Problema: A Pesquisa Personalizada do Bing devolve resultados vazios ou não encontra o conteúdo esperado.
Solução:
- Verifique se a sua instância de pesquisa personalizada está devidamente configurada com os domínios de destino.
- Garante que os domínios que queres pesquisar são públicos e indexados pelo Bing.
- Verifique se os domínios configurados correspondem às expectativas da sua consulta de pesquisa.
- Se o seu site não estiver indexado, consulte as Diretrizes para Webmasters do Bing para instruções de indexação.
- Espera que o Bing rastreie conteúdos recentemente adicionados ou atualizados (pode demorar vários dias).
Valores de configuração em falta ou inválidos
Problema: O código falha devido a erros de ligação ou respostas de "não encontrado".
Solução: Certifique-se de atualizar todas as constantes necessárias no código com os seus valores reais:
-
PROJECT_ENDPOINT(Python/TypeScript) ouprojectEndpoint(C#/Java): URL do endpoint do seu projeto Foundry. - Nome ou ID da ligação para o seu recurso Bing.
- Para pesquisa personalizada: o nome da sua instância de pesquisa personalizada.
- Para a API REST, defina variáveis de ambiente:
FOUNDRY_PROJECT_ENDPOINT,FOUNDRY_MODEL_DEPLOYMENT_NAME,BING_PROJECT_CONNECTION_IDouBING_CUSTOM_SEARCH_PROJECT_CONNECTION_ID, eAGENT_TOKEN.
O agente não usa a ferramenta de aterramento
Problema: O agente responde sem ligar à ferramenta de ancoragem do Bing.
Solução:
- Assegure-se de que a sua consulta requer informações atuais que o modelo não conhece.
- Para uso explícito de ferramentas, defina
tool_choice="required"no seu pedido (exemplos Python/TypeScript mostram isto). - Verifique se a ferramenta está devidamente configurada na definição do agente.
- Verifique as instruções do agente incentivam a utilização das ferramentas disponíveis para obter informações atuais.
Nome da instância não encontrado para o Grounding com a ferramenta Bing Custom Search
Problema:
{"error": "Tool_User_Error", "message": "[bing_search] Failed to call Get Custom Search Instance with status 404: {\"error\":{\"code\":\"ResourceNotFound\",\"message\":\"Instance or Customer not found\",\"target\":\"instanceName or customerId\"}}."}
Solução:
- Certifique-se de que o nome da sua instância está no recurso Grounding with Bing Custom Search que está a usar.
- Confirma se o nome da tua instância está escrito corretamente.
Gerir o realinhamento com a Pesquisa Bing e realinhamento com a Pesquisa Personalizada Bing
Os administradores podem usar atribuições de funções RBAC para ativar ou desativar o uso do Grounding com Bing e do Grounding com Bing Custom Search dentro da subscrição ou grupo de recursos.
- O administrador regista
Microsoft.Bingna subscrição Azure. O administrador precisa de permissões para realizar a/register/actionoperação para o fornecedor de recursos. Os papéis de Contribuinte e Proprietário incluem esta autorização. Para mais informações sobre como se registar, consulte Azure fornecedores e tipos de recursos. - Depois de o administrador registar
Microsoft.Bing, os utilizadores com permissões podem criar, eliminar ou recuperar a chave de recurso de Grounding com Bing e/ou Grounding com Bing Custom Search. Estes utilizadores precisam do papel de Contribuidor ou Proprietário ao nível de subscrição ou grupo de recursos. - Após criar um recurso de Grounding com Bing e/ou Grounding com Bing Custom Search, os utilizadores com permissões podem criar uma ligação Microsoft Foundry para se ligar ao recurso e usá-lo como ferramenta no Foundry Agent Service. Estes utilizadores precisam pelo menos da função Azure AI Project Manager.
Desative o uso de Grounding com a Pesquisa do Bing e Grounding com a Pesquisa Personalizada do Bing
- O administrador precisa do papel de Proprietário ou Contribuinte na subscrição.
- O administrador elimina todos os recursos de Grounding com Bing Search e Grounding com Bing Custom Search na subscrição.
- O administrador desregista o fornecedor de recursos
Microsoft.Bingna subscrição (não podes cancelar o registo antes de apagar todos os recursos). Para mais informações, consulte Azure fornecedores e tipos de recursos. - O administrador cria uma Azure Policy para impedir a criação de recursos de Grounding com Bing Search e Grounding com Bing Custom Search na sua subscrição, seguindo o exemplo.
Próximos passos
- Melhores práticas de utilização de ferramentas - Aprenda estratégias de otimização para ferramentas de agente
- Ferramenta de pesquisa web - Use a pesquisa web sem configurar os parâmetros da ferramenta Bing
- Gerir o Aterramento com o Bing em Microsoft Foundry e Azure - Controla e desativa o Aterramento com as funcionalidades do Bing
- Liga ferramentas OpenAPI aos agentes - Integra APIs personalizadas com os teus agentes
- Descubra ferramentas nas Ferramentas Foundry (pré-visualização) - Explore todas as ferramentas de agente disponíveis no Serviço de Agentes Foundry