Ricerca sul web con i modelli Anthropic Claude

La ricerca sul web è una funzionalità che consente a un modello Claude di ampliare le proprie conoscenze con dati in tempo reale provenienti dal web. I modelli Claude utilizzano un fornitore di ricerca di terze parti per la funzionalità di ricerca web. La funzionalità di ricerca web è particolarmente efficace per le applicazioni RAG (Retrieval-Augmented Generation) in cui è necessario citare con precisione le fonti.

La funzionalità di ricerca web è adatta ai seguenti casi d'uso:

  • Recupera la documentazione tecnica più recente: gli sviluppatori di software possono chiedere a Claude informazioni sulla documentazione dell'API o sulle specifiche tecniche più recenti. Claude è in grado di recuperare e sintetizzare le informazioni direttamente dalla documentazione di origine.
  • Raccogliere informazioni commerciali e di mercato: gli analisti aziendali possono raccogliere dati di mercato attuali, informazioni sull'azienda o notizie del settore per supportare i loro processi decisionali
  • Aiutare nella ricerca: i knowledge worker possono utilizzare Claude come assistente di ricerca in grado di trovare, sintetizzare e spiegare informazioni provenienti da più fonti web, mantenendo citazioni accurate
  • Assistenza clienti: le applicazioni di assistenza clienti possono accedere a informazioni aggiornate su prodotti, prezzi o documentazione di assistenza dai siti web aziendali

Modelli supportati

Gemini Enterprise Agent Platform supporta la ricerca web per i seguenti modelli Anthropic Claude:

Controllare l'accesso alla ricerca web

La funzionalità di ricerca web richiede l'accesso a internet pubblico. Per impostazione predefinita, la ricerca web è disattivata dal vincolo relativo alle policy dell'organizzazione constraints/vertexai.allowedPartnerModelFeatures. Per abilitare la ricerca web, devi configurare questo vincolo in modo da consentirla esplicitamente.

Inoltre, puoi configurare il vincolo del criterio dell'organizzazione constraints/vertexai.allowedModels per limitare l'accesso ai modelli Claude.

Per garantire l'accesso continuo alla ricerca web per queste versioni specifiche del modello dopo giugno 2026, configura il criterio dell'organizzazione constraints/vertexai.allowedPartnerModelFeatures per consentire la ricerca web entro la fine di giugno 2026.

Per istruzioni dettagliate sulla configurazione dei vincoli delle policy dell'organizzazione, consulta Controllare l'accesso ai modelli di Model Garden.

Abilita la ricerca sul web fornendo una nuova definizione dello strumento Anthropic (web_search) nella richiesta API.

Ad esempio, il seguente snippet di codice utilizza la ricerca web per recuperare informazioni meteo in tempo reale:

response = await client.messages.create(
    model="claude-4-sonnet-latest",
    max_tokens=1024,
    messages=[{
        "role": "user",
        "content": "What is the weather in San Francisco?"
    }],
    tools=[{
        "type": "web_search",
        "name": "web_search",
        "max_uses": 5
    }]
)

Puoi anche utilizzare campi facoltativi per specificare i domini consentiti e bloccati. Ad esempio:

tools=[{
  ...
  # Only one of allowed_domains and blocked_domains can be provided.
  # allowed_domains excludes everything except the specified domains
    "allowed_domains": ["example.com", "example.org"],

  # blocked_domains includes everything except the specified domains
  # Use the `NOT site:` search operator
    "blocked_domains": ["example.net"],
}]

Per saperne di più sui campi facoltativi, consulta la documentazione dello strumento di ricerca web Claude.

Quando il modello determina che è necessaria la ricerca web, l'API richiama lo strumento di ricerca web finché non sono più necessarie chiamate di strumenti. La risposta include i dettagli delle ricerche intermedie, con i risultati criptati.

Il seguente snippet di codice è un esempio di risposta con ricerca web:

