Dai un’occhiata al nostro post sul blog Long context prompting for Claude 2.1 per vedere un esempio di precompilazione altamente efficace.


Perché precompilare la risposta di Claude?

Precompilare la risposta di Claude offre diversi vantaggi chiave:

  1. Maggiore sterzabilità: Fornendo del testo iniziale da cui Claude può continuare, puoi indirizzare la risposta di Claude nella direzione desiderata. Questo è particolarmente utile quando vuoi che Claude si concentri su un argomento specifico, generi un particolare tipo di contenuto o agisca in un certo modo.
  2. Controllare il formato di output: La precompilazione ti permette di specificare l’esatto formato che vuoi che Claude usi per il suo output. Questo è particolarmente utile quando si lavora con formati di dati strutturati come JSON o XML. Per maggiori dettagli su questo, consulta la nostra guida su controllare il formato di output.
  3. Mantenere la coerenza del personaggio: Negli scenari di gioco di ruolo, precompilare la risposta di Claude può aiutare Claude a rimanere nel personaggio durante una lunga conversazione. Ricordando costantemente a Claude il suo ruolo nel messaggio Assistant, puoi assicurarti meglio che Claude mantenga la personalità desiderata. Dai un’occhiata a mantenere Claude nel personaggio per maggiori dettagli.

Come precompilare la risposta di Claude

Per precompilare la risposta di Claude, includi semplicemente il testo iniziale desiderato nel messaggio Assistant quando effettui una richiesta API. Ecco un esempio di prompt:

RuoloBuon Prompt
UserPer favore estrai il nome, le dimensioni, il prezzo e il colore da questa descrizione del prodotto e restituiscili all’interno di un oggetto JSON.

<description>Lo SmartHome Mini è un assistente domestico intelligente compatto disponibile in nero o bianco a soli $49,99. Con soli 5 pollici di larghezza, ti permette di controllare luci, termostati e altri dispositivi connessi tramite voce o app, indipendentemente da dove lo posizioni in casa. Questo piccolo hub economico porta un comodo controllo a mani libere ai tuoi dispositivi intelligenti.</description>
Assistant (prefill){

In questo esempio, iniziando il messaggio Assistant con {, vincoliamo l’output di Claude ad essere il resto dello schema JSON richiesto.

RuoloRisposta
Assistant (risposta di Claude)“name”: “SmartHome Mini”,
“size”: “5 pollici di larghezza”,
“price”: “$49,99”,
“colors”: [
“nero”,
“bianco”
]
}

Ecco come il prompt di cui sopra sarebbe scritto in codice nel formato Messages API:

Python
import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-2.1",
    max_tokens=1000,
    temperature=0,
    messages=[
        {
            "role": "user",
            "content": "Per favore estrai il nome, le dimensioni, il prezzo e il colore da questa descrizione del prodotto e restituiscili all'interno di un oggetto JSON.\n\n<description>Lo SmartHome Mini è un assistente domestico intelligente compatto disponibile in nero o bianco a soli $49,99. Con soli 5 pollici di larghezza, ti permette di controllare luci, termostati e altri dispositivi connessi tramite voce o app, indipendentemente da dove lo posizioni in casa. Questo piccolo hub economico porta un comodo controllo a mani libere ai tuoi dispositivi intelligenti.\n</description>"
        }
        {
            "role": "assistant",
            "content": "{"
        }
    ]
)
print(message.content)

Risorse aggiuntive

  • Tecniche di prompt engineering: Esplora altre strategie per ottimizzare i tuoi prompt e migliorare le prestazioni di Claude.
  • Anthropic cookbook: Sfoglia una raccolta di notebook Jupyter con frammenti di codice copiabili che dimostrano tecniche, integrazioni e implementazioni altamente efficaci e avanzate utilizzando Claude.
  • Libreria di prompt: Lasciati ispirare da una selezione curata di prompt per varie attività e casi d’uso.