Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Anthropic Claude Completamenti del testo API
Questa sezione fornisce parametri di inferenza ed esempi di codice per l'utilizzo Anthropic Claude modelli con Text API Completions.
Anthropic Claude Panoramica sui completamenti API del testo
Utilizza il Text Completion API per la generazione di testo a turno singolo da un prompt fornito dall'utente. Ad esempio, puoi utilizzare Text Completion API per generare testo per un post di blog o per riepilogare il testo immesso da un utente.
Per informazioni sulla creazione di istruzioni per Anthropic Claude modelli, vedere Introduzione alla progettazione dei prompt. Se desideri utilizzare i prompt di completamento del testo esistenti conAnthropic Claude Messaggi API, consulta Migrazione da Text Completions.
Modelli supportati
È possibile utilizzare i completamenti di testo API con quanto segue Anthropic Claude modelli.
Richiesta e risposta
Il corpo della richiesta viene passato nel body
campo di una richiesta a InvokeModelo InvokeModelWithResponseStream.
Per ulteriori informazioni, consulta https://docs.anthropic.com/claude/reference/complete_post nel Anthropic Claude documentazione.
- Request
-
Anthropic Claude ha i seguenti parametri di inferenza per una chiamata di inferenza di Text Completion.
{
"prompt": "\n\nHuman:<prompt>
\n\nAssistant:",
"temperature": float,
"top_p": float,
"top_k": int,
"max_tokens_to_sample": int,
"stop_sequences": [string]
}
I seguenti sono parametri obbligatori.
-
prompt — (Obbligatorio) Il prompt che vuoi che Claude completi. Per una corretta generazione di risposte, è necessario formattare il prompt utilizzando turni alternati \n\nHuman:
e conversazionali. \n\nAssistant:
Per esempio:
"\n\nHuman: {userQuestion}\n\nAssistant:"
Per ulteriori informazioni, vedere Convalida rapida nella Anthropic Claude documentazione.
-
max_tokens_to_sample — (Obbligatorio) Il numero massimo di token da generare prima dell'interruzione. Consigliamo un limite di 4.000 token per prestazioni ottimali.
Nota che Anthropic Claude i modelli potrebbero smettere di generare token prima di raggiungere il valore dimax_tokens_to_sample
. Diverso Anthropic Claude i modelli hanno valori massimi diversi per questo parametro. Per ulteriori informazioni, vedete Confronto tra modelli nel Anthropic Claude documentazione.
Predefinita |
Minimo |
Massimo |
200
|
0
|
4096
|
I seguenti sono parametri opzionali.
-
stop_sequences — (Facoltativo) Sequenze che causeranno l'interruzione della generazione del modello.
Anthropic Claude i modelli si "\n\nHuman:"
accendono e in futuro potrebbero includere sequenze di stop integrate aggiuntive. Utilizzate il parametro di stop_sequences
inferenza per includere stringhe aggiuntive che segnaleranno al modello di interrompere la generazione di testo.
-
temperatura — (Facoltativo) La quantità di casualità iniettata nella risposta. Utilizzate un valore più vicino a 0 per le attività analitiche/a scelta multipla e un valore più vicino a 1 per le attività creative e generative.
Predefinita |
Minimo |
Massimo |
1
|
0
|
1
|
-
top_p — (Facoltativo) Usa il campionamento del nucleo.
Nel campionamento del nucleo, Anthropic Claude calcola la distribuzione cumulativa di tutte le opzioni per ogni token successivo in ordine di probabilità decrescente e la interrompe quando raggiunge una particolare probabilità specificata da. top_p
È necessario modificare una delle due temperature
o top_p
non entrambe.
Predefinita |
Minimo |
Massimo |
1
|
0
|
1
|
-
top_k — (Facoltativo) Campiona solo le prime K opzioni per ogni token successivo.
Utilizza top_k
per rimuovere le risposte a bassa probabilità a coda lunga.
Predefinita |
Minimo |
Massimo |
250
|
0
|
500
|
- Response
-
Il Anthropic Claude il modello restituisce i seguenti campi per una chiamata di inferenza di Text Completion.
{
"completion": string,
"stop_reason": string,
"stop": string
}
-
completamento — Il completamento risultante fino all'esclusione delle sequenze di arresto.
-
stop_reason — Il motivo per cui il modello ha smesso di generare la risposta.
-
«stop_sequence» — Il modello ha raggiunto una sequenza di arresto, fornita dall'utente con il parametro di stop_sequences
inferenza o una sequenza di arresto incorporata nel modello.
-
«max_tokens» — Il modello ha superato il numero massimo di token del modello max_tokens_to_sample
o il numero massimo di token del modello.
-
stop: se specificate il parametro di stop_sequences
inferenza, stop
contiene la sequenza di interruzione che ha segnalato al modello di interrompere la generazione di testo. Ad esempio, holes
nella risposta seguente.
{
"completion": " Here is a simple explanation of black ",
"stop_reason": "stop_sequence",
"stop": "holes"
}
Se non si specificastop_sequences
, il valore per stop
è vuoto.
esempio di codice
Questi esempi mostrano come chiamare Anthropic Claude Modello V2 con velocità effettiva su richiesta. Per utilizzare Anthropic Claude versione 2.1, modifica il valore di modelId
to. 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'))
L'esempio seguente mostra come generare testo in streaming con Python usando il prompt write an essay for living on mars in 1000
words
e il modello 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()))