Meta Llama modelos - Amazon Bedrock

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Meta Llama modelos

En esta sección se proporcionan parámetros de inferencia y un ejemplo de código para utilizar los siguientes modelos de Meta.

  • Llama 2

  • Llama 2 Chat

  • Llama 3 Instruct

  • Llama 3.1 Instruct

Realiza solicitudes de inferencia a Meta Llama modelos con InvokeModelo InvokeModelWithResponseStream(streaming). Necesitará el ID de modelo del modelo que desee utilizar. Para obtener el identificador del modelo, consulteModelo Amazon Bedrock IDs.

Solicitud y respuesta

El cuerpo de la solicitud se pasa en el body campo de una solicitud a InvokeModelo InvokeModelWithResponseStream.

Request

Llama 2 Chat, Llama 2, Llama 3 Instruct y Llama 3.1 Instruct los modelos tienen los siguientes parámetros de inferencia.

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

Los siguientes parámetros son obligatorios.

  • prompt: (obligatorio) El mensaje que desea pasar al modelo. Con Llama 2 Chat, formatea la conversación con la siguiente plantilla.

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

    Las instrucciones entre los <<SYS>> símbolos proporcionan un mensaje de sistema para el modelo. El siguiente es un ejemplo de mensaje que incluye un mensaje del 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 obtener más información, consulte lo siguiente.

Los siguientes son parámetros opcionales.

  • temperatura: utilice un valor más bajo para disminuir la aleatoriedad de la respuesta.

    Predeterminado Mínimo Máximo

    0,5

    0

    1

  • top_p — Usa un valor más bajo para ignorar las opciones menos probables. Configúrelo en 0 o 1,0 para deshabilitarlo.

    Predeterminado Mínimo Máximo

    0.9

    0

    1

  • max_gen_len: especifique la cantidad máxima de fichas que se utilizarán en la respuesta generada. El modelo trunca la respuesta una vez que el texto generado excede max_gen_len.

    Predeterminado Mínimo Máximo

    512

    1

    2048

Response

Llama 2 Chat, Llama 2, y Llama 3 Instruct los modelos devuelven los siguientes campos para una llamada de inferencia para completar el texto.

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

A continuación, se proporciona más información sobre cada campo.

  • generación: el texto generado.

  • prompt_token_count: el número de fichas de la solicitud.

  • generation_token_count: el número de fichas en el texto generado.

  • stop_reason: el motivo por el que la respuesta dejó de generar texto. Los valores posibles son los siguientes:

    • detener: el modelo ha terminado de generar texto para la solicitud de entrada.

    • longitud: la longitud de los símbolos del texto generado supera el valor de max_gen_len en la llamada a InvokeModel (InvokeModelWithResponseStream, si está transmitiendo la salida). La respuesta se trunca en tokens max_gen_len. Considere la posibilidad de aumentar el valor de max_gen_len y volver a intentarlo.

Código de ejemplo

En este ejemplo se muestra cómo llamar al 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()