Modelli di Llama


I modelli Llama su Vertex AI offrono modelli completamente gestiti e serverless come API. Per utilizzare un modello Llama su Vertex AI, invia una richiesta direttamente all'endpoint dell'API Vertex AI. Poiché I modelli Llama utilizzano un'API gestita, non è necessario eseguire il provisioning per gestire l'infrastruttura.

Puoi trasmettere le risposte in streaming per ridurre la percezione della latenza dell'utente finale. Una risposta in streaming utilizza gli eventi inviati dal server (SSE) per eseguire lo streaming incrementale della risposta.

Durante il periodo di anteprima non sono previsti costi. Se hai bisogno di pronto per la produzione, utilizza i modelli Llama self-hosted.

Modelli Llama disponibili

I seguenti modelli Llama sono disponibili da Meta per l'utilizzo in Vertex AI. Per accedere a un modello Llama, vai alla relativa Scheda del modello di Model Garden.

Lama 3.2

Llama 3.2 consente agli sviluppatori di creare ed eseguire il deployment dei più recenti modelli di IA generativa e delle applicazioni che utilizzano le funzionalità più recenti di Llama, come il ragionamento sulle immagini. Llama 3.2 è progettato anche per essere più accessibile per le applicazioni sul dispositivo.

Vai alla scheda del modello Llama 3.2

Considerazioni

Quando utilizzi llama-3.2-90b-vision-instruct-maas, non ci sono limitazioni per l'invio di prompt di solo testo. Se invece includi un'immagine nel prompt, quest'ultima deve essere all'inizio del prompt e puoi includere solo un'immagine. Ad esempio, non puoi includere del testo e poi un'immagine.

Llama 3.1

Llama 3.1 è un modello linguistico autoregressivo che utilizza una Transformer. Le versioni ottimizzate utilizzano l'ottimizzazione fine supervisionata (SFT) e l'apprendimento per rinforzo con feedback umano (RLHF) per allinearsi alle preferenze degli esseri umani in termini di utilità e sicurezza.

Vai alla scheda del modello Llama 3.1

Utilizza modelli Llama

Quando invii richieste per utilizzare i modelli di Llama, utilizza il seguente modello nomi:

  • Per Llama 3.2 90B (anteprima), utilizza llama-3.2-90b-vision-instruct-maas.
  • Per Llama 3.1 405B (anteprima), utilizza llama3-405b-instruct-maas.
  • Per Llama 3.1 70B (anteprima), utilizza llama3-70b-instruct-maas.
  • Per Llama 3.1 8B (anteprima), utilizza llama3-8b-instruct-maas.

Ti consigliamo di utilizzare le versioni del modello che includono un suffisso inizia con il simbolo @ a causa delle possibili differenze le versioni del modello. Se non specifichi una versione del modello, viene usata l'ultima versione sempre utilizzata, il che può inavvertitamente influire sui flussi di lavoro quando modifiche.

Prima di iniziare

Per utilizzare i modelli Llama con Vertex AI, devi eseguire i seguenti passaggi. Per utilizzare Vertex AI, è necessario attivare l'API Vertex AI (aiplatform.googleapis.com). Se hai già un progetto con il è abilitata l'API Vertex AI, puoi utilizzare questo progetto anziché creare un'istanza un nuovo progetto.

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

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. Vai a una delle seguenti schede dei modelli di Model Garden, quindi fai clic su attiva:

Effettuare una chiamata in modalità flusso a un modello Llama

L'esempio seguente effettua una chiamata in streaming a un modello Llama.

