Modelos Llama da Meta - Amazon Bedrock

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modelos Llama da Meta

Esta seção descreve os parâmetros de solicitação e os campos de resposta dos modelos Llama da Meta. Use essas informações para fazer chamadas de inferência a modelos Llama da Meta com as operações InvokeModel e InvokeModelWithResponseStream (streaming). Esta seção também inclui exemplos de código do Python que mostram como chamar modelos Llama da Meta. Para usar um modelo em uma operação de inferência, o ID do modelo é necessário. Para obter o ID do modelo, consulte Modelos de base compatíveis no Amazon Bedrock. Alguns modelos também funcionam com a API Converse. Para verificar se a API Converse pode ser usada em um modelo Llama da Meta específico, consulte Modelos compatíveis e recursos do modelo. Para obter mais exemplos de código, consulte Exemplos de código para o Amazon Bedrock usando AWS SDKs.

Os modelos de base no Amazon Bedrock são compatíveis com as modalidades de entrada e saída, que variam de modelo para modelo. Para verificar as modalidades compatíveis com os modelos Llama da Meta, consulte Modelos de base compatíveis no Amazon Bedrock. Para verificar quais recursos do Amazon Bedrock são compatíveis com os modelos Llama da Meta, consulte Modelos de base compatíveis no Amazon Bedrock. Para verificar em quais regiões da AWS esses modelos Llama da Meta estão disponíveis, consulte Modelos de base compatíveis no Amazon Bedrock.

Ao fazer chamadas de inferência com modelos Llama da Meta, inclua um prompt para o modelo. Para obter informações gerais sobre como criar prompts para os modelos compatíveis com o Amazon Bedrock, consulte Conceitos de engenharia de prompts. Para obter informações de prompts específicos do Llama da Meta, consulte o MetaLlama prompt engineering guide.

nota

Os modelos Llama 3.2 Instruct e Llama 3.3 Instruct usam cercas geográficas. Isso significa que esses modelos não podem ser usados fora das regiões da AWS disponíveis para esses modelos listados na tabela Regiões.

Esta seção fornece informações sobre como usar os modelos da Meta a seguir.

  • Llama 3 Instruct

  • Llama 3.1 Instruct

  • Llama 3.2 Instruct

  • Llama 3.3 Instruct

  • Llama 4 Instruct

Solicitação e reposta

O corpo da solicitação é enviado no campo body de uma solicitação para InvokeModel ou InvokeModelWithResponseStream.

nota

Não é possível usar as operações (streaming) InvokeModelWithResponseStream ou ConverseStream (streaming) com o Llama 4 Instruct.

Request

Os modelos Llama 3 Instruct, Llama 3.1 Instruct, Llama 3.2 Instruct e Llama 4 Instruct têm os seguintes parâmetros de inferência:

{ "prompt": string, "temperature": float, "top_p": float, "max_gen_len": int }

OBSERVAÇÃO: os modelos Llama 3.2 e posteriores adicionam images à estrutura da solicitação, que é uma lista de strings. Exemplo: images: Optional[List[str]]

Os seguintes parâmetros são obrigatórios:

  • prompt: (obrigatório) o prompt que você deseja passar para o modelo. Para obter os melhores resultados, formate a conversa com o modelo a seguir.

    <|begin_of_text|><|start_header_id|>user<|end_header_id|> What can you help me with?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    Modelo de exemplo com prompt do sistema

    Veja a seguir um exemplo de prompt que inclui um prompt do sistema.

    <|begin_of_text|><|start_header_id|>system<|end_header_id|> You are a helpful AI assistant for travel tips and recommendations<|eot_id|><|start_header_id|>user<|end_header_id|> What can you help me with?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    Exemplo de conversa de vários turnos

    Veja a seguir um exemplo de prompt de uma conversa de vários turnos.

    <|begin_of_text|><|start_header_id|>user<|end_header_id|> What is the capital of France?<|eot_id|><|start_header_id|>assistant<|end_header_id|> The capital of France is Paris!<|eot_id|><|start_header_id|>user<|end_header_id|> What is the weather like in Paris?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    Modelo de exemplo com prompt do sistema

    Para ter mais informações, consulte Meta Llama 3.

Veja os seguintes parâmetros opcionais:

  • temperature: use um valor menor para reduzir a randomização na resposta.

    Padrão Mínimo Máximo

    0,5

    0

    1

  • top_p: use um valor menor para ignorar opções menos prováveis. Defina como 0 ou 1,0 para desabilitar.

    Padrão Mínimo Máximo

    0.9

    0

    1

  • max_gen_len: especifique o número máximo de tokens a serem usados na resposta gerada. O modelo trunca a resposta quando o texto gerado excede max_gen_len.

    Padrão Mínimo Máximo

    512

    1

    2.048

Response

Os modelos Llama 3 Instruct exibem os campos a seguir para uma chamada de inferência de preenchimento de texto.

{ "generation": "\n\n<response>", "prompt_token_count": int, "generation_token_count": int, "stop_reason" : string }

Mais informações sobre cada campo são fornecidas a seguir.

  • generation: o texto gerado.

  • prompt_token_count: o número de tokens no prompt.

  • generation_token_count: o número de tokens no texto gerado.

  • stop_reason: o motivo pelo qual a resposta parou de gerar texto. Os valores possíveis são:

    • interromper: o modelo terminou de gerar texto para o prompt de entrada.

    • comprimento: o comprimento dos tokens do texto gerado excede o valor de max_gen_len na chamada para InvokeModel (InvokeModelWithResponseStream, se você estiver transmitindo uma saída). A resposta é truncada em tokens max_gen_len. Considere aumentar o valor de max_gen_len e tente novamente.

Código de exemplo

Este exemplo mostra como chamar o modelo Llama 3 Instruct.

# Use the native inference API to send a text message to Meta Llama 3. import boto3 import json from botocore.exceptions import ClientError # Create a Bedrock Runtime client in the Região da AWS of your choice. client = boto3.client("bedrock-runtime", region_name="us-west-2") # Set the model ID, e.g., Llama 3 70b Instruct. model_id = "meta.llama3-70b-instruct-v1:0" # Define the prompt for the model. prompt = "Describe the purpose of a 'hello world' program in one line." # Embed the prompt in Llama 3's instruction format. formatted_prompt = f""" <|begin_of_text|><|start_header_id|>user<|end_header_id|> {prompt} <|eot_id|> <|start_header_id|>assistant<|end_header_id|> """ # Format the request payload using the model's native structure. native_request = { "prompt": formatted_prompt, "max_gen_len": 512, "temperature": 0.5, } # Convert the native request to JSON. request = json.dumps(native_request) try: # Invoke the model with the request. response = client.invoke_model(modelId=model_id, body=request) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) # Extract and print the response text. response_text = model_response["generation"] print(response_text)

Este exemplo mostra como controlar a duração da geração usando modelos Llama 3 Instruct. Para obter respostas detalhadas ou resumos, ajuste “max_gen_len” e inclua instruções específicas no prompt.