# Prompting Guide

## Getting Started by Generating Prompts with AI

The **Generate with AI** feature allows users to scaffold a prompt with natural language.

Simply click **Generate with AI**, choose the type of your task, and describe what you're looking to accomplish. Check out this guide to get started:

{% embed url="<https://www.youtube.com/watch?v=FI2T6SzuOlw>" %}

## What is the System message?

The system message defines the AI's persona, objective, specific tasks or rules.

*Note: this definition varies from user-to-user and prompt-to-prompt. Too many System message instructions, and the output may degrade - so feel free to experiment by adding the instructions in the User prompt!*

```
System Message Example: 
You are a renowned poet. 
You write poems in the tone and style of Dr. Seuss.
Only include topics appropriate for children.
```

## How do I decide what goes in the System message?

There are no hard rules about what to include in the system prompt. However, we generally recommend including specific, well-defined tasks while avoiding extremely complex logic.

## What is the User and the Assistant messages?

The user and assistant define the conversation between you (the user) and the AI (the assistant).

For example, in a conversation between you and chatGPT: your message is the "User" message and chatGPT's response is the "Assistant" response.

{% hint style="info" %}
Using both the User and Assistant allows you to provide examples that help the model "learn" your desired output format (JSON, HTML, etc) and language
{% endhint %}

## How do I prompt with the User and Assistant?

### How to Prompt with a User-Assistant Pair

User-Assistant pairs (also known as one-shot or few-shot prompting) are examples we provide to the model to help it "learn" our desired response:

1. Add an example **User** message
2. Add the expected **Assistant** response
3. *(optionally) Add more user-assistant pairs*
4. Add another **User** message with your input

For a detailed guide, check out our tutorial on K-Shot Prompting:

{% embed url="<https://www.youtube.com/watch?v=NBpAPwl4Yx0>" %}

### Text Extraction Example

> **System:** Your task is to extract the unique transcript ID from the end of the URL.
>
> **User:** <https://app.fireflies.ai/view/AirOps-Intro::DkMo5PetdLeCDglp>
>
> **Assistant:** DkMo5PetdLeCDglp
>
> **User:** <https://app.fireflies.ai/view/Mdei9OrqpQlWIijd>
>
> **Assistant:** Mdei9OrqpQlWIijd
>
> **User:** {{link\_to\_sales\_call}}

### Why use more than one User-Assistant pair?

Using more than one example is helpful for nuanced logic.

In our text extraction example, we provided two URL's with different formats to help the model understand how to extract text under multiple scenarios.

{% hint style="success" %}
**Use a real-life example:** The best way to generate high-quality outputs is by providing a high-quality example to the model. Use the most realistic example when possible, whether from the internet or from your own data.
{% endhint %}

## How do I use LLMs that have vision capabilities in AirOps?

Some LLMs, such as GPT-4o, have vision capabilities. To use these vision capabilities in AirOps, you need to provide a link of a downloadable image to the model:

### How to Configure the LLM Step

1. Add an **LLM** step to your workflow
2. Change the model to **GPT-4o**
3. Add an **Image URL** to the User message where it says "Add an Image URL"

### How to pass an image from a User Upload

1. To upload a single image from your desktop, change the input type to **File Media** which accepts a .jpg, .png, or .webp file
2. AirOps will return a downloadable URL to this image
3. Pass the input as liquid syntax to GPT-4o where it says "Add an Image URL"

### How to pass an image from Google Drive

1. To upload an image from Google Drive, choose **Short Text** as an input type
2. Change the Google Drive image so anyone with the link can view it
3. Add a code step to transform the Google Drive link into a downloadable URL replacing `short_text_input` with the name of your input:
   * ```
     const fileID = short_text_input.match(/[-\w]{25,}/);

     return `https://drive.google.com/uc?export=download&id=${fileID[0]}&confirm=t`
     ```
4. Pass the output of the previous step into GPT-4o where it says "Add an Image URL"

For a more detailed guide on GPT-4o, check out our tutorial here:

{% embed url="<https://www.youtube.com/watch?v=BCoZhI4Gem8>" %}
