Loading...
    • Erstellen
    • Admin
    • Modelle & Preise
    • Client SDKs
    • API-Referenz
    Search...
    ⌘K
    Erste Schritte
    Einführung in ClaudeSchnellstart
    Mit Claude erstellen
    FunktionsübersichtVerwendung der Messages APIClaude API-FähigkeitStop-Gründe verarbeiten
    Modellmöglichkeiten
    Extended ThinkingAdaptive ThinkingAufwandTask Budgets (Beta)Fast Mode (Beta: Research Preview)Strukturierte AusgabenZitateStreaming MessagesBatch-VerarbeitungSuchergebnisseStreaming-AblehnungenMehrsprachige UnterstützungEmbeddings
    Tools
    ÜbersichtWie Tool-Nutzung funktioniertWeb Search ToolWeb Fetch ToolCode Execution ToolAdvisor ToolMemory ToolBash ToolComputer Use ToolText Editor Tool
    Tool-Infrastruktur
    Tool-ReferenzTool-SucheProgrammgesteuerte Tool-AufrufeFeingranulares Tool-Streaming
    Kontextverwaltung
    KontextfensterKomprimierungKontextbearbeitungPrompt CachingToken-Zählung
    Mit Dateien arbeiten
    Files APIPDF-UnterstützungBilder und Vision
    Skills
    ÜbersichtSchnellstartBest PracticesSkills für UnternehmenSkills in der API
    MCP
    Remote MCP ServerMCP Connector
    Prompt Engineering
    ÜbersichtBest Practices für PromptingConsole Prompting Tools
    Testen und evaluieren
    Erfolg definieren und Evaluierungen erstellenVerwendung des Evaluation Tools in ConsoleLatenz reduzieren
    Guardrails verstärken
    Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenPrompt-Leak reduzieren
    Ressourcen
    Glossar
    Versionshinweise
    Claude Platform
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Modellmöglichkeiten

    Suchergebnisse

    Aktivieren Sie natürliche Zitierungen für RAG-Anwendungen, indem Sie Suchergebnisse mit Quellenangabe bereitstellen

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Suchergebnis-Inhaltsblöcke ermöglichen natürliche Zitierungen mit ordnungsgemäßer Quellenangabe und bringen Web-Such-ähnliche Zitierungen in Ihre benutzerdefinierten Anwendungen. Diese Funktion ist besonders leistungsstark für RAG-Anwendungen (Retrieval-Augmented Generation), bei denen Claude Quellen genau zitieren muss.

    Die Suchergebnis-Funktion ist auf den folgenden Modellen verfügbar:

    • Claude Opus 4.7 (claude-opus-4-7)
    • Claude Opus 4.6 (claude-opus-4-6)
    • Claude Sonnet 4.6 (claude-sonnet-4-6)
    • Claude Sonnet 4.5 (claude-sonnet-4-5-20250929)
    • Claude Opus 4.5 (claude-opus-4-5-20251101)
    • Claude Opus 4.1 (claude-opus-4-1-20250805)
    • Claude Opus 4 (veraltet) (claude-opus-4-20250514)
    • Claude Sonnet 4 (veraltet) (claude-sonnet-4-20250514)
    • Claude Sonnet 3.7 (veraltet) (claude-3-7-sonnet-20250219)
    • Claude Haiku 4.5 (claude-haiku-4-5-20251001)
    • Claude Haiku 3.5 (veraltet) (claude-3-5-haiku-20241022)

    Wichtigste Vorteile

    • Natürliche Zitierungen - Erreichen Sie die gleiche Zitierungsqualität wie Web-Suche für beliebige Inhalte
    • Flexible Integration - Verwenden Sie in Tool-Rückgaben für dynamisches RAG oder als Top-Level-Inhalte für vorab abgerufene Daten
    • Ordnungsgemäße Quellenangabe - Jedes Ergebnis enthält Quellen- und Titelinformationen für klare Zuordnung
    • Keine Dokumentumgehungen erforderlich - Beseitigt die Notwendigkeit für dokumentbasierte Umgehungen
    • Konsistentes Zitierungsformat - Entspricht der Zitierungsqualität und dem Format von Claudes Web-Suchfunktion

    Funktionsweise

    Suchergebnisse können auf zwei Arten bereitgestellt werden:

    1. Aus Tool-Aufrufen - Ihre benutzerdefinierten Tools geben Suchergebnisse zurück und ermöglichen dynamische RAG-Anwendungen
    2. Als Top-Level-Inhalte - Sie stellen Suchergebnisse direkt in Benutzernachrichten für vorab abgerufene oder zwischengespeicherte Inhalte bereit

    In beiden Fällen kann Claude automatisch Informationen aus den Suchergebnissen mit ordnungsgemäßer Quellenangabe zitieren.

    Suchergebnis-Schema

    Suchergebnisse verwenden die folgende Struktur:

    {
      "type": "search_result",
      "source": "https://example.com/article", // Erforderlich: Quellen-URL oder Kennung
      "title": "Article Title", // Erforderlich: Titel des Ergebnisses
      "content": [
        // Erforderlich: Array von Textblöcken
        {
          "type": "text",
          "text": "The actual content of the search result..."
        }
      ],
      "citations": {
        // Optional: Zitierungskonfiguration
        "enabled": true // Zitierungen für dieses Ergebnis aktivieren/deaktivieren
      }
    }

    Erforderliche Felder

    FeldTypBeschreibung
    typestringMuss "search_result" sein
    sourcestringDie Quellen-URL oder Kennung für den Inhalt
    titlestringEin beschreibender Titel für das Suchergebnis
    contentarrayEin Array von Textblöcken mit dem tatsächlichen Inhalt

    Optionale Felder

    FeldTypBeschreibung
    citationsobjectZitierungskonfiguration mit booleschen Feld enabled
    cache_controlobjectCache-Kontrolleinstellungen (z. B. {"type": "ephemeral"})

    Jedes Element im content-Array muss ein Textblock mit folgenden Eigenschaften sein:

    • type: Muss "text" sein
    • text: Der tatsächliche Textinhalt (nicht-leere Zeichenkette)

    Methode 1: Suchergebnisse aus Tool-Aufrufen

    Der leistungsstärkste Anwendungsfall ist die Rückgabe von Suchergebnissen aus Ihren benutzerdefinierten Tools. Dies ermöglicht dynamische RAG-Anwendungen, bei denen Tools relevante Inhalte abrufen und mit automatischen Zitierungen zurückgeben.

    Beispiel: Wissensdatenbank-Tool

    from anthropic.types import (
        MessageParam,
        TextBlockParam,
        SearchResultBlockParam,
        ToolResultBlockParam,
    )
    
    client = Anthropic()
    
    # Definieren Sie ein Wissensdatenbank-Suchtool
    knowledge_base_tool = {
        "name": "search_knowledge_base",
        "description": "Search the company knowledge base for information",
        "input_schema": {
            "type": "object",
            "properties": {"query": {"type": "string", "description": "The search query"}},
            "required": ["query"],
        },
    }
    
    
    # Funktion zur Behandlung des Tool-Aufrufs
    def search_knowledge_base(query):
        # Ihre Suchlogik hier
        # Gibt Suchergebnisse im korrekten Format zurück
        return [
            SearchResultBlockParam(
                type="search_result",
                source="https://docs.company.com/product-guide",
                title="Product Configuration Guide",
                content=[
                    TextBlockParam(
                        type="text",
                        text="To configure the product, navigate to Settings > Configuration. The default timeout is 30 seconds, but can be adjusted between 10-120 seconds based on your needs.",
                    )
                ],
                citations={"enabled": True},
            ),
            SearchResultBlockParam(
                type="search_result",
                source="https://docs.company.com/troubleshooting",
                title="Troubleshooting Guide",
                content=[
                    TextBlockParam(
                        type="text",
                        text="If you encounter timeout errors, first check the configuration settings. Common causes include network latency and incorrect timeout values.",
                    )
                ],
                citations={"enabled": True},
            ),
        ]
    
    
    # Erstellen Sie eine Nachricht mit dem Tool
    response = client.messages.create(
        model="claude-opus-4-7",  # Works with all supported models
        max_tokens=1024,
        tools=[knowledge_base_tool],
        messages=[
            MessageParam(role="user", content="How do I configure the timeout settings?")
        ],
    )
    
    # Wenn Claude das Tool aufruft, stellen Sie die Suchergebnisse bereit
    if response.content[0].type == "tool_use":
        tool_result = search_knowledge_base(response.content[0].input["query"])
    
        # Senden Sie das Tool-Ergebnis zurück
        final_response = client.messages.create(
            model="claude-opus-4-7",  # Works with all supported models
            max_tokens=1024,
            messages=[
                MessageParam(
                    role="user", content="How do I configure the timeout settings?"
                ),
                MessageParam(role="assistant", content=response.content),
                MessageParam(
                    role="user",
                    content=[
                        ToolResultBlockParam(
                            type="tool_result",
                            tool_use_id=response.content[0].id,
                            content=tool_result,  # Search results go here
                        )
                    ],
                ),
            ],
        )

    Methode 2: Suchergebnisse als Top-Level-Inhalte

    Sie können Suchergebnisse auch direkt in Benutzernachrichten bereitstellen. Dies ist nützlich für:

    • Vorab abgerufene Inhalte aus Ihrer Suchinfrastruktur
    • Zwischengespeicherte Suchergebnisse aus vorherigen Abfragen
    • Inhalte von externen Suchdiensten
    • Tests und Entwicklung

    Beispiel: Direkte Suchergebnisse

    from anthropic.types import MessageParam, TextBlockParam, SearchResultBlockParam
    
    client = Anthropic()
    
    # Provide search results directly in the user message
    response = client.messages.create(
        model="claude-opus-4-7",
        max_tokens=1024,
        messages=[
            MessageParam(
                role="user",
                content=[
                    SearchResultBlockParam(
                        type="search_result",
                        source="https://docs.company.com/api-reference",
                        title="API Reference - Authentication",
                        content=[
                            TextBlockParam(
                                type="text",
                                text="All API requests must include an API key in the Authorization header. Keys can be generated from the dashboard. Rate limits: 1000 requests per hour for standard tier, 10000 for premium.",
                            )
                        ],
                        citations={"enabled": True},
                    ),
                    SearchResultBlockParam(
                        type="search_result",
                        source="https://docs.company.com/quickstart",
                        title="Getting Started Guide",
                        content=[
                            TextBlockParam(
                                type="text",
                                text="To get started: 1) Sign up for an account, 2) Generate an API key from the dashboard, 3) Install our SDK using pip install company-sdk, 4) Initialize the client with your API key.",
                            )
                        ],
                        citations={"enabled": True},
                    ),
                    TextBlockParam(
                        type="text",
                        text="Based on these search results, how do I authenticate API requests and what are the rate limits?",
                    ),
                ],
            )
        ],
    )
    
    print(response.model_dump_json(indent=2))

    Antwort von Claude mit Zitaten

    Unabhängig davon, wie Suchergebnisse bereitgestellt werden, fügt Claude automatisch Zitate ein, wenn Informationen aus ihnen verwendet werden:

    {
      "role": "assistant",
      "content": [
        {
          "type": "text",
          "text": "To authenticate API requests, you need to include an API key in the Authorization header",
          "citations": [
            {
              "type": "search_result_location",
              "source": "https://docs.company.com/api-reference",
              "title": "API Reference - Authentication",
              "cited_text": "All API requests must include an API key in the Authorization header",
              "search_result_index": 0,
              "start_block_index": 0,
              "end_block_index": 0
            }
          ]
        },
        {
          "type": "text",
          "text": ". You can generate API keys from your dashboard",
          "citations": [
            {
              "type": "search_result_location",
              "source": "https://docs.company.com/api-reference",
              "title": "API Reference - Authentication",
              "cited_text": "Keys can be generated from the dashboard",
              "search_result_index": 0,
              "start_block_index": 0,
              "end_block_index": 0
            }
          ]
        },
        {
          "type": "text",
          "text": ". The rate limits are 1,000 requests per hour for the standard tier and 10,000 requests per hour for the premium tier.",
          "citations": [
            {
              "type": "search_result_location",
              "source": "https://docs.company.com/api-reference",
              "title": "API Reference - Authentication",
              "cited_text": "Rate limits: 1000 requests per hour for standard tier, 10000 for premium",
              "search_result_index": 0,
              "start_block_index": 0,
              "end_block_index": 0
            }
          ]
        }
      ]
    }

    Zitierfelder

    Jedes Zitat enthält:

    FeldTypBeschreibung
    typestringImmer "search_result_location" für Suchergebnis-Zitate
    sourcestringDie Quelle aus dem ursprünglichen Suchergebnis
    titlestring oder nullDer Titel aus dem ursprünglichen Suchergebnis
    cited_textstringDer genaue zitierte Text
    search_result_indexintegerIndex des Suchergebnisses (0-basiert)
    start_block_indexintegerStartposition im Content-Array
    end_block_indexintegerEndposition im Content-Array

    Hinweis: Der search_result_index bezieht sich auf den Index des Suchergebnis-Content-Blocks (0-basiert), unabhängig davon, wie die Suchergebnisse bereitgestellt wurden (Tool-Aufruf oder Top-Level-Content).

    Mehrere Content-Blöcke

    Suchergebnisse können mehrere Textblöcke im content-Array enthalten:

    {
      "type": "search_result",
      "source": "https://docs.company.com/api-guide",
      "title": "API Documentation",
      "content": [
        {
          "type": "text",
          "text": "Authentication: All API requests require an API key."
        },
        {
          "type": "text",
          "text": "Rate Limits: The API allows 1000 requests per hour per key."
        },
        {
          "type": "text",
          "text": "Error Handling: The API returns standard HTTP status codes."
        }
      ]
    }

    Claude kann spezifische Blöcke mit den Feldern start_block_index und end_block_index zitieren.

    Erweiterte Verwendung

    Kombination beider Methoden

    Sie können sowohl Tool-basierte als auch Top-Level-Suchergebnisse in derselben Konversation verwenden:

    from anthropic.types import MessageParam, SearchResultBlockParam, TextBlockParam
    
    # First message with top-level search results
    messages = [
        MessageParam(
            role="user",
            content=[
                SearchResultBlockParam(
                    type="search_result",
                    source="https://docs.company.com/overview",
                    title="Product Overview",
                    content=[
                        TextBlockParam(
                            type="text", text="Our product helps teams collaborate..."
                        )
                    ],
                    citations={"enabled": True},
                ),
                TextBlockParam(
                    type="text",
                    text="Tell me about this product and search for pricing information",
                ),
            ],
        )
    ]
    
    # Claude might respond and call a tool to search for pricing
    # Then you provide tool results with more search results

    Kombination mit anderen Content-Typen

    Beide Methoden unterstützen das Mischen von Suchergebnissen mit anderen Inhalten:

    from anthropic.types import SearchResultBlockParam, TextBlockParam
    
    # In tool results
    tool_result = [
        SearchResultBlockParam(
            type="search_result",
            source="https://docs.company.com/guide",
            title="User Guide",
            content=[TextBlockParam(type="text", text="Configuration details...")],
            citations={"enabled": True},
        ),
        TextBlockParam(
            type="text", text="Additional context: This applies to version 2.0 and later."
        ),
    ]
    
    # In top-level content
    user_content = [
        SearchResultBlockParam(
            type="search_result",
            source="https://research.com/paper",
            title="Research Paper",
            content=[TextBlockParam(type="text", text="Key findings...")],
            citations={"enabled": True},
        ),
        {
            "type": "image",
            "source": {"type": "url", "url": "https://example.com/chart.png"},
        },
        TextBlockParam(
            type="text", text="How does the chart relate to the research findings?"
        ),
    ]

    Cache-Steuerung

    Fügen Sie Cache-Steuerung für bessere Leistung hinzu:

    {
      "type": "search_result",
      "source": "https://docs.company.com/guide",
      "title": "User Guide",
      "content": [{ "type": "text", "text": "..." }],
      "cache_control": {
        "type": "ephemeral"
      }
    }

    Zitat-Steuerung

    Standardmäßig sind Zitate für Suchergebnisse deaktiviert. Sie können Zitate aktivieren, indem Sie die citations-Konfiguration explizit setzen:

    {
      "type": "search_result",
      "source": "https://docs.company.com/guide",
      "title": "User Guide",
      "content": [{ "type": "text", "text": "Important documentation..." }],
      "citations": {
        "enabled": true // Enable citations for this result
      }
    }

    Wenn citations.enabled auf true gesetzt ist, fügt Claude Zitierverweise ein, wenn Informationen aus dem Suchergebnis verwendet werden. Dies ermöglicht:

    • Natürliche Zitate für Ihre benutzerdefinierten RAG-Anwendungen
    • Quellenangabe bei der Schnittstelle mit proprietären Wissensdatenbanken
    • Web-Such-Qualitätszitate für jedes benutzerdefinierte Tool, das Suchergebnisse zurückgibt

    Wenn das Feld citations weggelassen wird, sind Zitate standardmäßig deaktiviert.

    Zitate sind alles oder nichts: Entweder müssen alle Suchergebnisse in einer Anfrage Zitate aktiviert haben, oder alle müssen sie deaktiviert haben. Das Mischen von Suchergebnissen mit unterschiedlichen Zitat-Einstellungen führt zu einem Fehler. Wenn Sie Zitate für einige Quellen deaktivieren müssen, müssen Sie sie für alle Suchergebnisse in dieser Anfrage deaktivieren.

    Best Practices

    Für Tool-basierte Suche (Methode 1)

    • Dynamischer Inhalt: Verwenden Sie für Echtzeitsuchen und dynamische RAG-Anwendungen
    • Fehlerbehandlung: Geben Sie geeignete Meldungen zurück, wenn Suchen fehlschlagen
    • Ergebnisgrenzen: Geben Sie nur die relevantesten Ergebnisse zurück, um Kontext-Überfluss zu vermeiden

    Für Top-Level-Suche (Methode 2)

    • Vorab abgerufener Inhalt: Verwenden Sie, wenn Sie bereits Suchergebnisse haben
    • Batch-Verarbeitung: Ideal für die Verarbeitung mehrerer Suchergebnisse auf einmal
    • Testen: Großartig zum Testen des Zitierungsverhaltens mit bekanntem Inhalt

    Allgemeine Best Practices

    1. Strukturieren Sie Ergebnisse effektiv

      • Verwenden Sie klare, permanente Quell-URLs
      • Geben Sie aussagekräftige Titel an
      • Teilen Sie lange Inhalte in logische Textblöcke auf
    2. Wahren Sie Konsistenz

      • Verwenden Sie konsistente Quellenformate in Ihrer Anwendung
      • Stellen Sie sicher, dass Titel den Inhalt genau widerspiegeln
      • Halten Sie die Formatierung konsistent
    3. Behandeln Sie Fehler elegant

      def search_with_fallback(query):
          try:
              results = perform_search(query)
              if not results:
                  return {"type": "text", "text": "No results found."}
              return format_as_search_results(results)
          except Exception as e:
              return {"type": "text", "text": f"Search error: {str(e)}"}

    Einschränkungen

    • Suchergebnis-Content-Blöcke sind auf Claude API, Amazon Bedrock und Google Cloud's Vertex AI verfügbar
    • Nur Textinhalte werden in Suchergebnissen unterstützt (keine Bilder oder andere Medien)
    • Das content-Array muss mindestens einen Textblock enthalten

    Was this page helpful?

    • Wichtigste Vorteile
    • Funktionsweise
    • Suchergebnis-Schema
    • Erforderliche Felder
    • Optionale Felder
    • Methode 1: Suchergebnisse aus Tool-Aufrufen
    • Beispiel: Wissensdatenbank-Tool
    • Methode 2: Suchergebnisse als Top-Level-Inhalte
    • Beispiel: Direkte Suchergebnisse
    • Antwort von Claude mit Zitaten
    • Zitierfelder
    • Mehrere Content-Blöcke
    • Erweiterte Verwendung
    • Kombination beider Methoden
    • Kombination mit anderen Content-Typen
    • Cache-Steuerung
    • Zitat-Steuerung
    • Best Practices
    • Für Tool-basierte Suche (Methode 1)
    • Für Top-Level-Suche (Methode 2)
    • Allgemeine Best Practices
    • Einschränkungen