Richiedere previsioni con i modelli Claude

Puoi utilizzare l'SDK di Anthropic o i comandi curl per inviare richieste all'endpoint di Gemini Enterprise Agent Platform utilizzando i seguenti nomi di modelli:

  • Per Claude Sonnet 5.5 su Google Cloud, utilizza claude-sonnet-5-5
  • Per Claude Fable 5.1 su Google Cloud, utilizza claude-fable-5-1
  • Per Claude Sonnet 5 su Google Cloud, utilizza claude-sonnet-5
  • Per Claude Opus 5.5 su Google Cloud, utilizza claude-opus-5-5
  • Per Claude Opus 5 su Google Cloud, utilizza claude-opus-5
  • Per Claude Fable 5 su Google Cloud, utilizza claude-fable-5
  • Per Claude Opus 4.8 su Google Cloud, utilizza claude-opus-4-8
  • Per Claude Opus 4.7 su Google Cloud, utilizza claude-opus-4-7
  • Per Claude Opus 4.6 su Google Cloud, utilizza claude-opus-4-6
  • Per Claude Sonnet 4.6 su Google Cloud, utilizza claude-sonnet-4-6
  • Per Claude Opus 4.5 su Google Cloud, utilizza claude-opus-4-5
  • Per Claude Opus 4.1 su Google Cloud, utilizza claude-opus-4-1
  • Per Claude Opus 4 su Google Cloud, utilizza claude-opus-4
  • Per Claude Sonnet 4.5 su Google Cloud, utilizza claude-sonnet-4-5
  • Per Claude Sonnet 4 su Google Cloud, utilizza claude-sonnet-4
  • Per Claude 3.7 Sonnet su Google Cloud, utilizza claude-3-7-sonnet
  • Per Claude 3.5 Sonnet v2 su Google Cloud, utilizza claude-3-5-sonnet-v2
  • Per Claude Haiku 5.5 su Google Cloud, utilizza claude-haiku-5-5
  • Per Claude Haiku 4.5 su Google Cloud, utilizza claude-haiku-4-5
  • Per Claude 3.5 Haiku su Google Cloud, utilizza claude-3-5-haiku
  • Per Claude 3.5 Sonnet su Google Cloud, utilizza claude-3-5-sonnet
  • Per Claude 3 Opus su Google Cloud, utilizza claude-3-opus
  • Per Claude 3 Haiku su Google Cloud, utilizza claude-3-haiku

Prima di iniziare

Anthropic applica norme che vietano a determinati rivenditori di rivendere i propri prodotti. Se il tuo account di fatturazione Cloud de Confiance by S3NS è gestito da un rivenditore proibito, non potrai accettare i Termini di servizio o attivare i modelli Claude. In questo caso, contatta direttamente il tuo rivenditore.

Per utilizzare i modelli Anthropic Claude con Gemini Enterprise Agent Platform, devi eseguire i seguenti passaggi. L'API Agent Platform (aiplatform.googleapis.com) deve essere abilitata per utilizzare Gemini Enterprise Agent Platform. Se hai già un progetto esistente con l'API Agent Platform abilitata, puoi utilizzare questo progetto anziché crearne uno nuovo.

Assicurati di disporre delle autorizzazioni necessarie per attivare e utilizzare i modelli partner. Per maggiori informazioni, vedi Concedere le autorizzazioni richieste.

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Enable the Gemini Enterprise Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  4. Vai a una delle seguenti schede del modello Model Garden e fai clic su Abilita:

Anthropic consiglia di abilitare il logging di 30 giorni dell'attività di prompt e completamento per registrare eventuali utilizzi impropri del modello. Per abilitare il logging, consulta Registrare richieste e risposte.

Utilizza l'SDK Anthropic

Puoi effettuare richieste API ai modelli Anthropic Claude utilizzando l'Anthropic Claude SDK. Per saperne di più, consulta quanto segue:

