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à.
AnthropicClaudeAPI di completamento del testo
Questa sezione fornisce parametri di inferenza ed esempi di codice per l'utilizzo di Anthropic Claude modelli con l'API Text Completions.
AnthropicClaudePanoramica dell'API Text Completions
Utilizza l'API Text Completion per la generazione di testo a turno singolo da un prompt fornito dall'utente. Ad esempio, puoi utilizzare l'API Text Completion per generare testo per un post di blog o per riepilogare il testo immesso da un utente.
Per informazioni sulla creazione di prompt per i Anthropic Claude modelli, vedere Introduzione alla progettazione dei prompt. Se desideri utilizzare i prompt di completamento del testo esistenti con, consulta Migrazione da Text Completions. AnthropicClaudeAPI Messaggi
Modelli supportati
Puoi utilizzare l'API Text Completions con i seguenti 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 nella documentazione. Anthropic Claude
- Request
-
AnthropicClaudeha 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, consulta la sezione Convalida rapida nella documentazione. Anthropic Claude
-
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 i Anthropic Claude modelli potrebbero interrompere la generazione di token prima di raggiungere il valore di. max_tokens_to_sample
AnthropicClaudeModelli diversi hanno valori massimi diversi per questo parametro. Per ulteriori informazioni, consultate Confronto tra modelli nella 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.
AnthropicClaudei 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 su tutte le opzioni per ogni token successivo in ordine di probabilità decrescente e la interrompe una volta raggiunta una particolare probabilità specificata da. top_p
È necessario modificare uno dei due, ma non entrambi. temperature
top_p
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 modello restituisce i seguenti campi per una chiamata di inferenza 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 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 il modello AnthropicClaudeV2 con throughput on demand. Per utilizzare la Anthropic Claude versione 2.1, modificate 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 utilizzando 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()))