# Prompt cell

The Prompt cell (powered by OpenAI's ChatGPT) is a sophisticated tool to enhance and enrich your conversational flows in **Syntphony CAI**, allowing a more coherent, fluid, and custom interactions. This is a component that uses Generative AI technology to produce any content, suitable for multiple needs and scenarios.

This cell allows you to access the specified model during execution and generate content on the fly according to your configured settings.&#x20;

{% hint style="warning" %}
**Important:** Enabling this feature may result in additional costs on each new request, both at the time of creation and during the execution of flows, as a new request is made on content generation.
{% endhint %}

{% hint style="info" %}
To directly link your Generative AI account, simply [**open a support ticket**](https://shori-public.clonika.com/) with our team.
{% endhint %}

#### Creating a Prompt cell

To create a Prompt cell, proceed to the "Advanced Options" on the cells library in the Dialog Manager or thought the repository.

<figure><img src="https://content.gitbook.com/content/n6zS4HeuuVpRHZEvDiFU/blobs/ZZz9h8NZc3d4luGl7F66/image.png" alt=""><figcaption><p>Prompt cells repository</p></figcaption></figure>

The main fields in a Prompt cell are:

* [Prompt](#prompt)
* [Advanced parameters](#advanced-parameters)
* [Variable (hidden context)](#variable-hidden-context)
* [Preview](#preview)

We will get to know a little bit about each one further on.

### Prompt

Prompts are very useful in automating language-based tasks. You can use it to generate content to match a desired tone, emotion, context, and user preferences, or even contribute to the virtual agent personality. Prompts can also support code creation, content summarization, information classification, and masking sensitive information.

Prompts also support [Dynamic Content](https://docs.eva.bot/user-guide/build-dialogs/dynamic-content-and-contexts). You may add variables such as the most recent user input, environment, and bot parameters straight in the prompt text.

{% hint style="success" %}
To make the most of a Prompt cell, first we have to understand what a prompt is and what the best practices in prompt engineering are. Check our guide on how to [craft a good and effective prompt ](https://docs.eva.bot/user-guide/build-dialogs/dialog-cells/prompt-cell/prompt-crafting)to assist you with this topic. 😉
{% endhint %}

### Advanced parameters

The advanced parameters will help you to customize the language model behavior. Start chosing among the available options of language models:

* GPT 3.5
* GPT 4o
* GPT 4o-mini
* GPT 4.1
* GPT 4.1-mini

You can also set the size of the generated content, level of creativity combining two or more parameters, and control vocabulary variation and repetitions:

<table data-header-hidden><thead><tr><th width="204">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><strong>PARAMETER</strong></td><td><strong>DESCRIPTION</strong></td></tr><tr><td><strong>Maximum tokens</strong></td><td>The maximum number of tokens to be generated, counting both prompt (input) and preview (output). A token is roughly 3-5 characters long, but its exact length may vary.</td></tr><tr><td><strong>Temperature</strong></td><td>Control the randomness of the generated text. Lower values lead to more predictable outputs, while higher values lead to more diverse and creative outputs.</td></tr><tr><td><strong>Top P</strong></td><td>Control vocabulary variation. Lower values produce to most common and predictable words or phrases, while higher values produce less frequent or unexpected words.</td></tr><tr><td><strong>Frequency Penalty</strong></td><td>Use the Frequency Penalty parameter to control repetitions within the generated content. Lower values keep the model from repeating tokens, while higher values will result in a more frequent use of the same tokens.</td></tr><tr><td><strong>Presence Penalty</strong></td><td>The Presence Penalty parameter doesn't consider how often a token is used, but whether it exists in the text. A higher value will result in the model being more likely to generate tokens that have not yet been included in the generated text.</td></tr></tbody></table>

These advanced parameters come all pre-filled as market default. But If you want to fine tune them to test different results.

### Variable (hidden context)

This field is crucial to retrieve the content generated. The variable written here will store the content for future use in the flows.&#x20;

Once you have your prompt, write down a variable in the required field Variable with the syntax $hiddenContext.(yourVariable). You can then use this freely at any **Syntphony CAI**-context compatible cell. In the example below, the chosen variable was "reservation".&#x20;

<figure><img src="https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2FO2Fqh6taEX8542S1MaR3%2Fimage.png?alt=media&#x26;token=d06432cf-867f-4c22-b66d-04597e3582c0" alt=""><figcaption></figcaption></figure>

To retrieve the generated content (in the example, the list of best cities to travel to during the current season in the Southern Hemisphere), copy and paste the entire value written here into the text field in other cells.

<figure><img src="https://4008706377-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn6zS4HeuuVpRHZEvDiFU%2Fuploads%2FS0bAxvw3crMprs0f9aQ7%2Fimage.png?alt=media&#x26;token=6e7766cb-0db8-4523-863b-a895eb5d3723" alt=""><figcaption><p>Example of a answer cell with the variable $hiddenContext.<strong>reservation</strong>. </p></figcaption></figure>

Now, every time a customer reaches this part of the conversation, a new request for this prompt will be generated.

{% hint style="info" %}
We highly recommend you reading the [Dynamic Content](#d-dynamic-answer) page to ensure a full and comprehensive understanding.
{% endhint %}

### Preview

You can preview the generation when editing a Prompt cell and fine tune it before you save it. If you click the "Generate Content" button, a new preview will be generated with the current prompt + advanced settings parameters.&#x20;

Note that if you have added Dynamic Content variables to your prompt, the test will fail. We recommend you to replace the variables with the expected value of those fields during the test.

{% hint style="warning" %}
Testing content also consumes tokens as if performing a conversation. The same is true to dialogues performed in **Syntphony CAI**'s dialog simulator.
{% endhint %}

### Use cases examples

While the Prompt cell has an infinity of use cases, we have detailed examples of interesting use cases in the [Practical examples](https://docs.eva.bot/user-guide/build-dialogs/dialog-cells/prompt-cell/practical-examples) page.