Effettua una chiamata di streaming a un modello Claude utilizzando l'SDK Anthropic Vertex

Il seguente esempio di codice utilizza l'SDK Anthropic Vertex per eseguire una chiamata di streaming a un modello Claude.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la Python documentazione di riferimento dell'API.

L'esempio seguente utilizza endpoint regionali. Per utilizzare l'endpoint multiregionale o globale, consulta Specificare l'endpoint multiregionale o Specificare l'endpoint globale.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

from anthropic import AnthropicVertex

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
result = []

with client.messages.stream(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "Send me a recipe for banana bread.",
        }
    ],
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)
        result.append(text)

# Example response:
# Here's a simple recipe for delicious banana bread:
# Ingredients:
# - 2-3 ripe bananas, mashed
# - 1/3 cup melted butter
# ...
# ...
# 8. Bake for 50-60 minutes, or until a toothpick inserted into the center comes out clean.
# 9. Let cool in the pan for a few minutes, then remove and cool completely on a wire rack.

Fai una chiamata unaria a un modello Claude utilizzando l'SDK Vertex di Anthropic

Il seguente esempio di codice utilizza l'SDK Vertex di Anthropic per eseguire una chiamata unaria a un modello Claude.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la Python documentazione di riferimento dell'API.

L'esempio seguente utilizza endpoint regionali. Per utilizzare l'endpoint multiregionale o globale, consulta Specificare l'endpoint multiregionale o Specificare l'endpoint globale.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

from anthropic import AnthropicVertex

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
message = client.messages.create(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": "Send me a recipe for banana bread.",
        }
    ],
)
print(message.model_dump_json(indent=2))
# Example response:
# {
#   "id": "msg_vrtx_0162rhgehxa9rvJM5BSVLZ9j",
#   "content": [
#     {
#       "text": "Here's a simple recipe for delicious banana bread:\n\nIngredients:\n- 2-3 ripe bananas...
#   ...

Utilizzare un comando curl

Puoi utilizzare un comando curl per effettuare una richiesta all'endpoint Gemini Enterprise Agent Platform. Il comando curl specifica il modello Claude supportato che vuoi utilizzare.

L'argomento seguente mostra come creare un comando curl e include un esempio di comando curl.

REST

Per testare un prompt testuale utilizzando l'API Agent Platform, invia una richiesta POST all'endpoint del modello del publisher.

L'esempio seguente utilizza endpoint regionali. Per utilizzare l'endpoint multiregionale o globale, consulta Specificare l'endpoint multiregionale o Specificare l'endpoint globale.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • LOCATION: una regione che supporta i modelli Anthropic Claude. Per utilizzare l'endpoint globale, consulta Specificare l'endpoint globale.
  • MODEL: il nome del modello che vuoi utilizzare.
  • ROLE: Il ruolo associato a un messaggio. Puoi specificare un user o un assistant. Il primo messaggio deve utilizzare il ruolo user. I modelli Claude operano con turni alternati di user e assistant. Se il messaggio finale utilizza il ruolo assistant, i contenuti della risposta continuano immediatamente da quelli del messaggio. Puoi utilizzare questo parametro per vincolare una parte della risposta del modello.
  • STREAM: un valore booleano che specifica se la risposta viene trasmessa in streaming o meno. Trasmetti in streaming la risposta per ridurre la percezione della latenza di utilizzo finale. Imposta su true per trasmettere in streaming la risposta e false per restituire la risposta tutta in una volta.
  • CONTENT: i contenuti, ad esempio il testo, del messaggio user o assistant.
  • MAX_TOKENS: il numero massimo di token che possono essere generati nella risposta. Un token equivale a circa 3,5 caratteri. 100 token corrispondono a circa 60-80 parole.

    Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.

  • TOP_P (facoltativo): Top-P cambia il modo in cui il modello seleziona i token per l'output. I token vengono selezionati dal più probabile al meno probabile finché la somma delle loro probabilità non corrisponde al valore di Top-P. Ad esempio, se i token A, B e C hanno una probabilità di 0,3, 0,2 e 0,1 e il valore di top-P è 0.5, il modello seleziona A o B come token successivo utilizzando la temperatura ed esclude C come candidato.

    Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.

  • TOP_K(Facoltativo): Top-K cambia il modo in cui il modello seleziona i token per l'output. Un top-K pari a 1 indica che il token successivo selezionato è il più probabile tra tutti i token nel vocabolario del modello (chiamato anche decodifica greedy). Un top-K pari a 3 indica, invece, che il token successivo viene selezionato tra i tre token più probabili (utilizzando la temperatura).

    Per ogni fase di selezione dei token, vengono campionati i token Top-K con le probabilità più alte. Quindi i token vengono ulteriormente filtrati in base a top-P e il token finale viene selezionato utilizzando il campionamento con temperatura.

    Specifica un valore più basso per risposte meno casuali e un valore più alto per risposte più casuali.

  • TYPE: per Claude 3.7 Sonnet su Google Cloud e modelli Claude successivi, per attivare la modalità di pensiero esteso, specifica enabled.
  • BUDGET_TOKENS: se attivi il pensiero esteso, devi specificare il numero di token che il modello può utilizzare per il suo ragionamento interno come parte dell'output. Budget più elevati possono consentire un'analisi più approfondita per problemi complessi e migliorare la qualità delle risposte. Devi specificare un valore maggiore o uguale a 1024 ma inferiore a MAX_TOKENS.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict

