Udostępnij za pośrednictwem


Uziemienie za pomocą wyszukiwania Bing

Obsługa funkcji wyszukiwania Bing umożliwia agentom usługi Azure AI dołączanie publicznych danych internetowych w czasie rzeczywistym podczas generowania odpowiedzi. Musisz utworzyć zasób Grounding za pomocą usługi wyszukiwania Bing, a następnie połączyć ten zasób z agentami usługi Azure AI. Gdy użytkownik wysyła zapytanie, agenci usługi Azure AI decydują, czy należy korzystać z funkcji wyszukiwania Bing przy użyciu funkcji groundingu. Jeśli tak, usługa Bing będzie używać usługi Bing do przeszukiwania publicznych danych internetowych i zwracania odpowiednich fragmentów. Na koniec agenci usługi Azure AI będą używać zwróconych fragmentów w celu wygenerowania odpowiedzi.

Możesz zadawać pytania, takie jak "jakie są najważniejsze wiadomości dzisiaj" lub "jaka jest najnowsza aktualizacja w branży detalicznej w USA?", które wymagają danych publicznych w czasie rzeczywistym.

Deweloperzy i użytkownicy końcowi nie mają dostępu do nieprzetworzonej zawartości zwracanej z funkcji Wyszukiwania Bing w warstwie Grounding. Odpowiedź zawiera jednak cytaty z linkami do witryn internetowych używanych do generowania odpowiedzi oraz link do zapytania Bing używanego do wyszukiwania. Te dwa odwołania muszą być zachowywane i wyświetlane w dokładnym formularzu dostarczonym przez firmę Microsoft zgodnie z wymaganiami dotyczącymi używania i wyświetlania wyszukiwania Bing. Aby uzyskać szczegółowe informacje, zobacz sekcję Jak wyświetlić sekcję Grounding with Bing Search results (Podstawy za pomocą wyników wyszukiwania Bing).

Ważne

  1. Użycie funkcji Grounding with Bing Search może wiązać się z kosztami. Zobacz stronę cen, aby zapoznać się ze szczegółowymi informacjami.
  2. Tworząc zasób grounding z wyszukiwaniem Bing i używając go za pomocą środowiska opartego na kodzie, takiego jak interfejs wiersza polecenia platformy Azure lub wdrażając za pośrednictwem szablonu wdrożenia, zgadzasz się na powiązanie z warunkami dostępnymi w witrynie i zgodność z warunkami dostępnymi od https://www.microsoft.com/en-us/bing/apis/grounding-legalczasu do czasu.
  3. W przypadku korzystania z funkcji Grounding with Bing Search dane klientów są przesyłane poza granicą zgodności platformy Azure do rozwiązania Grounding with Bing usługa wyszukiwania. Podstawy wyszukiwania Bing nie podlegają tym samym warunkom przetwarzania danych (w tym lokalizacji przetwarzania) i nie mają tych samych standardów zgodności i certyfikatów co usługa agenta sztucznej inteligencji platformy Azure, zgodnie z opisem w artykule Uziemienie warunków użytkowania wyszukiwania Bing. Twoim zadaniem jest sprawdzenie, czy użycie funkcji Grounding z wyszukiwaniem Bing w agencie spełnia Twoje wymagania i wymagania.

Jak działa funkcja uziemienia za pomocą wyszukiwania Bing

Zapytanie użytkownika to komunikat, który użytkownik końcowy wysyła do agenta, na przykład "czy dziś powinienem wziąć ze sobą parasol? Jestem w Seattle." Instrukcje to komunikat systemowy, który deweloper może udostępnić kontekst i przekazać instrukcje dotyczące modelu sztucznej inteligencji dotyczące używania różnych narzędzi lub zachowania.

Gdy użytkownik wysyła zapytanie, wdrożenie modelu sztucznej inteligencji klienta najpierw przetwarza je (korzystając z podanych instrukcji), aby później wykonać zapytanie wyszukiwania Bing (które jest widoczne dla deweloperów). Uziemienie za pomocą usługi Bing zwraca odpowiednie wyniki wyszukiwania do wdrożenia modelu klienta, co spowoduje wygenerowanie końcowych danych wyjściowych. W przypadku korzystania z funkcji Grounding with Bing Search tylko zapytanie wyszukiwania Bing i klucz zasobu są wysyłane do usługi Bing, a żadne informacje specyficzne dla użytkownika końcowego nie są uwzględniane. Klucz zasobu jest wysyłany do usługi Bing wyłącznie na potrzeby rozliczeń i ograniczania szybkości. Wszystkie zapytania wyszukiwania Bing, które są generowane i wysyłane do usługi Bing na potrzeby uziemienia, są przenoszone wraz z kluczem zasobu poza granicą zgodności platformy Azure do rozwiązania Grounding with Bing usługa wyszukiwania. Podstawy wyszukiwania Bing podlegają warunkom usługi Bing i nie mają takich samych standardów zgodności i certyfikatów, jak usługa Azure AI Agent Service, zgodnie z opisem w artykule Uziemienie warunków użytkowania wyszukiwania Bing. Twoim zadaniem jest sprawdzenie, czy użycie funkcji Grounding with Bing Search w agencie spełnia Twoje wymagania i wymagania.

Obsługa użycia

Pomoc techniczna dotycząca znajdowania sztucznej inteligencji platformy Azure Zestaw SDK dla języka Python Zestaw SDK języka C# Zestaw SDK dla języka JavaScript Interfejs API REST Konfiguracja agenta podstawowego Konfiguracja agenta standardowego
✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️

Ustawienia

