AnthropicClaudeAPI de terminaciones de texto - 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.

AnthropicClaudeAPI de terminaciones de texto

En esta sección, se proporcionan parámetros de inferencia y ejemplos de código para usar Anthropic Claude modelos con la API Text Completions.

AnthropicClaudeDescripción general de la API Text Completions

Usa la API de finalización de textos para generar texto en un solo paso a partir de un mensaje proporcionado por el usuario. Por ejemplo, puedes usar la API de finalización de textos para generar texto para una entrada de blog o para resumir el texto introducido por un usuario.

Para obtener información sobre la creación de indicaciones para Anthropic Claude modelos, consulta Introducción al diseño de indicaciones. Si desea utilizar las instrucciones de finalización de texto existentes con lasAnthropicClaudeAPI de mensajes, consulte Migración desde terminaciones de texto.

Modelos compatibles

Puedes usar la API de terminaciones de texto con los siguientes modelos. Anthropic Claude

  • AnthropicClaudeInstantv1.2

  • AnthropicClaudev2

  • AnthropicClaudev2.1

Solicitud y respuesta

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

Para obtener más información, consulte https://docs.anthropic.com/claude/reference/complete_post en la Anthropic Claude documentación.

Request

AnthropicClaudetiene los siguientes parámetros de inferencia para una llamada de inferencia de finalización de texto.

{ "prompt": "\n\nHuman:<prompt>\n\nAssistant:", "temperature": float, "top_p": float, "top_k": int, "max_tokens_to_sample": int, "stop_sequences": [string] }

Los siguientes parámetros son obligatorios.

  • prompt: (obligatorio) El mensaje que desea que Claude complete. Para generar una respuesta adecuada, debe formatear el mensaje mediante turnos alternos \n\nHuman: y \n\nAssistant: conversacionales. Por ejemplo:

    "\n\nHuman: {userQuestion}\n\nAssistant:"

    Para obtener más información, consulte Validación rápida en la Anthropic Claude documentación.

  • max_tokens_to_sample: (obligatorio) la cantidad máxima de tokens que se deben generar antes de detenerse. Recomendamos un límite de 4000 tokens para un rendimiento óptimo.

    Tenga en cuenta que Anthropic Claude los modelos pueden dejar de generar fichas antes de alcanzar el valor de. max_tokens_to_sample AnthropicClaudeLos distintos modelos tienen valores máximos diferentes para este parámetro. Para obtener más información, consulte Comparación de modelos en la Anthropic Claude documentación.

    Predeterminado Mínimo Máximo

    200

    0

    4096

Los siguientes son parámetros opcionales.

  • stop_sequence: secuencias (opcionales) que harán que el modelo deje de generarse.

    AnthropicClaudelos modelos se "\n\nHuman:" detienen y pueden incluir secuencias de parada adicionales integradas en el futuro. Utilice el parámetro de stop_sequences inferencia para incluir cadenas adicionales que indiquen al modelo que deje de generar texto.

  • temperatura: (opcional) la cantidad de aleatoriedad que se inyecta en la respuesta. Utilice un valor más cercano a 0 para las tareas analíticas o de opción múltiple y un valor más cercano a 1 para las tareas creativas y generativas.

    Predeterminado Mínimo Máximo

    1

    0

    1

  • top_p — (opcional) Utilice el muestreo de núcleos.

    En el muestreo de núcleos, Anthropic Claude calcula la distribución acumulada entre todas las opciones de cada token subsiguiente en orden de probabilidad decreciente y la corta una vez que alcanza una probabilidad determinada especificada por. top_p Debe modificar una de las dos temperaturetop_p, pero no las dos.

    Predeterminado Mínimo Máximo

    1

    0

    1

  • top_k — (opcional) Muestra solo las K opciones principales para cada token subsiguiente.

    Se usa top_k para eliminar las respuestas de baja probabilidad de cola larga.

    Predeterminado Mínimo Máximo

    250

    0

    500

Response

El Anthropic Claude modelo devuelve los siguientes campos para una llamada de inferencia de finalización de texto.

{ "completion": string, "stop_reason": string, "stop": string }
  • finalización: la finalización resultante hasta y excluyendo las secuencias de paradas.

  • stop_reason: el motivo por el que el modelo dejó de generar la respuesta.

    • «stop_sequence»: el modelo alcanzó una secuencia de parada, ya sea proporcionada por usted con el parámetro de stop_sequences inferencia o una secuencia de paradas integrada en el modelo.

    • «max_tokens»: el modelo ha superado max_tokens_to_sample o ha superado el número máximo de fichas del modelo.

  • stop: si especifica el parámetro de stop_sequences inferencia, stop contiene la secuencia de parada que indicó al modelo que dejara de generar texto. Por ejemplo, holes en la siguiente respuesta.

    { "completion": " Here is a simple explanation of black ", "stop_reason": "stop_sequence", "stop": "holes" }

    Si no lo especificastop_sequences, el valor de stop está vacío.

Ejemplo de código

En estos ejemplos se muestra cómo llamar al modelo AnthropicClaudeV2 con un rendimiento bajo demanda. Para usar Anthropic Claude la versión 2.1, cambie el valor de modelId aanthropic.claude-v2:1.

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ "prompt": "\n\nHuman: explain black holes to 8th graders\n\nAssistant:", "max_tokens_to_sample": 300, "temperature": 0.1, "top_p": 0.9, }) modelId = 'anthropic.claude-v2' accept = 'application/json' contentType = 'application/json' response = brt.invoke_model(body=body, modelId=modelId, accept=accept, contentType=contentType) response_body = json.loads(response.get('body').read()) # text print(response_body.get('completion'))

El siguiente ejemplo muestra cómo generar texto en streaming con Python utilizando la petición escribir un ensayo para vivir en Marte de 1000 palabras y el modelo Anthropic Claude V2:

import boto3 import json brt = boto3.client(service_name='bedrock-runtime') body = json.dumps({ 'prompt': '\n\nHuman: write an essay for living on mars in 1000 words\n\nAssistant:', 'max_tokens_to_sample': 4000 }) response = brt.invoke_model_with_response_stream( modelId='anthropic.claude-v2', body=body ) stream = response.get('body') if stream: for event in stream: chunk = event.get('chunk') if chunk: print(json.loads(chunk.get('bytes').decode()))