Corpo JSON della richiesta:

{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [
   {
    "role": "ROLE",
    "content": "CONTENT"
   }],
  "max_tokens": MAX_TOKENS,
  "stream": STREAM,
  "thinking": {
    "type": "TYPE",
    "budget_tokens": BUDGET_TOKENS
  }
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:streamRawPredict" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente.

Comando curl di esempio

MODEL_ID="MODEL"
LOCATION="us-central1"
PROJECT_ID="PROJECT_ID"

curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/anthropic/models/${MODEL_ID}:streamRawPredict -d \
'{
  "anthropic_version": "vertex-2023-10-16",
  "messages": [{
    "role": "user",
    "content": "Hello!"
  }],
  "max_tokens": 50,
  "stream": true}'

Utilizzo degli strumenti (chiamata di funzione)

I modelli Anthropic Claude supportano strumenti e chiamate di funzione per migliorare le funzionalità di un modello. Per saperne di più, consulta la panoramica sull'utilizzo dello strumento nella documentazione di Anthropic. I modelli Claude su Gemini Enterprise Agent Platform supportano gli strumenti client, ma non gli strumenti server.

I seguenti esempi mostrano come utilizzare gli strumenti utilizzando un SDK o il comando curl. Gli esempi cercano ristoranti aperti nelle vicinanze di San Francisco.

Python

Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la Python documentazione di riferimento dell'API.

L'esempio seguente utilizza endpoint regionali. Per utilizzare l'endpoint multiregionale o globale, consulta Specificare l'endpoint multiregionale o Specificare l'endpoint globale.
# TODO(developer): Vertex AI SDK - uncomment below & run
# pip3 install --upgrade --user google-cloud-aiplatform
# gcloud auth application-default login
# pip3 install -U 'anthropic[vertex]'
from anthropic import AnthropicVertex

# TODO(developer): Update and un-comment below line
# PROJECT_ID = "your-project-id"

