Artikelbild für den Artikel: Echtzeitdaten mit Anthropic's Websuche und Instructor nutzen

Echtzeitdaten mit Anthropic’s Websuche und Instructor nutzen

Anthropic’s neues Websuche-Tool, kombiniert mit Instructor, bietet eine leistungsstarke Möglichkeit, Echtzeitdaten aus dem Internet abzurufen und diese strukturiert auszugeben. Dies ermöglicht die Entwicklung von Anwendungen, die Fragen beantworten und Informationen bereitstellen, die über den Wissensstand großer Sprachmodelle hinausgehen.

Wie es funktioniert

Das Websuche-Tool ermöglicht es den Claude-Modellen, während der Generierung Websuchen durchzuführen. Wenn Sie das Websuche-Tool in Ihrer API-Anfrage bereitstellen, kann Claude entscheiden, es zu nutzen, wenn die Eingabe Informationen erfordert, die ihm nicht vorliegen. Die API führt dann die Suche aus, liefert die Ergebnisse an Claude zurück, und Claude kann diese Informationen verwenden, um eine Antwort zu generieren. Wichtig ist, dass Claude seine Quellen aus den Suchergebnissen zitiert.

Instructor vereinfacht diesen Prozess, indem Sie ein Pydantic-Modell für die gewünschte Ausgabestruktur definieren können. Wenn Claude das Websuche-Tool verwendet und eine Antwort formuliert, stellt Instructor sicher, dass die endgültige Ausgabe Ihrem definierten Schema entspricht.

Beispiel: Die neuesten UFC-Ergebnisse abrufen

Schauen wir uns ein praktisches Beispiel an. Wir möchten die neuesten Ergebnisse der UFC-Kämpfe abrufen. Zuerst stellen Sie sicher, dass Sie Instructor und Anthropic installiert haben:

uv add instructor anthropic

Nun definieren wir unser Pydantic-Modell für die Antwort:

import instructor
from pydantic import BaseModel

class Citation(BaseModel): id: int url: str
class Response(BaseModel): citations: list[Citation] response: str

Dieses Response-Modell ist einfach gehalten. Es sorgt dafür, dass das Modell zuerst eine Liste von Zitaten für die Artikel generiert, auf die es sich bezieht, bevor es seine Antwort generiert. Dies hilft, die Antwort in den Quellen zu verankern, die es abgerufen hat, und eine qualitativ hochwertige Antwort zu liefern.

Jetzt können wir den API-Aufruf machen:

response_data, completion_details = client.messages.create_with_completion(
    messages=[
        {
            "role": "system",
            "content": "You are a helpful assistant that summarizes news articles. Your final response should be only contain a single JSON object returned in your final message to the user. Make sure to provide the exact ids for the citations that support the information you provide in the form of inline citations as [1] [2] [3] which correspond to a unique id you generate for a url that you find in the web search tool which is relevant to your final response.",
        },
        {
            "role": "user",
            "content": "What are the latest results for the UFC and who won? Answer this in a concise response that's under 3 sentences.",
        },
    ],
    tools=[{"type": "web_search_20250305", "name": "web_search", "max_uses": 3}],
    response_model=Response,
)

Dieser Ansatz bietet eine saubere Möglichkeit, die Antwort des LLM in ein definiertes Pydantic-Objekt zu integrieren. Das Beispiel examples/anthropic-web-tool/run.py spiegelt diese Implementierung wider.

Wichtige Vorteile

  • Echtzeitinformationen: Zugriff auf die neuesten Daten direkt aus dem Internet.
  • Strukturierte Ausgabe: Selbst mit einem einfachen Modell stellt Instructor sicher, dass die Ausgabe ein Pydantic-Objekt ist, was die programmatische Verarbeitung erleichtert.
  • Quellenangaben: Claude zitiert automatisch Quellen, was eine Überprüfung ermöglicht.
  • Reduzierte Halluzinationen: Durch die Abhängigkeit von Websuchen für faktische, aktuelle Daten wird die Wahrscheinlichkeit verringert, dass das LLM falsche oder veraltete Informationen liefert.

Konfiguration des Websuche-Tools

Anthropic bietet mehrere Optionen zur Konfiguration des Websuche-Tools:

  • max_uses: Begrenzen Sie die Anzahl der Suchen, die Claude in einer einzelnen Anfrage durchführen kann.
  • allowed_domains: Beschränken Sie die Suchen auf eine Liste spezifischer Domains.
  • blocked_domains: Verhindern Sie Suchen auf bestimmten Domains.
  • user_location: Lokalisieren Sie die Suchergebnisse, indem Sie einen ungefähren Standort angeben (Stadt, Region, Land, Zeitzone).

Zum Beispiel, um die Suchen auf 3 zu beschränken und nur Ergebnisse von espn.com und ufc.com zuzulassen:

tools=[{
    "type": "web_search_20250305",
    "name": "web_search",
    "max_uses": 3,
    "allowed_domains": ["espn.com", "ufc.com"]
}],

Sie können allowed_domains und blocked_domains nicht in derselben Anfrage verwenden.

Fazit

Die Kombination von Anthropic’s Websuche-Tool mit den strukturierten Datenfähigkeiten von Instructor eröffnet spannende Möglichkeiten zur Erstellung dynamischer, informationsreicher Anwendungen. Ob Sie Sportergebnisse, Nachrichtenupdates oder Markttrends verfolgen, dieses leistungsstarke Duo kann Ihnen helfen, Echtzeit-Webdaten effektiv abzurufen und zu organisieren, selbst mit einfachen Pydantic-Modellen.

Überprüfen Sie den Beispielcode in examples/anthropic-web-tool/run.py, um diese Implementierung zu sehen, und konsultieren Sie die Anthropic Websuche-Dokumentation für detailliertere Informationen zu den Funktionen des Tools.

Quellenliste:

Dieser Artikel wurde mithilfe von KI verfasst und basiert auf automatisch gesammelten Informationen.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar