Lab 05: Bing Search Tool
Opis
W tym labie dodamy agentowi możliwość wyszukiwania aktualnych informacji w publicznym internecie używając Bing Grounding. Agent będzie mógł odpowiadać na pytania wymagające real-time data: aktualne wiadomości, pogoda, kursy walut, etc.
Pełna dokumentacja:
Czym jest Bing Search Tool?
Bing Grounding = narzędzie dające agentowi dostęp do aktualnych danych z publicznego internetu poprzez Bing Search.
Kiedy używać?
✅ Używaj dla:
- Aktualne wiadomości i wydarzenia
- Dane które się zmieniają: pogoda, kursy walut, notowania giełdowe
- Queries z keywords: “latest”, “today”, “current”, “recent”, “now”
- Informacje które agent nie ma w base knowledge
❌ NIE używaj dla:
- Podsumowywania całych stron web
- Scraping konkretnych domen (użyj Bing Custom Search)
- Danych które już masz w Azure AI Search
Jak działa?
- User zadaje pytanie: “Jaka jest dzisiejsza pogoda w Warszawie?”
- Agent rozpoznaje że potrzebne są aktualne dane
- Agent wywołuje Bing Grounding tool
- Bing wyszukuje w internecie i zwraca results z citations
- Agent kompiluje odpowiedź na podstawie results
- User otrzymuje odpowiedź z citations (linki do źródeł)
Kluczowe ograniczenia
Modele które NIE wspierają Bing:
- ❌ gpt-4o-mini-2024-07-18
- ❌ gpt-5 series
Compliance:
- ⚠️ Dane opuszczają Azure compliance boundary (public Bing Search)
- ⚠️ Nie działa z VPN/private endpoints
Wymagania prawne (WAŻNE!):
Niebezpieczeństwo: Bing Search ma prawne Use and Display Requirements. MUSISZ wyświetlać:
- Citations (źródła) z linkami do stron
- Bing search query URL
Nieprzestrzeganie = naruszenie terms of use!
🔬Lab: Dodanie Bing Search do agenta
Krok 1: Utwórz nowego agenta
- W Azure AI Foundry Portal → Twój projekt
- Agents → + New agent
- Configuration:
- Deployment: gpt-4.1-mini (gpt-5 series NIE wspiera Bing!)
- Name: NewsAgent
- Description: Agent z dostępem do aktualnych informacji z internetu
Krok 2: Utwórz Bing Connection
Najpierw utworzysz connection do Bing Search używając API key otrzymanego od prowadzącego.
- W prawym panelu agenta → Add knowledge
- Wybierz Grounding with Bing Search
- + New connection
- Wybierz Enter manually
- Configuration:
- Connection name:
bing-search-connection-<INICJAŁ> - Authentication: API Key
- Key: Wklej Bing API key otrzymany od prowadzącego
- Connection name:
- Add
- Pojawi się ekran Configure Grounding with Bing Search optional parameters
Krok 2a: Konfiguracja Optional Parameters
Na tym ekranie możesz skonfigurować dodatkowe parametry Bing Search:
- Count: Liczba wyników wyszukiwania (domyślnie 5)
- Set language: Język odpowiedzi (np.
endla angielskiego,pldla polskiego) - Market: Market code (np.
en-us,pl-pl) - Freshness: Zakres czasowy wyników (format:
YYYY-MM-DDlub puste dla wszystkich)
Dla warsztatów ustaw następujące wartości:
- Count:
5 - Set language:
pl - Market:
pl-pl - Freshness: (puste)
- Create
Tip: Szczegółowy opis wszystkich parametrów znajdziesz w dokumentacji - Optional Parameters.
Uwaga: W produkcji musisz utworzyć własny Bing Grounding resource w Azure. Szczegóły w dokumentacji.
Krok 3: Skonfiguruj Instructions agenta
Dodaj do Instructions:
Jesteś asystentem z dostępem do aktualnych informacji z internetu.
Twoje narzędzie:
- Bing Grounding - wyszukiwanie aktualnych danych w internecie
Używaj Bing Grounding gdy:
- Użytkownik pyta o "dzisiejsze", "aktualne", "najnowsze", "latest"
- Potrzebujesz danych real-time: pogoda, wiadomości, kursy walut
- Twoja base knowledge może być nieaktualna
ZASADY:
- ZAWSZE cytuj źródła (citations) w odpowiedzi
- Formatuj odpowiedzi używając Markdown
- Jeśli Bing nie zwróci wyników - powiedz że nie znalazłeś informacji
Save konfigurację.
Krok 4: Test z zapytaniami real-time
W Playground zadaj pytania wymagające aktualnych danych:
Test 1: Pogoda
Jaka jest dzisiejsza pogoda w Warszawie?
Test 2: Wiadomości
Jakie są najnowsze wiadomości z Polski?
Test 3: Kursy walut
Jaki jest obecny kurs EUR/PLN?
Obserwuj:
- Czy agent wywołał Bing Grounding?
- Czy odpowiedź zawiera citations (linki do źródeł)?
- Czy informacje są aktualne?
Krok 5: Sprawdź Citations w Thread Logs
- W Playground → View logs lub Logs
- Znajdź sekcję Tool calls → Bing Grounding
- Zobacz:
- Query wysłany do Bing
- Results z URLs
- Citations w odpowiedzi agenta
Co powinieneś zobaczyć:
- Agent cytuje źródła (np. “Według weather.com…”)
- Linki do stron źródłowych
- Bing search query URL
Ważne: W Portal Playground citations są automatycznie wyświetlane jako linki. W aplikacji musisz je samodzielnie obsłużyć - szczegóły w dokumentacji.
Krok 6: Test bez Bing (porównanie)
Zadaj pytanie które NIE wymaga aktualnych danych:
Kto był pierwszym człowiekiem na Księżycu?
Obserwuj:
- Agent nie powinien wywoływać Bing (ma to w base knowledge)
- Odpowiedź bez citations
- Szybsza odpowiedź (brak tool call)
Kluczowy wniosek: Agent sam decyduje kiedy użyć Bing na podstawie query i instructions!
Krok 7: Połączenie
Cel: Roszerzenie Agena KRS o możliwość wyszukiwania w KRS po nazwie.
Dodaj Bing Search do agenta z poprzedniego zadania i zmień Instruction tak aby agent używał Bing Search do wyszukiwania numeru KRS po podaniu nazwy firmy.
Display Requirements (Prawne)
Jeśli budujesz aplikację z Bing Search, MUSISZ przestrzegać Use and Display Requirements:
Wymagane elementy:
- Citations z linkami:
- Każde źródło musi mieć link do oryginalnej strony
- Format: tytuł strony + URL
- Bing search query URL:
- Link do Bing search results
- Format:
https://www.bing.com/search?q={query}
- Bing logo/branding:
- W aplikacji pokaż że dane pochodzą z Bing
Dokumentacja prawna: Bing Use and Display Requirements
Przykład implementacji w kodzie Python - zobacz Code Samples.
Zaawansowane opcje (opcjonalnie)
Bing Grounding wspiera dodatkowe parametry konfiguracyjne:
| Parameter | Opis | Domyślnie |
|---|---|---|
count |
Liczba results | 5 |
freshness |
Zakres czasowy (Day, Week, Month) | None |
market |
Market code (en-US, pl-PL, etc.) | en-US |
Szczegóły w dokumentacji Bing Grounding.
Podsumowanie
W tym labie nauczyliśmy się:
✅ Czym jest Bing Grounding: Tool dający dostęp do real-time web data
✅ Kiedy używać: Aktualne wiadomości, pogoda, kursy - dane które się zmieniają
✅ Dodanie do agenta: Actions → Bing Grounding z gotowym connection
✅ Instructions: Nauczyć agenta kiedy używać Bing (keywords: “latest”, “current”, etc.)
✅ Citations: WYMAGANE prawnie - zawsze wyświetlać źródła
✅ Automatyczna decyzja: Agent sam wie kiedy użyć Bing vs base knowledge
Kluczowe wnioski:
- Bing Grounding = access do public web (dane opuszczają Azure)
- Citations = legal requirement (nie opcja!)
- Agent decyduje kiedy użyć tool na podstawie query + instructions
- Nie wszystkie modele wspierają Bing (gpt-5 NIE!)