REST

Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta al publisher endpoint del modello.

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

  • LOCATION: una regione che supporta Modelli di Llama.
  • 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 funzionano con curve user e assistant alternate. Se il messaggio finale utilizza il ruolo assistant, i contenuti della risposta continuano immediatamente da quelli del messaggio. Puoi utilizzare la modalità questo per vincolare parte della risposta del modello.
  • CONTENT: i contenuti, ad esempio del messaggio user o assistant.
  • MAX_OUTPUT_TOKENS: Numero massimo di token che possono essere generati nella risposta. Un token è di circa quattro 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.

  • STREAM: un valore booleano che specifica se la risposta viene trasmessa in streaming o meno. Trasmetti la risposta in streaming per ridurre la percezione della latenza di utilizzo finale. Imposta su true per trasmettere la risposta in streaming e su false per restituirla tutta insieme.
  • ENABLE_LLAMA_GUARD: Un valore booleano che specifica se attivare Llama Guard sui tuoi input e come output. Per impostazione predefinita, Llama Guard è abilitato e segnala le risposte se vengono determina che non sono sicuri.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Corpo JSON della richiesta:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": true,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Per inviare la richiesta, scegli una delle seguenti 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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente.

Fai una chiamata unaria a un modello Llama

Nell'esempio seguente viene effettuata una chiamata unaria a un modello Llama.

REST

Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt di testo. Il seguente esempio invia una richiesta all'endpoint del modello del publisher.

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

  • LOCATION: una regione che supporta Modelli di Llama.
  • 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 usare il ruolo user. I modelli funzionano con curve user e assistant alternate. Se il messaggio finale utilizza il ruolo assistant, i contenuti della risposta continuano immediatamente da quelli del messaggio. Puoi usarli per limitare parte della risposta del modello.
  • CONTENT: i contenuti, ad esempio del messaggio user o assistant.
  • MAX_OUTPUT_TOKENS: Numero massimo di token che possono essere generati nella risposta. Un token è di circa quattro 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.

  • STREAM: un valore booleano che specifica se la risposta viene trasmessa in streaming o meno. Trasmetti la risposta in streaming per ridurre la percezione della latenza di utilizzo finale. Imposta su true per trasmettere la risposta in streaming e su false per restituirla tutta insieme.
  • ENABLE_LLAMA_GUARD: Un valore booleano che specifica se attivare Llama Guard sui tuoi input e come output. Per impostazione predefinita, Llama Guard è abilitato e segnala le risposte se vengono determina che non sono sicuri.

Metodo HTTP e URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

Corpo JSON della richiesta:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": false,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$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/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente.

Risposte segnalate

Per impostazione predefinita, Llama Guard è attivato per tutte le previsioni effettuate con i modelli Llama 3.1. Lama Guard aiuta a salvaguardare le risposte controllando gli input e come output. Se Lama Guard stabilisce che non sono sicuri, segnala la risposta.

Se vuoi disattivare Llama Guard, modifica l'impostazione di sicurezza del modello. Per ulteriori informazioni, consulta il campo model_safety_settings nell'esempio streaming o unario.

Disponibilità e quote per la regione del modello Llama

Per i modelli Llama, viene applicata una quota per ogni regione in cui il modello è disponibile. La quota è specificata in query al minuto (QPM).

Le regioni supportate, le quote predefinite e la lunghezza massima del contesto per ciascun Il modello Llama è elencato nelle seguenti tabelle:

Llama 3.2 90B (anteprima)

Regione Sistema di quote Lunghezza del contesto supportata
us-central1 30 Q/M 128.000 token

Llama 3.1 405B (anteprima)

Regione Sistema di quote Lunghezza del contesto supportata
us-central1 60 Q/M 128.000 token

Llama 3.1 70B (anteprima)

Regione Sistema di quote Lunghezza del contesto supportata
us-central1 60 Q/M 128.000 token

Llama 3.1 8B (anteprima)

Regione Sistema di quote Lunghezza del contesto supportata
us-central1 60 Q/M 128.000 token

Se vuoi aumentare una delle quote per l'AI generativa su Vertex AI, puoi utilizzare la console Google Cloud per richiedere un aumento di quota. Per scoprire di più sulle quote, consulta Utilizzo delle quote.