Anthropic Claude 텍스트 완료 API - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Anthropic Claude 텍스트 완료 API

이 섹션에서는 를 사용하기 위한 추론 파라미터 및 코드 예제를 제공합니다.Anthropic Claude 텍스트 완료 가 있는 모델. API

Anthropic Claude 텍스트 완료 API 개요

사용자가 제공한 프롬프트에서 한 번 턴 텍스트 생성을 API 위해 텍스트 완료를 사용합니다. 예를 들어 텍스트 완료를 사용하여 블로그 게시물API에 대한 텍스트를 생성하거나 사용자의 텍스트 입력을 요약할 수 있습니다.

에 대한 프롬프트 생성에 대한 자세한 내용은 Anthropic Claude 모델, 프롬프트 설계 소개를 참조하세요. 에서 기존 텍스트 완료 프롬프트를 사용하려면 텍스트 완료에서 마이그레이션을 Anthropic Claude 메시지 API참조하세요. https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages

지원되는 모델

텍스트 완료는 다음과 API 함께 사용할 수 있습니다.Anthropic Claude 모델.

  • Anthropic Claude Instant v1.2

  • Anthropic Claude v2

  • Anthropic Claude v2.1

요청 및 응답

요청 본문은 InvokeModel 또는 에 대한 요청 body 필드에 전달됩니다InvokeModelWithResponseStream.

자세한 내용은 의 https://docs.anthropic.com/claude/reference/complete_post를 참조하세요.Anthropic Claude .

Request

Anthropic Claude 에는 텍스트 완료 추론 호출에 대한 다음 추론 파라미터가 있습니다.

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

다음은 필수 파라미터입니다.

  • 프롬프트 – (필수) Claude가 완료되도록 하려는 프롬프트입니다. 적절한 응답 생성을 위해 교대 \n\nHuman:\n\nAssistant: 대화형 턴을 사용하여 프롬프트를 포맷해야 합니다. 예:

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

    자세한 내용은 의 프롬프트 검증을 참조하세요.Anthropic Claude .

  • max_tokens_to_sample – (필수) 중지하기 전에 생성할 최대 토큰 수입니다. 최적의 성능을 위해 토큰을 4,000개로 제한하는 것이 좋습니다.

    참고로 Anthropic Claude 모델은 값에 도달하기 전에 토큰 생성을 중지할 수 있습니다max_tokens_to_sample. Different Anthropic Claude 모델마다 이 파라미터의 최대값이 다릅니다. 자세한 내용은 의 모델 비교를 참조하세요.Anthropic Claude .

    기본값 최소 Maximum

    200

    0

    4096

다음 파라미터는 선택 사항입니다.

  • stop_sequences – (선택 사항) 모델 생성을 중지하는 시퀀스입니다.

    Anthropic Claude 모델은 에서 중지"\n\nHuman:"되며 향후 추가 내장 중지 시퀀스가 포함될 수 있습니다. stop_sequences 추론 파라미터를 사용하여 모델이 텍스트 생성을 중지하도록 신호를 보내는 추가 문자열을 포함합니다.

  • 온도 – (선택 사항) 응답에 주입되는 무작위의 양입니다. 분석/다중 선택의 경우 0에 가까운 값을 사용하고, 창의적이고 생성적인 작업의 경우 1에 가까운 값을 사용합니다.

    기본값 최소 Maximum

    1

    0

    1

  • top_p – (선택 사항) 핵 샘플링을 사용합니다.

    핵 샘플링에서는 Anthropic Claude 는 각 후속 토큰의 모든 옵션에 대한 누적 분포를 확률 내림차순으로 계산하고 에서 지정한 특정 확률에 도달하면 잘라냅니다top_p. temperature 또는 를 변경해야 top_p하지만 둘 다 변경해서는 안 됩니다.

    기본값 최소 Maximum

    1

    0

    1

  • top_k – (선택 사항) 각 후속 토큰에 대한 상위 K 옵션의 샘플만.

    top_k 를 사용하여 긴 꼬리 낮은 확률 응답을 제거합니다.

    기본값 최소 Maximum

    250

    0

    500

Response

는 Anthropic Claude 모델은 텍스트 완료 추론 호출에 대해 다음 필드를 반환합니다.

{ "completion": string, "stop_reason": string, "stop": string }
  • 완료 - 중지 시퀀스까지 및 중지 시퀀스를 제외한 결과 완료입니다.

  • stop_reason - 모델이 응답 생성을 중단한 이유입니다.

    • stop_sequence” – 모델이 stop_sequences 추론 파라미터와 함께 제공된 중지 시퀀스 또는 모델에 내장된 중지 시퀀스에 도달했습니다.

    • max_tokens” – 모델이 초과max_tokens_to_sample되었거나 모델의 최대 토큰 수입니다.

  • stop - stop_sequences 추론 파라미터를 지정하는 경우 에는 모델이 텍스트 생성을 중지하도록 신호를 보내는 중지 시퀀스가 stop 포함되어 있습니다. 예를 들어, 다음 응답holes에서.

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

    를 지정하지 않으면 stop_sequences의 값이 비어 stop 있습니다.

코드 예제

이 예제에서는 를 호출하는 방법을 보여줍니다. Anthropic Claude 온디맨드 처리량이 있는 V2 모델. 사용하려면 Anthropic Claude 버전 2.1에서 값을 modelId로 변경합니다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'))

다음 예제에서는 프롬프트를 사용하여 Python으로 스트리밍 텍스트를 생성하는 방법을 보여줍니다.write an essay for living on mars in 1000 words 및 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()))