Meta Llama modelos - 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á.

Meta Llama modelos

Esta seção descreve os parâmetros de solicitação e os campos de resposta para Meta Llama modelos. Use essas informações para fazer chamadas de inferência para Meta Llama modelos com as operações InvokeModele InvokeModelWithResponseStream(streaming). Esta seção também inclui Python exemplos de código que mostram como chamar Meta Llama modelos. Para usar um modelo em uma operação de inferência, você precisa do ID do modelo. Para obter o ID do modelo, consulteModelo Amazon Bedrock IDs. Alguns modelos também funcionam com o Converse. API Para verificar se o Converse API suporta um específico Meta Llama modelo, vejaModelos e recursos do modelo compatíveis. Para obter mais exemplos de código, consulteExemplos de código para o Amazon Bedrock usando AWS SDKs.

Os modelos Foundation no Amazon Bedrock oferecem suporte às modalidades de entrada e saída, que variam de modelo para modelo. Para verificar as modalidades que Meta Llama suporte de modelos, consulteModelos de base compatíveis com o Amazon Bedrock. Para verificar qual Amazon Bedrock apresenta o Meta Llama suporte de modelos, consulteSuporte de modelo por recurso. Para verificar quais AWS regiões que Meta Llama os modelos estão disponíveis em, consulteSuporte de modelo por AWS região.

Quando você faz chamadas de inferência com Meta Llama modelos, você inclui uma solicitação para o modelo. Para obter informações gerais sobre a criação de prompts para os modelos que o Amazon Bedrock suporta, consulte. Conceitos de engenharia rápidos Para Meta Llama informações imediatas específicas, consulte o Meta Llama guia de engenharia rápido.

nota

Llama 3.2 Instruct os modelos usam geofencing. Isso significa que esses modelos não podem ser usados fora das AWS regiões disponíveis para esses modelos listados na tabela Regiões.

Esta seção fornece informações para o uso dos seguintes modelos da Meta.

  • Llama 2

  • Llama 2 Chat

  • Llama 3 Instruct

  • Llama 3.1 Instruct

  • Llama 3.2 Instruct

Solicitação e resposta

O corpo da solicitação é passado no body campo de uma solicitação para InvokeModelou InvokeModelWithResponseStream.

Request

Llama 2 Chat, Llama 2, Llama 3 Instruct, Llama 3.1 Instruct e Llama 3.2 Instruct os modelos têm os seguintes parâmetros de inferência.

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

NOTE: Os modelos Llama 3.2 são adicionados images à estrutura da solicitação, que é uma lista de strings. Exemplo: images: Optional[List[str]]

Veja a seguir os parâmetros necessários.

  • prompt — (Obrigatório) O prompt que você deseja passar para o modelo. Com Llama 2 Chat, formate a conversa com o modelo a seguir.

    <|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|>

    As instruções entre os <<SYS>> tokens fornecem uma solicitação do sistema para o modelo. Veja a seguir um exemplo de prompt que inclui um prompt do sistema.

    <s>[INST] <<SYS>> You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information. <</SYS>> There's a llama in my garden What should I do? [/INST]

    Para obter mais informações, consulte.

Veja a seguir os parâmetros opcionais.

  • temperatura — Use um valor menor para diminuir a aleatoriedade 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

    2048

Response

Llama 2 Chat, Llama 2 e Llama 3 Instruct os modelos retornam os seguintes campos para uma chamada de inferência de conclusão 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 abaixo.

  • geração — 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 tentar novamente.

Código de exemplo

Este exemplo mostra como chamar o Meta Llama 2 Chat Modelo 13B.

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 """ Shows how to generate text with Meta Llama 2 Chat (on demand). """ import json import logging import boto3 from botocore.exceptions import ClientError logger = logging.getLogger(__name__) logging.basicConfig(level=logging.INFO) def generate_text(model_id, body): """ Generate an image using Meta Llama 2 Chat on demand. Args: model_id (str): The model ID to use. body (str) : The request body to use. Returns: response (JSON): The text that the model generated, token information, and the reason the model stopped generating text. """ logger.info("Generating image with Meta Llama 2 Chat model %s", model_id) bedrock = boto3.client(service_name='bedrock-runtime') response = bedrock.invoke_model( body=body, modelId=model_id) response_body = json.loads(response.get('body').read()) return response_body def main(): """ Entrypoint for Meta Llama 2 Chat example. """ logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s") model_id = "meta.llama2-13b-chat-v1" prompt = """<s>[INST] <<SYS>> You are a helpful, respectful and honest assistant. Always answer as helpfully as possible, while being safe. Your answers should not include any harmful, unethical, racist, sexist, toxic, dangerous, or illegal content. Please ensure that your responses are socially unbiased and positive in nature. If a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information. <</SYS>> There's a llama in my garden What should I do? [/INST]""" max_gen_len = 128 temperature = 0.1 top_p = 0.9 # Create request body. body = json.dumps({ "prompt": prompt, "max_gen_len": max_gen_len, "temperature": temperature, "top_p": top_p }) try: response = generate_text(model_id, body) print(f"Generated Text: {response['generation']}") print(f"Prompt Token count: {response['prompt_token_count']}") print(f"Generation Token count: {response['generation_token_count']}") print(f"Stop reason: {response['stop_reason']}") except ClientError as err: message = err.response["Error"]["Message"] logger.error("A client error occurred: %s", message) print("A client error occured: " + format(message)) else: print( f"Finished generating text with Meta Llama 2 Chat model {model_id}.") if __name__ == "__main__": main()