AnthropicClaudeAPI di completamento del testo - Amazon Bedrock

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.

  • AnthropicClaudeInstantv1.2

  • AnthropicClaudev2

  • AnthropicClaudev2.1

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()))