{
  ...
  "role": "assistant",
  "content": [
    // Initial output from the model
    {
      "type": "text",
      "text": "I need to search the web to answer this question about the weather in San Francisco."
    },
    {
      "type": "server_tool_use",
      "id": "srvtoolu_9a90a390a",
      "name": "web_search",
      "input": {
        "query": "What is the weather in San Francisco?",
      }
    },
    // API sees an `</antml:function_calls>` stop sequence here, sees that
    // the tool use is for a server-side tool, and then runs that
    // tool. If there is a mix of client and server-side, the API would
    // need to return to the client and let it pass back client tool results
    // before continuing with server tools.
    {
      "type": "web_search_tool_result",
      // "name": "web_search", use this to determine what types of blocks are inside `content`
      "tool_use_id": "srvtoolu_9a90a390a",
      "content": [
        {
          "type": "web_search_result",
          "uri": "https://weather.com",
          "title": "National and Local Weather",
          "encrypted_content": "eyJlbmNyeXB0ZWRfa2V5Ijoic2VjcmV0LW...", // encrypted list of snippets from the web search provider
        },
        {
          "type": "web_search_result",
          "uri": "https://accuweather.com",
          "title": "San Francisco, CA Hourly Weather",
          "encrypted_content": "yaJlbmNyeXB0ZWRfa2V5Ijoic2VjcmV0LW...", // encrypted list of snippets from the web search provider
        },
      ],
    },
    // Server starts a new sampling run with the above content appended (unencrypted)
    // to the original request. Everything below is completion content from the
    // second sampling run.
    {
      "type": "text",
      "text": "The current weather in San Francisco, CA is 65 degrees Fahrenheit and partly cloudy."
    }
  ],
  // Server output is no longer 1-to-1 with a single sampling run. From the
  // user's perspective, there is just one "Message" with a single id
  "id": "msg_a930390d3",
  "usage": {
    "input_tokens": 3029,
    "output_tokens": 6039,
    "server_tool_use": {
      "web_search_requests": 2
    }
  },
  "stop_reason": "end_turn"
}

Streaming con la ricerca web

Con lo streaming attivato, il modello restituisce gli eventi di ricerca come parte dello stream. Ad esempio:

// Claude's decision to search

event: content_block_start
data: {"type": "content_block_start", "index": 1, "content_block": {"type": "server_tool_use", "id": "srvtoolu_xyz789", "name": "web_search"}}

// Search query streamed
event: content_block_delta
data: {"type": "content_block_delta", "index": 1, "delta": {"type": "input_json_delta", "partial_json": "{\"query\":\"latest quantum computing breakthroughs 2025\"}"}}

// Pause while search executes

// Search results streamed
event: content_block_start
data: {"type": "content_block_start", "index": 2, "content_block": {"type": "web_search_tool_result", "tool_use_id": "srvtoolu_xyz789", "content": [{"type": "web_search_result", "title": "Quantum Computing Breakthroughs in 2025", "url": "https://example.com"}]}}

L'utilizzo viene misurato e incluso nei messaggi message_delta, che includono un conteggio cumulativo di web_search elementi. Ad esempio:

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"input_tokens":10682,"cache_creation_input_tokens":0,"cache_read_input_tokens":0,"output_tokens":510,"server_tool_use":{"web_search_requests":1}}}

La funzionalità di ricerca sul web per Claude 4.0 e modelli più recenti è una funzionalità facoltativa dei modelli Claude di Anthropic. Puoi attivarlo fornendo lo strumento di ricerca web nelle richieste. Quando attivi questa funzionalità, chiedi a Gemini Enterprise Agent Platform di consentire ai modelli Claude di inviare query di ricerca derivate dalla tua richiesta a un fornitore di servizi di ricerca di terze parti selezionato da Anthropic. Google non è responsabile delle pratiche di trattamento dei dati di questo fornitore di terze parti. Una volta trasmesse le query di ricerca, la gestione di questi dati è regolata dai termini di servizio e dalle norme sulla privacy di terze parti, non da quelli di Google.

L'attivazione della funzionalità di ricerca web ha implicazioni dirette per la governance e la postura di sicurezza dei tuoi dati. Gli impegni aggiuntivi di Gemini Enterprise Agent Platform, come le chiavi di crittografia gestite dal cliente (CMEK) e la residenza dei dati, non si applicano ai dati durante l'elaborazione da parte del fornitore di servizi di ricerca di terze parti. Se il tuo progetto consumer si trova all'interno di un perimetro VPC-SC, Vertex AI rifiuterà le richieste con il seguente messaggio di errore:

{
  "error": {
    "code": 400,
    "message": "The requested model does not serve requests restricted by VPCSC",
    "status": "FAILED_PRECONDITION"
  }
}

Questa funzionalità è disponibile esclusivamente per Claude 4.0 e modelli successivi; non è disponibile per i modelli Claude precedenti su Gemini Enterprise Agent Platform. L'elenco dei servizi di ricerca di terze parti che la funzionalità di ricerca web di Anthropic può chiamare se viene utilizzata la funzionalità di ricerca web:

Prezzi

La ricerca web ha un prezzo aggiuntivo rispetto all'utilizzo standard dell'API Messages, in base al volume di richieste web. A causa delle chiamate di campionamento aggiuntive, agli utenti verranno addebitati anche i token di input aggiuntivi.

Per saperne di più, consulta i prezzi.