client = AnthropicVertex(project_id=PROJECT_ID, region="us-east5")
message = client.messages.create(
    model="claude-3-5-sonnet-v2@20241022",
    max_tokens=1024,
    tools=[
        {
            "name": "text_search_places_api",
            "description": "returns information about a set of places based on a string",
            "input_schema": {
                "type": "object",
                "properties": {
                    "textQuery": {
                        "type": "string",
                        "description": "The text string on which to search",
                    },
                    "priceLevels": {
                        "type": "array",
                        "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
                    },
                    "openNow": {
                        "type": "boolean",
                        "description": "whether those places are open for business.",
                    },
                },
                "required": ["textQuery"],
            },
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "What are some affordable and good Italian restaurants open now in San Francisco??",
        }
    ],
)
print(message.model_dump_json(indent=2))
# Example response:
# {
#   "id": "msg_vrtx_018pk1ykbbxAYhyWUdP1bJoQ",
#   "content": [
#     {
#       "text": "To answer your question about affordable and good Italian restaurants
#       that are currently open in San Francisco....
# ...

REST

L'esempio seguente utilizza endpoint regionali. Per utilizzare l'endpoint multiregionale o globale, consulta Specificare l'endpoint multiregionale o Specificare l'endpoint globale.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • LOCATION: una regione che supporta i modelli Anthropic Claude. Per utilizzare l'endpoint globale, consulta Specificare l'endpoint globale.
  • MODEL: il nome del modello da utilizzare.
  • ROLE: Il ruolo associato a un messaggio. Puoi specificare un user o un assistant. Il primo messaggio deve utilizzare il ruolo user. I modelli Claude operano con turni alternati di user e assistant. Se il messaggio finale utilizza il ruolo assistant, i contenuti della risposta continuano immediatamente da quelli del messaggio. Puoi utilizzare questo parametro per vincolare una parte della risposta del modello.
  • STREAM: un valore booleano che specifica se la risposta viene trasmessa in streaming o meno. Trasmetti in streaming la risposta per ridurre la percezione della latenza di utilizzo finale. Imposta true per trasmettere in streaming la risposta e false per restituire la risposta tutta in una volta.
  • CONTENT: i contenuti, ad esempio il testo, del messaggio user o assistant.
  • MAX_TOKENS: Numero massimo di token che possono essere generati nella risposta. Un token equivale a circa 3,5 caratteri. 100 token corrispondono a circa 60-80 parole.

    Specifica un valore più basso per risposte più brevi e un valore più alto per risposte potenzialmente più lunghe.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict

Corpo JSON della richiesta:


{
  "anthropic_version": "vertex-2023-10-16",
  "max_tokens": MAX_TOKENS,
  "stream": STREAM,
  "tools": [
    {
      "name": "text_search_places_api",
      "description": "Returns information about a set of places based on a string",
      "input_schema": {
        "type": "object",
        "properties": {
          "textQuery": {
            "type": "string",
            "description": "The text string on which to search"
          },
          "priceLevels": {
            "type": "array",
            "description": "Price levels to query places, value can be one of [PRICE_LEVEL_INEXPENSIVE, PRICE_LEVEL_MODERATE, PRICE_LEVEL_EXPENSIVE, PRICE_LEVEL_VERY_EXPENSIVE]",
          },
          "openNow": {
            "type": "boolean",
            "description": "Describes whether a place is open for business at
            the time of the query."
          },
        },
        "required": ["textQuery"]
      }
    }
  ],
  "messages": [
    {
      "role": "user",
      "content": "What are some affordable and good Italian restaurants that are open now in San Francisco??"
    }
  ]
}

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict"

PowerShell

Salva il corpo della richiesta in un file denominato request.json, quindi esegui il comando seguente:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/anthropic/models/MODEL:rawPredict" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente.

Utilizzare Agent Studio su Gemini Enterprise Agent Platform

Per alcuni modelli Anthropic Claude, puoi utilizzare Agent Studio su Gemini Enterprise Agent Platform per prototipare e testare rapidamente modelli di AI generativa nella console Cloud de Confiance . Ad esempio, puoi utilizzare Agent Studio sulla piattaforma agentica Gemini Enterprise per confrontare le risposte del modello Claude con altri modelli supportati come Google Gemini.

Per saperne di più, consulta Guida rapida: invia prompt di testo a Gemini utilizzando Agent Studio sulla piattaforma agentica Gemini Enterprise.