Uwaga

  1. Uziemienie za pomocą funkcji wyszukiwania Bing działa tylko z następującymi modelami usługi Azure OpenAI: gpt-3.5-turbo-0125, , gpt-4-0125-preview, , gpt-4-turbo-2024-04-09gpt-4o-0513
  1. Utwórz agenta usługi Azure AI, wykonując kroki opisane w przewodniku Szybki start.

  2. Utwórz zasób uziemienia za pomocą usługi wyszukiwania Bing. Aby ją utworzyć, musisz mieć owner rolę lub contributor w subskrypcji lub grupie zasobów.

    1. Możesz utworzyć je w witrynie Azure Portal i wybrać różne pola w formularzu tworzenia. Upewnij się, że utworzysz ten zasób Grounding z wyszukiwaniem Bing w tej samej grupie zasobów co agent usługi Azure AI, projekt sztucznej inteligencji i inne zasoby.

    Zrzut ekranu przedstawiający wybór zasobu Bing w witrynie Azure Portal.

    1. Możesz również utworzyć jedną za pomocą środowiska code-first. Jeśli tak, musisz ręcznie zarejestrować wyszukiwanie Bing jako dostawcę zasobów platformy Azure. Musisz mieć uprawnienie do wykonania operacji /register/action dla dostawcy zasobów. Uprawnienie jest uwzględniane w rolach Współautor i Właściciel .
        az provider register --namespace 'Microsoft.Bing'
    
  3. Po utworzeniu zasobu Grounding with Bing Search można go znaleźć w witrynie Azure Portal. Przejdź do grupy zasobów, w której utworzono zasób, wyszukaj utworzony zasób Grounding za pomocą wyszukiwania Bing.

    Zrzut ekranu przedstawiający zasób Bing w witrynie Azure Portal.

  4. Narzędzie Grounding with Bing Search można dodać do agenta programowo przy użyciu przykładów kodu wymienionych w górnej części tego artykułu lub portalu usługi Azure AI Foundry. Jeśli chcesz użyć portalu, na ekranie Tworzenie i debugowanie agenta przewiń w dół okienko Konfiguracja po prawej stronie. Następnie wybierz pozycję Dodaj.

    Zrzut ekranu przedstawiający dostępne kategorie narzędzi w portalu usługi Azure AI Foundry.

  5. Wybierz pozycję Uziemienie za pomocą wyszukiwania Bing i postępuj zgodnie z monitami, aby dodać narzędzie. Uwaga: można dodać tylko jeden agent.

    Zrzut ekranu przedstawiający dostępne narzędzia wiedzy w portalu usługi Azure AI Foundry.

  6. Kliknij, aby dodać nowe połączenia. Po dodaniu połączenia możesz bezpośrednio wybrać z istniejącej listy.

    Zrzut ekranu przedstawiający przycisk tworzenia nowego połączenia.

  7. Wybierz zasób Grounding with Bing Search , którego chcesz użyć, a następnie kliknij, aby dodać połączenie.

    Zrzut ekranu przedstawiający dostępną platformę Grounding z połączeniami wyszukiwania Bing.

Jak wyświetlić uziemienie za pomocą wyników wyszukiwania Bing

Zgodnie z warunkami użytkowania i wyświetlania usługi Bing należy wyświetlić zarówno adresy URL witryny internetowej, jak i adresy URL zapytań wyszukiwania Bing w interfejsie niestandardowym. Adresy URL witryn internetowych można znaleźć za pomocą annotations parametru w odpowiedzi interfejsu API i adresach URL zapytań wyszukiwania Bing za pomocą runstep szczegółów. Aby renderować stronę internetową, zalecamy zastąpienie punktu końcowego adresów URL kwerend wyszukiwania Bing ciągiem www.bing.com , a adres URL zapytania wyszukiwania Bing będzie wyglądać następująco: "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}")

Zrzut ekranu przedstawiający cytaty dla wyników wyszukiwania Bing.

Firma Microsoft będzie używać danych wysyłanych do platformy Grounding z usługą Bing w celu ulepszania produktów i usług firmy Microsoft. W przypadku wysyłania danych osobowych do tej usługi użytkownik jest odpowiedzialny za uzyskanie wystarczającej zgody podmiotów danych. Warunki ochrony danych w warunkach usług online nie mają zastosowania do uziemienia w usłudze Bing.

Korzystanie z platformy Grounding z usługą wyszukiwania Bing podlega warunkom użytkowania. Korzystając z funkcji Grounding with Bing Search, użytkownik zgadza się być powiązany i przestrzegać niniejszych warunków użytkowania.

Krok 1. Tworzenie klienta projektu

Utwórz obiekt klienta, który będzie zawierać parametry połączenia na potrzeby nawiązywania połączenia z projektem sztucznej inteligencji i innymi zasobami.

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"],
)

Krok 2. Tworzenie agenta z włączonym narzędziem wyszukiwania Uziemienie za pomocą usługi Bing

Aby udostępnić agentowi narzędzie wyszukiwania Grounding with Bing, użyj połączenia w celu zainicjowania narzędzia i dołącz go do agenta. Połączenie można znaleźć w sekcji połączonych zasobów projektu w portalu usługi 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}")

Krok 3. Tworzenie wątku

# 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}")

Krok 4. Tworzenie przebiegu i sprawdzanie danych wyjściowych

Utwórz przebieg i zwróć uwagę, że model używa narzędzia Grounding with Bing Search w celu udzielenia odpowiedzi na pytanie użytkownika.

# 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}")

Następne kroki

Zobacz pełną próbkę funkcji Grounding with Bing Search (Uziemięcie za pomocą wyszukiwania Bing).