

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à.

# Concetti di progettazione dei prompt
<a name="prompt-engineering-guidelines"></a>

 Per *progettazione dei prompt* si intende la pratica di ottimizzare l’input testuale in un modello linguistico di grandi dimensioni (LLM) al fine di ottenere le risposte desiderate. I prompt consentono a un LLM di svolgere un’ampia varietà di attività, tra cui classificazione, risposta a domande, generazione di codice, scrittura creativa e altro ancora. La qualità dei prompt forniti a un LLM può influire sulla qualità delle risposte del modello. Questa sezione fornisce le informazioni necessarie per iniziare a utilizzare la progettazione dei prompt. Include anche strumenti per aiutarti a trovare il miglior formato di prompt possibile per il tuo caso d’uso quando utilizzi un LLM su Amazon Bedrock. 

**Nota**  
Tutti gli esempi contenuti in questo documento sono ottenuti tramite chiamate API. La risposta può variare per via della natura stocastica del processo di generazione degli LLM. Se non diversamente specificato, i prompt sono stati scritti dai dipendenti di AWS.

**Nota**  
Per ridurre le allucinazioni, puoi perfezionare il prompt utilizzando tecniche di ottimizzazione, tecniche come la generazione potenziata da recupero dati (RAG) per fornire al modello l’accesso a dati più pertinenti o un modello diverso che potrebbe produrre risultati migliori.

