API de Text Completions de Anthropic Claude - 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.

API de Text Completions de Anthropic Claude

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

Descripción general de la API de Text Completions de Anthropic Claude

Use la API de Text Completion para generar texto en un solo turno a partir de una petición proporcionada por el usuario. Por ejemplo, puede usar la API de Text Completion 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 modelos de Anthropic Claude, consulte Introduction to prompt design. Si desea utilizar las peticiones de Text Completions existentes con las API de Messages de Anthropic Claude, consulte Migrando desde Completaciones de Texto.

Modelos compatibles

Puede usar la API de Text Completions con los siguientes modelos de Anthropic Claude.

  • Anthropic Claude Instant v1.2

  • Anthropic Claude v2

  • Anthropic Claude v2.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, consulta https://docs.anthropic.com/claude/reference/complete_post en la documentación. Anthropic Claude

Request

Anthropic Claude tiene los siguientes parámetros de inferencia para realizar una llamada de inferencia de Text Completion.

{ "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) es la petición que desea que complete Claude. Para generar una respuesta adecuada, debe formatear la petición alternando los turnos conversacionales \n\nHuman: y \n\nAssistant:. Por ejemplo:

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

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

  • max_tokens_to_sample: (obligatorio) número máximo de tokens a generar antes de realizar paradas. Recomendamos un límite de 4000 tokens para un rendimiento óptimo.

    Tenga en cuenta que es posible que los modelos Anthropic Claude dejen de generar tokens antes de alcanzar el valor de max_tokens_to_sample. Los distintos modelos de Anthropic Claude tienen valores máximos diferentes para este parámetro. Para obtener más información, consulte la comparativa de modelos proporcionada en la documentación de Anthropic Claude.

    Predeterminado/a Mínimo Máximo

    200

    0

    4096

Los siguientes son parámetros opcionales.

  • stop_sequence: (opcional) secuencias que harán que el modelo deje de generar.

    Los modelos de Anthropic Claude se detienen en "\n\nHuman:" y es posible que en el futuro incluyan secuencias de parada adicionales. Utilice el parámetro de inferencia stop_sequences para incluir cadenas adicionales que indiquen al modelo que deje de generar texto.

  • temperature: (opcional) la cantidad de asignación al azar 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/a 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 cuando alcanza una probabilidad determinada especificada por top_p. Debe modificar temperature o top_p, pero no ambos.

    Predeterminado/a Mínimo Máximo

    1

    0

    1

  • top_k: (opcional) solo una muestra de las opciones K superior para cada token subsiguiente.

    Use top_k para eliminar las respuestas de baja probabilidad de cola larga.

    Predeterminado/a Mínimo Máximo

    250

    0

    500

Response

El modelo Anthropic Claude devuelve los siguientes campos para realizar una llamada de inferencia de Text Completion.

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

  • stop_reason: motivo por el que el modelo ha dejado de generar la respuesta.

    • “stop_sequence”: el modelo ha alcanzado una secuencia de parada, ya sea proporcionada por usted con el parámetro de inferencia stop_sequences o una secuencia de parada integrada en el modelo.

    • “max_tokens”: el modelo ha superado max_tokens_to_sample o el número máximo de tokens del modelo.

  • stop: si especifica el parámetro de inferencia de stop_sequences, stop contiene la secuencia de parada que ha indicado al modelo que deje 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 especifica stop_sequences, el valor de stop estará vacío.

Ejemplo de código

En estos ejemplos se muestra cómo llamar al modelo Anthropic Claude V2 con un rendimiento bajo demanda. Para usar la versión 2.1 de Anthropic Claude, cambie el valor de modelId a anthropic.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 línea de comandos write an essay for living on mars in 1000 words 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()))