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á.
API Text Completions do Claude da Anthropic
Esta seção fornece parâmetros de inferência e exemplos de código para usar os modelos Claude da Anthropic com a API Text Completions.
Visão geral da API Text Completions do Claude da Anthropic
Use a API Text Completion para gerar texto de um único turno em um prompt fornecido pelo usuário. Por exemplo, é possível usar a API Text Completion para gerar texto para uma publicação de blog ou para resumir a entrada de texto de um usuário.
Para obter informações sobre a criação de prompts para modelos Claude da Anthropic, consulte Introduction to prompt design. Se quiser usar os prompts de Text Completions existentes com o Anthropic Claude Mensagens API, consulte Migrating from Text Completions.
Modelos compatíveis
É possível usar a API Text Completions com os modelos Claude da Anthropic a seguir.
Solicitação e reposta
O corpo da solicitação é enviado no campo body
de uma solicitação para InvokeModel ou InvokeModelWithResponseStream.
Para obter mais informações, consulte https://docs.anthropic.com/claude/reference/complete_post na documentação do Claude da Anthropic.
- Request
-
O Claude da Anthropic tem os parâmetros de inferência a seguir para uma chamada de inferência 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]
}
Veja a seguir os parâmetros necessários.
-
prompt: (obrigatório) o prompt que você deseja que o Claude conclua. Para gerar uma resposta adequada, formate o prompt usando a alternância de turnos de conversas \n\nHuman:
e \n\nAssistant:
. Por exemplo:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Para obter mais informações, consulte Prompt validation na documentação do Claude da Anthropic.
-
max_tokens_to_sample: (obrigatório) o número máximo de tokens a serem gerados antes de parar. É recomendável um limite de 4 mil tokens para uma performance ideal.
Observe que os modelos Claude da Anthropic podem parar de gerar tokens antes de atingir o valor de max_tokens_to_sample
. Modelos diferentes do Claude da Anthropic têm valores máximos diferentes para esse parâmetro. Para obter mais informações, consulte Model comparison fornecido na documentação do Claude da Anthropic.
Padrão |
Mínimo |
Máximo |
200
|
0
|
4096
|
Veja a seguir os parâmetros opcionais.
-
stop_sequences: (opcional) sequências que farão com que o modelo pare de gerar.
Os modelos Claude da Anthropic param em "\n\nHuman:"
e podem incluir sequências de parada integradas adicionais no futuro. Use o parâmetro de inferência stop_sequences
para incluir strings adicionais que sinalizarão ao modelo para parar de gerar texto.
-
temperature: (opcional) a aleatoriedade injetada na resposta. Use um valor mais próximo de 0 para a opção de análise/múltipla escolha e um valor mais próximo de 1 para tarefas criativas e generativas.
Padrão |
Mínimo |
Máximo |
1
|
0
|
1
|
-
top_p: (opcional) use amostragem de núcleo.
Na amostragem de núcleo, o Claude da Anthropic calcula a distribuição cumulativa de todas as opções de cada token subsequente em ordem de probabilidade decrescente e a interrompe quando atinge uma determinada probabilidade especificada por top_p
. Você deve alterar temperature
ou top_p
, mas não ambos.
Padrão |
Mínimo |
Máximo |
1
|
0
|
1
|
-
top_k: (opcional) somente um exemplo das opções K principais para cada token subsequente.
Use top_k
para remover respostas de baixa probabilidade de cauda longa.
Padrão |
Mínimo |
Máximo |
250
|
0
|
500
|
- Response
-
O modelo Claude da Anthropic retorna os campos a seguir para chamadas de inferência de Text Completion.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
completion: o preenchimento resultante até as sequências de parada, mas excluindo-as.
-
stop_reason: o motivo pelo qual o modelo parou de gerar a resposta.
-
“stop_sequence”: o modelo atingiu uma sequência de parada: fornecida com o parâmetro de inferência stop_sequences
ou com uma sequência de parada incorporada ao modelo.
-
“max_tokens”: o modelo excedeu max_tokens_to_sample
ou o número máximo de tokens do modelo.
-
stop: se você especificar o parâmetro de inferência stop_sequences
, stop
conterá a sequência de parada que sinalizou ao modelo para parar de gerar texto. Por exemplo, holes
na resposta a seguir.
{
"completion": " Here is a simple explanation of black ",
"stop_reason": "stop_sequence",
"stop": "holes"
}
Se você não especificar stop_sequences
, o valor stop
estará vazio.
Exemplo de código
Esses exemplos mostram como chamar o modelo Claude V2 da Anthropic com throughput sob demanda. Para usar o Claude versão 2.1 da Anthropic, altere o valor de modelId
para 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'))
O seguinte exemplo mostra como gerar texto de streaming com o Python usando o prompt escreva uma dissertação sobre viver em Marte usando mil palavras
e o modelo Claude V2 da Anthropic:
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()))