Amazon Bedrock include modelli di diversi provider. Di seguito è riportato un elenco di linee guida sulla progettazione dei prompt per tali modelli.
+ **Guida ai prompt di Amazon Nova Micro, Lite e Pro:** [Best practice sui prompt per i modelli di comprensione di Amazon Nova](https://docs.aws.amazon.com/nova/latest/userguide/prompting.html) 
+ **Guida ai prompt di Amazon Nova Canvas:** [Generazione di immagini con Amazon Nova Canvas](https://docs.aws.amazon.com/nova/latest/userguide/image-generation.html) 
+ **Guida ai prompt di Amazon Nova Reel:** [Generazione di video con Amazon Nova Reel](https://docs.aws.amazon.com/nova/latest/userguide/video-generation.html) 
+ **AnthropicClaudeguida rapida al modello: [https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview)** 
+ **Cohereguida rapida:https://txt.cohere.com/**[- how-to-train-your pet-llm-prompt-engineering](https://txt.cohere.com/how-to-train-your-pet-llm-prompt-engineering) 
+  AI21 Labs[Guida rapida al **modello Jurassic: progettazione tempestiva** https://docs.ai21.com/docs/](https://docs.ai21.com/docs/prompt-engineering) 
+  MetaLlama 2[https://ai.meta.com/llama/guida **rapida: get-started/**](https://ai.meta.com/llama/get-started/#prompting) \$1prompting 
+  **Stability AIguida rapida: https://platform.stability.** [ ai/docs/getting-iniziato](https://platform.stability.ai/docs/getting-started) 
+  **Mistral AIguida rapida: https://docs.mistral**[. ai/guides/prompting\$1capacità/](https://docs.mistral.ai/guides/prompting_capabilities/) 

**Dichiarazione di non responsabilità:** gli esempi in questo documento utilizzano i modelli di testo attualmente disponibili in Amazon Bedrock. Inoltre, questo documento contiene linee guida generali sui prompt. Per guide specifiche per modelli, consulta le rispettive documentazioni su Amazon Bedrock. Questo documento è un punto di partenza. Sebbene le seguenti risposte di esempio siano state generate utilizzando modelli specifici su Amazon Bedrock, puoi utilizzare anche altri modelli in Amazon Bedrock per ottenere risultati. Possono esserci delle differenze tra i risultati dei vari modelli poiché ognuno offre caratteristiche e prestazioni diverse. L'output che generi utilizzando i servizi di IA rappresenta il tuo contenuto. A causa della natura del machine learning, l'output potrebbe non essere univoco tra i clienti e i servizi potrebbero generare risultati uguali o simili per i clienti. 

## Che cos'è un prompt?
<a name="what-is-a-prompt"></a>

I prompt sono un insieme specifico di input forniti da te, l'utente, che guida su LLMs Amazon Bedrock per generare una risposta o un output appropriato per una determinata attività o istruzione.

```
User Prompt:
Who invented the airplane?
```

Quando viene interrogato dal prompt, Titan fornisce un output:

```
Output:
The Wright brothers, Orville and Wilbur Wright are widely credited 
with inventing and manufacturing the world's first successful airplane.
```

(Fonte del prompt: AWS, modello utilizzato: Amazon Titan Text)

### Componenti di un prompt
<a name="components-of-a-prompt"></a>

Un singolo prompt include diversi componenti, come l'attività o l'istruzione che desideri venga eseguita, il contesto dell'attività (ad esempio, una descrizione del dominio pertinente), esempi dimostrativi e il testo di input che desideri che LLMs Amazon Bedrock utilizzi nella sua risposta. LLMs A seconda del caso d'uso, della disponibilità dei dati e dell'attività, il prompt dovrebbe combinare uno o più di questi componenti.

Guarda questo prompt di esempio che chiede a Titan di riassumere una recensione:

```
User Prompt:
The following is text from a restaurant review:

“I finally got to check out Alessandro’s Brilliant Pizza and it is now 
one of my favorite restaurants in Seattle. The dining room has a beautiful view 
over the Puget Sound but it was surprisingly not crowded. I ordered 
the fried castelvetrano olives, a spicy Neapolitan-style pizza 
and a gnocchi dish. The olives were absolutely decadent, and the pizza came 
with a smoked mozzarella, which was delicious. The gnocchi was fresh and wonderful. 
The waitstaff were attentive, and overall the experience was lovely. 
I hope to return soon." 

Summarize the above restaurant review in one sentence.
```

(Fonte del prompt:) AWS

Sulla base di questo prompt, Titan risponde con un breve riepilogo di una riga relativo alla recensione del ristorante. La recensione menziona i fatti fondamentali e illustra i punti principali, come desiderato.

```
Output: 
Alessandro's Brilliant Pizza is a fantastic restaurant in Seattle 
with a beautiful view over Puget Sound, decadent and delicious food, 
and excellent service.
```

(modello utilizzato: Amazon Titan Text)

L'istruzione **Summarize the above restaurant review in one sentence** e il testo della recensione **I finally got to check out ...** erano entrambi necessari per questo tipo di output. Senza uno dei due, il modello non avrebbe informazioni sufficienti per produrre un riepilogo sensato. L'*istruzione* indica all'LLM cosa fare e il testo è l'*input* utilizzato dall'LLM. Il *contesto* (**The following is text from a restaurant review**) fornisce informazioni e parole chiave aggiuntive che indicano al modello come utilizzare l'input nella formulazione dell'output. 

Nell'esempio seguente, il testo **Context: Climate change threatens people with increased flooding ...** è l'*input* che l'LLM può utilizzare per eseguire l'*attività* di rispondere alla domanda **Question: What organization calls climate change the greatest threat to global health in the 21st century?”**. 

```
User prompt:
Context: Climate change threatens people with increased flooding, 
extreme heat, increased food and water scarcity, more disease, and economic loss. 
Human migration and conflict can also be a result. The World Health Organization (WHO) 
calls climate change the greatest threat to global health in the 21st century. 
Adapting to climate change through efforts like flood control measures 
or drought-resistant crops partially reduces climate change risks, 
although some limits to adaptation have already been reached. 
Poorer communities are responsible for a small share of global emissions, 
yet have the least ability to adapt and are most vulnerable to climate change. 
The expense, time required, and limits of adaptation mean its success hinge 
on limiting global warming.

Question: What organization calls climate change the greatest threat 
to global health in the 21st century?
```

(Fonte del prompt: https://en.wikipedia. org/wiki/Climate\$1modifica)

AI21 Labs Jurassic risponde con il nome corretto dell’organizzazione in base al contesto fornito nel prompt.

```
Output:
The World Health Organization (WHO) calls climate change 
the greatest threat to global health in the 21st century.
```

(Modello utilizzato: AI21 Labs Jurassic-2 Ultra v1)

### Prompt few-shot e prompt zero-shot
<a name="few-shot-prompting-vs-zero-shot-prompting"></a>

*A volte è utile fornire alcuni esempi per calibrare LLMs meglio l'output e soddisfare le aspettative. Si tratta di una procedura nota anche come *few-shot prompting* o *in-context learning*, in cui una ripresa corrisponde a una coppia di input di esempio e all'output desiderato.* Per spiegare questo approccio, ecco anzitutto un esempio di prompt zero-shot per la classificazione del sentiment, il cui testo non contiene alcuna coppia di input-output di esempio:

```
User prompt:
Tell me the sentiment of the following headline and categorize it 
as either positive, negative or neutral: 
New airline between Seattle and San Francisco offers a great opportunity 
for both passengers and investors.
```

(Fonte del messaggio:) AWS

```
Output:
Positive
```

(modello utilizzato: Amazon Titan Text)

Ecco la versione few-shot di un prompt per la classificazione del sentiment:

```
User prompt: 
Tell me the sentiment of the following headline and categorize it 
as either positive, negative or neutral. Here are some examples:

Research firm fends off allegations of impropriety over new technology.
Answer: Negative

Offshore windfarms continue to thrive as vocal minority in opposition dwindles.
Answer: Positive

Manufacturing plant is the latest target in investigation by state officials.
Answer:
```

(Fonte del prompt:) AWS

```
Output: 
Negative
```

(modello utilizzato: Amazon Titan Text)

L’esempio seguente utilizza i modelli Anthropic Claude. Quando si utilizzano i modelli Anthropic Claude, è buona norma utilizzare i tag <example></example> per includere esempi dimostrativi. Consigliamo inoltre di utilizzare negli esempi delimitatori diversi, ad esempio `H:` e `A:`, per evitare confusione con i delimitatori `Human:` e `Assistant:` per l'intero prompt. Per l’ultimo esempio few-shot, l’elemento `A:` finale è stato omesso a favore di `Assistant:`, suggerendo a Anthropic Claude di generare la risposta.

```
User prompt: 


Human: Please classify the given email as "Personal" or "Commercial" related emails.
Here are some examples.

<example>
H: Hi Tom, it's been long time since we met last time. We plan to have a party at my house this weekend. Will you be able to come over?
A: Personal
</example>

<example>
H: Hi Tom, we have a special offer for you. For a limited time, our customers can save up to 35% of their total expense when you make reservations within two days. Book now and save money!
A: Commercial
</example>

H: Hi Tom, Have you heard that we have launched all-new set of products. Order now, you will save $100 for the new products. Please check our website.

Assistant:

Output: 
Commercial
```

(Fonte del prompt: AWS, modello utilizzato:) Anthropic Claude

### Modello di prompt
<a name="prompt-template"></a>

Un modello di prompt specifica la formattazione del prompt con contenuti intercambiabili. I modelli di prompt sono «ricette» da utilizzare LLMs per diversi casi d'uso come classificazione, riepilogo, risposta a domande e altro ancora. Un modello di prompt può includere istruzioni ed esempi few-shot, nonché domande e contesti specifici appropriati per un determinato caso d'uso. L'esempio seguente è un modello che consente di eseguire la classificazione few-shot del sentiment utilizzando i modelli di testo di Amazon Bedrock:

```
Prompt template: 
"""Tell me the sentiment of the following 
{{Text Type, e.g., “restaurant review”}} and categorize it 
as either {{Sentiment A}} or {{Sentiment B}}. 
Here are some examples:

Text: {{Example Input 1}} 
Answer: {{Sentiment A}}

Text: {{Example Input 2}}
Answer: {{Sentiment B}}

Text: {{Input}}
Answer:"""
```

Gli utenti possono copiare e incollare questo modello, inserendo il proprio testo e alcuni esempi per completare le istruzioni quando lo utilizzano su LLMs Amazon Bedrock. In questa sezione vengono forniti altri modelli.

**Nota**  
Le doppie parentesi graffe `{{ and }}` indicano i punti in cui inserire informazioni specifiche sui dati nel modello. Non devono essere incluse nel testo del prompt.

### Mantenere il richiamo sulle richieste di inferenza di Amazon Bedrock
<a name="important-notes-on-bedrock-llms-via-api"></a>

Se accedi ai modelli di Amazon Bedrock tramite chiamate API, tieni presente che i modelli non richiamano i prompt e le richieste precedenti, a meno che l’interazione precedente non sia inclusa nel prompt corrente. L’inclusione di prompt precedenti in una richiesta consente interazioni conversazionali o richieste di follow-up.

Se accedi ai modelli di Anthropic Claude tramite chiamate API anziché il playground per testo di Amazon Bedrock, inserisci i prompt in uno stile conversazionale per ottenere la risposta desiderata (non necessario per la famiglia di modelli Titan Text e AI21 Labs Jurassic). Nell'esempio seguente viene mostrato un prompt di tipo colloquiale:

```
User prompt: 
	
	
Human: Describe where sea otters live in two sentences.

Assistant:

Output: 
Here is a two sentence description of where sea otters live:

Sea otters live in the northern Pacific Ocean along the coasts of 
Russia, Alaska, Canada, and the continental United States. 
They prefer coastal habitats like rocky shores, kelp forests, 
and estuaries where they have access to shallow, nearshore waters.
```

(Fonte del prompt:, modello utilizzato:) AWSAnthropic Claude

Puoi notare che i contenuti principali del prompt sono racchiusi in questo modo: `\n\nHuman: {{Main Content}}\n\nAssistant:`. Per i modelli Anthropic Claude, i prompt inviati tramite l’API devono contenere \$1n\$1nHuman: e ` \n\nAssistant:`. 

Per utilizzare la modalità conversazionale su Titan, puoi utilizzare il formato `User: {{}} \n Bot: ` quando invii i prompt al modello. 