# Welcome!

Self Hosted Prompt Management Tool

## Introduction&#x20;

Prst.ai is a self-hosted solution for prompt management tailored for products where data protection and ownership are essential. We understand that many companies require ownership of their data, both in storage and transit. That's why we introduce PRST.AI.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FlnyK51TUR6Er0wV9JUoS%2Fimage.png?alt=media&amp;token=ff161d0e-34f4-4811-a00b-d68a56bea17b" alt=""><figcaption><p>Prst.ai Simple Dashboard</p></figcaption></figure>

## Problem&#x20;

In the modern AI world, prompt engineering is essential to get exactly what you need. But how do you select a proper one? What do you do if you have many prompts? To deal with prompt assessment, management, and storage, we introduce PRST.ai. As a centralized system for prompt management, it helps your team keep all prompts together with the ability to evaluate your execution results. The information about evaluation can then be used by your team to improve your AI retrieval by fine-tuning or even for training a custom model from scratch.

## Our Thanks&#x20;

At Prst.ai, we deeply appreciate our users. We extend our heartfelt gratitude to all who support us and stay updated with our progress! Thank you for joining us in making the realm of technology more approachable and convenient!

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FEwK7GycseVO17AOHMQJs%2Fimage.png?alt=media&amp;token=52176964-840a-4ba7-986f-bd65fafc1ad7" alt=""><figcaption></figcaption></figure>

## Resources &#x20;

* 🔗 [LinkedIn](https://www.linkedin.com/company/prst-ai)
* ⚙️ [GitHub](https://github.com/prst-ai)
* ⭐️ [ProductHunt](https://www.producthunt.com/products/prst-ai)


# Pricing

## Introduction&#x20;

At Prst.ai we believe that technology should be more affordable to everyone and because of that we prepared Pricing Plans that are designed to meet the requirements of both beginners and players. Get the right plan that suits you.&#x20;

## Plans & Pricing Options

### Easy Edition (FREE Self Hosted)&#x20;

With Easy Edition, you have two convenient options at your disposal. You can easily download our pre-built Docker image, which contains all the necessary components, and follow a few straightforward steps to set up prst.ai. Alternatively, you can take advantage of the simplified installation process available through the AWS Marketplace. We've taken care of all the technical intricacies, so you can focus on maximizing the benefits of our powerful prompt management tool.

> ⭐️ **Note:**  Read how to get a [Free License Key](/quick-start#how-to-get-free-licence-key) and [Demo Account](/quick-start#how-to-get-a-demo-account) to start your journey with prst.ai.&#x20;

### Enterprise

With our Enterprise Edition, prst.ai caters to your organization's specific needs for high performance, robust user management, and efficient processing of a large volume of daily requests. We understand that every business is unique, and that's why we offer a custom-made solution designed to perfectly align with your requirements. Our team will work closely with you to ensure that the prst.ai setup meets and exceeds your expectations, providing a seamless experience. Additionally, our Enterprise Edition comes with extensive support options, ensuring that your employees can easily leverage the full potential of prst.ai and drive business success.

> ⭐️ **Note:**  Please contact us via <contact-us@prst.ai> or via a form on our [Website](https://prst.ai) and we'll provide you with pricing details.&#x20;

### Enterprise+&#x20;

This is an option for advanced products that require more complex and custom solutions to meet business needs. We are ready to supply many addons and expand the functionality of our solution based on your unique requirements.

> ⭐️ **Note:**  Please contact us via <contact-us@prst.ai> or via a form on our [Website](https://prst.ai) and we'll provide you with pricing details.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FTpauzYh8t86yMVUq40Aw%2Fimage.png?alt=media&amp;token=b80697bc-0305-4998-8fa3-fbda482f3a1c" alt=""><figcaption></figcaption></figure>

## Plans Comparison Table

<table><thead><tr><th width="379">Feature</th><th width="128">Easy Edition</th><th width="113">Enterprise</th><th>Enterprise+</th></tr></thead><tbody><tr><td>Prompt Management</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>AI Connectors</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Internal Knowledgebase</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Feedbacks System</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Pricing Rules</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>API and API Credentials</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>SDK</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Self Hosted</td><td>✅</td><td>✅</td><td>✅</td></tr><tr><td>Support</td><td>Partially Excluded</td><td>✅</td><td>✅</td></tr><tr><td>Prompt Compile Configurations</td><td>Partially Excluded</td><td>✅</td><td>✅</td></tr><tr><td>Advanced Reporting</td><td>❌</td><td>✅</td><td>✅</td></tr><tr><td>Advanced Pricing Rules</td><td>❌</td><td>✅</td><td>✅</td></tr><tr><td>Organization Structure, Roles, Permissions</td><td>❌</td><td>✅</td><td>✅</td></tr><tr><td>Collaborative Access</td><td>❌</td><td>✅</td><td>✅</td></tr><tr><td>Migration Options</td><td>❌</td><td>❌</td><td>✅</td></tr><tr><td>Integrations with CRM and 3rd Parties</td><td>❌</td><td>❌</td><td>✅</td></tr><tr><td>Addons</td><td>❌</td><td>❌</td><td>✅</td></tr></tbody></table>

## Support Options&#x20;

To enhance your experience with us, we offer advanced support options to optimize your integration. Through our support services, you gain access to developers well-versed in our solution, capable of resolving any issues efficiently. We offer flexible support options tailored to your needs. For the best-suited option for you, please reach out to us.


# Security

## Introduction&#x20;

At Prst.ai, we prioritize your privacy and understand the critical importance of security. That's why we've developed a self-hosted version of Prst.ai that can be seamlessly installed within your private network.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FPOeo13ZvoL76shplkhrs%2FPrstSecurity.png?alt=media&amp;token=1b8a2a0e-f95e-4181-bc57-74a0a8ca48c4" alt="Secure Prompt Management with PRST.ai  "><figcaption><p>Secure Prompt Management with PRST.ai  </p></figcaption></figure>

## **Data Stored**

Prst.ai stores only necessary information for it's operations. These information is fully depends on what you, or your team posts to prst.ai.&#x20;

Because of that the stored information may contain:

* all input comes from your system as prompt parameters
* all output data comes from external AI providers
* feedbacks
* any data proxy through prst.ai
* system logs
* credentials that you may pass to prst.ai

## **Data Transfer**

**Prst.ai does not transmit any personal or technical information about your system outside your environment.** We prioritize your data privacy, and as such, we do not utilize any metrics, logs, or other information regarding your executions, your system, or environment.&#x20;

> ❗️**Note:**  For support operations, we may contact you directly in accordance with our General Agreement or based on a custom NDA or Contract.

If the support option is purchased, the Prst.ai installation may send requests outside your system to notify us at PRST.AI about your support request. During this operation, the following information may be sent:

<table><thead><tr><th width="214">Field</th><th>Description</th></tr></thead><tbody><tr><td>Organization</td><td>The organization name, provided via ENV Variables during installation</td></tr><tr><td>License Key</td><td>Prst.ai internal key for installation tracking</td></tr><tr><td>Email</td><td>Email of the administrator, provided via ENV Variable ROOT_EMAIL</td></tr><tr><td>Support Category</td><td>Predefined text to identify the purpose of the support request</td></tr><tr><td>Description</td><td>Additional information provided during support request creation</td></tr><tr><td>Ticket ID</td><td>Unique identifier of the ticket inside your system</td></tr></tbody></table>

## **Data Encryption**

While Prst.ai installation relies on your infrastructure, all sensitive information is stored encrypted and accessed only when necessary.  Such information as credentials to external AI providers uses `ENCRYPTION_SECRET` you can provide via ENV Variables to encrypt it. It's also possible to use external DB to store all of your data in encrypted way such as [AWS RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) or any similar.

> 💡 **Note:**   Please refer to your regulation to make sure **the way YOU USE prst.ai is align with it.**

## **GDPR, HIPAA, CCPA, and Other Compliances**:&#x20;

As Prst.ai is a self-hosted solution installed within your network, you maintain full control over data practices and ownership. By default, Prst.ai does not store any personal information and operates solely within your installation. It's important to align your usage of Prst.ai with relevant regulations, such as GDPR, HIPAA, CCPA, and others.

> ❗️**Note:**  For support operations, we may contact you directly in accordance with our General Agreement or based on a custom NDA or Contract.

## **Best Practices**:

### **Create Your Own ENCRYPTION\_SECRET**:&#x20;

Generate a strong [encryption\_secret](/for-developers/configurations) to encrypt your data in the database and pass it via environment variables during installation.

### **Use VPN**:&#x20;

Keep your Prst.ai solution within a private network with VPN access granted to individual organization members. Avoid making your private Prst.ai server publicly accessible to minimize security risks.

### **Use Strong Passwords**

After installation, reset the password for the administration account to a strong, unique password that differs from the initial installation credentials.

### **Keep Your Credentials Safe**

Avoid sharing credentials via chats, messengers, or personal accounts. Utilize password managers like Bitwarden to securely store and manage your Prst.ai administrator password.

### **Limit Access to Your Prst.ai Installation**

Secure your server where Prst.ai is installed with practices such as port restrictions, security groups, IP whitelisting, etc. Ensure that only trusted users, such as your DevOps team, have access to the installation and its configurations.


# Quick Start

## Introduction

At the moment, the popularity of AI is growing and many are building their products in this direction. We know that many technologies should be more accessible to everyone to speedup development of new solutions, and that's why we provide our solution **for FREE** in basic version.&#x20;

However, we as developers are very dependent on maintaining our intellectual property and therefore distribute our product under a Special License.&#x20;

This does not mean that you need to pay for anything, all we ask is that you contact us and receive your License Key. We value our customers very much and are constantly improving our product and to do this we want to stay in touch with you.&#x20;

**Thank you for your support and understanding, we at PRST.AI really appreciate it!**&#x20;

## How to get FREE Licence Key

To get your free Licence Key we ask you for q few things to support our product:&#x20;

1. Contact us via <contact-us@prst.ai> or via contact form on our [Website](https://prst.ai)
2. Allow us to use your **Product Logo** on our website and social media
3. **Make a post** about using of Prst.ai in any social media, your blog, or on our [Product Hunt](https://www.producthunt.com/products/prst-ai) **or just subscribe** us on [LinkedIn](https://www.linkedin.com/company/prst-ai)

Thanks in advance, we appreciate your support!

## How to get a Demo Account

It's also possible to get a demo account before installation. To get one just simply contact us via <contact-us@prst.ai> or via contact form on our [Website](https://prst.ai). Then we'll share a credentials to Cloud Version where you'll be able to test solution.&#x20;

## Installation Options&#x20;

To simplify Installation of Prst.ai into your environment we've prepared Docker Image that can be easily installed and configured via Env Variables.&#x20;


# Introduction

Get deeper into the problem of Prompting

Prompt engineering is a crucial aspect of AI development, focusing on crafting effective prompts to elicit desired responses from AI models. It involves the strategic formulation of input queries or instructions to guide AI systems towards generating relevant and accurate outputs.

In the dynamic landscape of artificial intelligence, where the quality and relevance of generated content can significantly impact business outcomes, **prompt engineering** plays a pivotal role. By carefully designing prompts, developers can steer AI models towards producing outputs that meet specific objectives, whether it's generating text, images, or other forms of data.

> ❗️**Note:**  **Prompt engineering** serves as a bridge between human intent and machine execution, enabling effective communication and collaboration between users and AI systems. By mastering the art of prompt engineering, developers can unlock the full potential of AI technologies and drive innovation across diverse domains and industries.

## Challenges&#x20;

Prompt engineering encompasses various challenges that demand strategic handling. Balancing ambiguity and precision is essential, along with addressing biases and hallucinations to ensure fairness. Achieving prompt transferability across different scenarios and optimizing fine-tuning processes present additional hurdles. Crafting user-friendly interfaces for prompt generation tools and enhancing interpretability and explainability are crucial aspects. These challenges require thoughtful navigation and innovative solutions to advance the field of prompt engineering effectively.

<figure><img src="https://lh7-us.googleusercontent.com/gNicjUMkMlAGsFatn66tPmE67JD_uQ3PWME_d6hQbHK8JfJnGEJwvHcs95hPGPd9y0CucJi7n8GuobEKUbzXK2tgt_an_9DHI6rizXkhDo5aE72nMbGZJ0DJQaqaWP-JOQWSy_mF8lwcDbPn5kLmVvj7Tw=s2048" alt="" width="375"><figcaption></figcaption></figure>

## Goal

The goal of prompt engineering is to optimize the performance of AI models by providing clear, contextually relevant instructions that guide the generation process. This process requires a deep understanding of both the capabilities of AI models and the desired outcomes of the application.

Prompt engineers must consider various factors when crafting prompts, including the nature of the task, the target audience, and the constraints of the AI model being used. Additionally, they need to account for potential challenges such as ambiguity in input, bias in output, and the need for continuous refinement and improvement.

## What does it look like

Creating a proper prompt is essential from a prompt engineering perspective, as it serves as the guiding framework for AI models to process input and generate relevant output. Prompt engineers employ[ various techniques](/prompt-engineering/techniques) or combinations thereof to achieve this goal. One of the most common approaches involves crafting a proper prompt structure, which integrates elements such as Intent, Style, Context, Error Handling, and Command. By combining these components effectively, prompt engineers provide well-structured information to the model, enabling it to produce more applicable results.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FfMItoInHVxYoiHeJAcFf%2Fimage.png?alt=media&amp;token=ad7edfa0-7633-48dd-be58-fa10e8481c05" alt=""><figcaption></figcaption></figure>


# Techniques

Prompt engineering is akin to an art form, delicately crafting input requests for Large Language Models (LLMs) that lead to envisioned outputs. Here are several techniques for crafting single or sequences of prompts:

### 1. Least-To-Most Prompting

Least-To-Most Prompting involves decomposing a complex problem into simpler sub-problems and solving each sequentially. This technique utilizes a progressive sequence of prompts, facilitating the model's ability to handle complex reasoning.

### 2. Self-Ask Prompting

Self-Ask Prompting involves the LLM decomposing questions into smaller follow-up questions, explicitly showcasing its reasoning process. It allows for the explicit display of LLM reasoning and facilitates the decomposition of questions into manageable parts.

### 3. Meta-Prompting

Meta-Prompting prompts the agent to reflect on its performance and adjust its instructions accordingly. It utilizes an overarching meta-prompt while causing the agent to self-improve based on its own performance.

### 4. ReAct

ReAct combines reasoning and action, allowing the model to induce, track, and update action plans while gathering additional information from external sources. It demonstrates effectiveness in language and decision-making tasks, improving interpretability and trustworthiness.

### 5. Iterative Prompting

Iterative Prompting focuses on contextual prompt refinement through an iterative process. It ensures prompts contain contextual information, reducing the generation of irrelevant facts and hallucinations while enhancing context awareness.

### 6. Sequential Prompting

Sequential Prompting involves building a recommender system with LLMs, focusing on the ranking stage of recommender systems. It examines subtle differences in recommendation abilities, particularly in large-scale candidate sets.


# Prompt Loop

## Introduction&#x20;

Modern AI models are very powerful and can cover many tasks and aspects from both technical and business sides. However, working with AI, it's important to keep in mind how AI works and behaves. Due to the nature of models, the production solution may face several challenges:

* Consistency in generation results.
* Quality of result content and its application to the expected result.
* Too much creativity due to unclear input.
* And more.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FdhuDVB4Rz0eioD7FnGDM%2Fimage.png?alt=media&amp;token=4e8a1d74-b97d-4476-83ed-e2fd083d15fc" alt=""><figcaption><p>Prompt Loop</p></figcaption></figure>

To improve prompt quality and result consistency, there's a process we call a Prompt Loop. A properly established Prompt Loop process can improve generation results, reduce retries, and enhance generation consistency. In this process, a Prompt Engineer uses feedback to tune prompts and align them with your business expectations. Feedback can be received from Prompt Evaluators (who can be your dev team, SMEs, or even your end-users). Additionally, feedback can be used to fine-tune the model or even train your custom one.

## Key Steps&#x20;

To create a proper Prompt Loop process it's essential to cover steps of prompt testing, evaluation and tuning. Here is some insights about these steps.

### Prompt Evaluation

Regular evaluation and feedback are critical components of prompt engineering. Prompt engineers should actively solicit feedback from users, domain experts, and other stakeholders to assess the effectiveness of prompts and identify areas for improvement. By analyzing feedback and evaluation results, prompt engineers can iteratively refine prompts to enhance their quality and relevance.

### Prompt A/B testing

Experimentation and testing are essential for validating the effectiveness of prompts and assessing their impact on AI model performance. Prompt engineers should conduct controlled experiments and A/B tests to compare the performance of different prompts and identify the most effective ones. By leveraging experimentation and testing, prompt engineers can make informed decisions about which prompts to use and how to further refine them for optimal results.

### Prompt Tuning

&#x20;To fine-tune prompts effectively, prompt engineers leverage feedback and testing information to adjust prompts and align them with business requirements. This process involves handling errors, refining prompts based on user feedback, and extending initial prompts with new parameters or information as needed. By incorporating tuning alongside Prompt Version Control, engineers can track improvements and applied changes systematically, ensuring consistency in results over time. This iterative approach to prompt refinement and version control enables continuous enhancement of AI model performance while maintaining alignment with evolving business needs.

##

## &#x20;


# Best Practices

Based on our experience at Prst.ai, we've identified several best practices to help you succeed in prompt engineering:

## **Evaluate Prompts with SMEs**&#x20;

Involving subject matter experts (SMEs) significantly reduces the risk of generating invalid or irrelevant outputs, thereby enhancing prompt quality and the business value of your product. While SMEs may not need to know the details of the prompt itself, presenting only the generation result during experiments can keep the process clear and focused.

## **Use Version Control**

Usage of prompt version control enables you to store changes history and information about evaluations at each stage of the prompt creation lifecycle. Creating a new prompt version during each [Prompt Loop](/prompt-engineering/prompt-loop) iteration allows for easy comparison and understanding of which version performed better.

> 💡 **Note:**  Read More about Version Control in Prompts Section&#x20;

## **Regular Re-Evaluation**:&#x20;

Even if you believe you have the best prompt that meets all your requirements, it's still important to regularly re-evaluate it. Testing prompts with a wide variety of input parameters is crucial to uncovering any potential issues or incorrect results. Without comprehensive testing, unpredictable outcomes may occur.


# Prompts

Seamless Prompt Creation with Intuitive Editor

## Overview

The Prst Prompt serves as a crucial component in the prst.ai system, representing the input prompt utilized by AI models. Through configuring prompts, parameters, and receiving feedback, users can construct a flexible prompt management solution with distributed access to each operation.

### Structure

#### Prompt

A prompt is a configuration property that aids in identifying a particular prompt, with the capability to possess multiple prompt versions.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2Fr75qgTr5SWo1YSqPQvra%2Fimage.png?alt=media&amp;token=95b5443d-8395-4926-8f8c-eee30c49105f" alt="" width="375"><figcaption><p>PRST Prompt Structure</p></figcaption></figure>

#### Prompt Version

Each prompt version comprises prompt configurations, parameters, and execution parameters such as connector and connector version. These parameters enable users to test prompts via the UI or execute them using the execute API through SDK or directly [via API](/for-developers/api). By defining prompt parameters, a flexible structure capable of handling various scenarios is created.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FILEdCKbWTGgzaVa198Qw%2Fimage.png?alt=media&amp;token=7a53339d-e329-473b-96b7-6870a8c227c8" alt="" width="375"><figcaption><p>PRST Prompt Version Structure</p></figcaption></figure>

In addition to parameters, prompt may also be connected to [Feedbacks](/elements-and-features/feedback-system) and [Executions](/elements-and-features/executions). &#x20;

## Configurations & Editor

After prompt creation it is possible to configure it with new parameters, and execution information. &#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FiNvtbxIcTlvP6ghXf5EK%2Fimage.png?alt=media&amp;token=a3eb5fcf-63a2-47b5-86c4-293ff167d0e5" alt=""><figcaption></figcaption></figure>

Prst Prompt Editor provides many configurations Options of the prompt to simplify Prompt Management. Following the number indicators on the image above here is a list of possibilities:

1. &#x20;**Edit Prompt Name:** by clicking on the input it's possible to update prompt name. The system will update prompt automatically without confirmation.&#x20;
2. **Mark Parameter:** when some text in editor is selected it's possible to convert it to parameter by clicking this button. The text itself will not disappear and it's always possible to undo changes.  &#x20;
3. **Refresh Parameters:** clears all parameters in the prompt reverting changes to the original text.
4. **Clear Editor:** removes all text presented in the Prompt Body and resets editor.&#x20;
5. **Play Button:** by clicking on this button user will be redirected to the Debug Console, where it would be possible to provide parameters and test prompt.&#x20;
6. **Prompt Status:** changes the status of the prompt. Useful for internal collaboration. &#x20;
7. **Selected Version:** current selected Prompt Version.
8. **Default Connector:** [connector](/elements-and-features/connectors) that will be used to test a prompt.
9. **Default Connector Version:** [connector](/elements-and-features/connectors) version that will be used to test a prompt.
10. **Default Connector Proxy Parameters:** [connectors](/elements-and-features/connectors) allows you to define many proxy parameters that might be useful to test prompts such as temperature, model, role, etc.
11. **Editor:** the main input where it's possible to edit prompt and related parameters.
12. **Mark Param:** by clicking the Mouse Right Button  the Context Menu will appear. In this menu it's possible to define parameter the same way as in **#2.**&#x20;
13. **Remove Selected Parameter:** from Context Menu it's possible to remove clicked parameter.&#x20;
14. **Prompt Version Parameters:** the table of all prompt parameters&#x20;
15. **Prompt Version Feedbacks:** all collected Prompt Versions Feedbacks&#x20;
16. **Prompt Debug Console:** the debug Console with information about recent executions and rela-time tests.&#x20;
17. **Prompt Parameter Name**: using this input it's possible to change parameter name. This name will be used via API to compile a prompt.
18. **Prompt Parameter Default Value:** it's possible to define default value for the parameter. It will be automatically passed in cases when parameter is not presented in the request.&#x20;
19. **Parameter Type:** In some cases it might be important to define parameter type differently from the "`string`" &#x20;
20. **Remove Parameter:** another way to remove parameter from the Prompt.&#x20;

### **Feedbacks**&#x20;

Feedback section displays all collected feedbacks associated with the Prompt Version selected. This view also provide information of the feedback "feeling" based on the combination from the ranking and sentimental analysis result of the user comment.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FrPpvLI3r0UwL7dmy1DqU%2Fimage.png?alt=media&amp;token=dd2cd288-1e45-48dc-9f6b-dea7144284ca" alt=""><figcaption><p>Prompt Feedbacks</p></figcaption></figure>

This information can be very useful for Prompt Engineer and may help to finetune prompt.&#x20;

### **Debug Console**  &#x20;

Debug Console allows to provide custom parameters and test the prompt with selected connector.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FPoUsA5o0s68McRCD5DfQ%2Fimage.png?alt=media&amp;token=8b46f15f-14b7-49c6-a1b8-922579b456bd" alt=""><figcaption><p>Prompt Debug Console</p></figcaption></figure>

&#x20;Following the number indicators on the image above here is a list of possibilities:

1. **Parameters Value Input:** here it's possible to enter actual value to each parameter.
2. **Execution Logs:** the log of actions and operation during the request execution&#x20;
3. **Feedback Form:** allows to rate the result directly during testing

### Debug Details&#x20;

During testing, it's also may be useful to see all original information passed through the system to ensure the system behaves as needed.&#x20;

To do so you can click on any debug item and see the result in JSON format:&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FUfojGgR3IMf4XSllhdcd%2Fimage.png?alt=media&amp;token=3e222696-695e-4d26-81a3-5035dae77b1a" alt=""><figcaption></figcaption></figure>


# Connectors

## Overview&#x20;

PRST Connector is a HTTP wrapper on top of the request that allows to define request and response parameters, map them to internal entities and proxy custom parameters. It can be used during testing, or directly as wrapper on top of the integration to reduce time on model switching. &#x20;

> 💡 **Note:**  PRST Connector offers a unified interface to integrate with various AI provides. using UI configurations it's possible to change ID in request without need to rebuild the whole integration.&#x20;

Using Connector it's possible to use the same PRST Prompt across multiple AI models and providers.&#x20;

## Configurations

After Connector Creation it's possible to configure it in accordance with expected behavior. To do so Click on the new Connector and start configurations.&#x20;

### Input Parameters&#x20;

The input parameters represents everything that should be passed to the API request during the execution. PRST Connector Allows to define 2 types of Input Parameters: Credentials and Proxy Parameters.&#x20;

#### Credentials&#x20;

Credentials is a sensitive information that keeps encrypted in PRST system and uses for the Authentication during the request Execution.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F5jChR6s9NUuLpeyUcXtY%2Fimage.png?alt=media&amp;token=239d9639-5e38-48a1-acb7-0039126e5b26" alt="" width="563"><figcaption></figcaption></figure>

#### Proxy Parameters

Many models allows to configure many additional parameters to improve generation results. PRST Connector Proxy Parameters allows to define a set of parameters that can be used during the execution to do more sensitive tunning of your generation.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FAqoJrEqZO9fnBGwcqg6p%2Fimage.png?alt=media&amp;token=46707d18-e374-4d85-b42e-a8359d20eecb" alt="" width="375"><figcaption></figcaption></figure>

> 💡 **Note:**  There is no strict limit to the number of parameters. However, it's a good practice to keep only necessary parameters.

### Authentication Request&#x20;

Some API may require extra authentication before request. To define a strategy to retrieve a token, or other credentials you can use Auth request. &#x20;

> 💡 **Note:**  The request Configurations allows to define custom input and output to simplify integration. Use it to keep only data that you need during request

In case when Auth is not required it's possible to skip it.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2Fu1uv2ahCHYZvwZZdPhHI%2Fimage.png?alt=media&amp;token=979e6a1d-104b-4f0b-a0c1-8728c7b577dd" alt="" width="563"><figcaption></figcaption></figure>

### Execute&#x20;

With PRST Connector Editor is very simple to configure request and parameters. Simply clicking on the mouse Right Button you can choose the desired parameter and insert it into the request. Then the system will automatically pass it during the request execution.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FAA4jXONbnwhdG1ekLgqA%2Fimage.png?alt=media&amp;token=1777d722-e299-4b13-a65c-de97f90522f6" alt=""><figcaption></figcaption></figure>

In Context Menu there are several parameter types: System, [Credentials](#credentials), [Proxy](#proxy-parameters) and Custom. Each type corresponds to the parameter source and provides easy way to identify them&#x20;

#### Request Configurations

Depending on the request Method, PRST Connector allows to define different request schemes. For example POST request allows to configure request BODY, while GET does not.&#x20;

To configure the request body you can easily copy the request from external documentation and then using Context Menu mark parameters in the JSON.&#x20;

> ❗️ **Note:**  The type of the parameter depends on how it's presented in the JSON. If your parameter is type of `String` - do not forget to keep double quote like this: `"YOUR_PARAM"` &#x20;

#### Parameter Assignment

To assign the parameter just do the following:&#x20;

1. Select the place where parameter should be and click Mouse Right Button
2. Select the desired parameter and it will be automatically assigned to your request<br>

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FTmkVBbjbQlq9GCTzRsrI%2Fimage.png?alt=media&amp;token=16eea815-cac5-41bc-9846-7c1a87fa4759" alt="" width="375"><figcaption></figcaption></figure>

#### Format Response

PRST Connector also allows to customize the result and receive the information in the way you desire. In Addition to the System Parameters it's possible to define a Custom Parameters and custom path to them.&#x20;

> 💡 **Note:**  The way to define path works in both sides: construct and destruct. So the following construction is also allowed: `"custom[0].total.tokens"`&#x20;

In example below the parameter prompt\_tokens will be passed to the custom path: `"custom.total.tokens"`

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FURfxnb3Rb0HZSvoo2ev4%2Fimage.png?alt=media&amp;token=824ec40b-a93a-4336-85b0-1655c4aa4244" alt=""><figcaption></figcaption></figure>

Then in the Preview Section it's possible to check parameters mapping in accordance to the designed structure.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2Fo1WsCvGh9XequPzj1Pun%2Fimage.png?alt=media&amp;token=aa07de77-21d0-466a-8963-3b9d7aeda851" alt=""><figcaption></figcaption></figure>

### Test Connection&#x20;

To make sure that the system behaves as needed and request created properly it's possible to test integration directly from the PRST Connector Configurations.  To do so just simple click on the test Connection Button and make sure that the request finished with successful result.&#x20;

> ❗️ **Note:**  The test request is a **real request to AI provider** and may be charged in accordance to your AI provider pricing &#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F0cJ1jtHi1XMD5aWtDFe8%2Fimage.png?alt=media&amp;token=5ecdc6ac-3c55-4e10-bba9-be0d697df92b" alt=""><figcaption><p>Successful Test Execution </p></figcaption></figure>

## Injections &#x20;

PRST Connector uses in many places and can be called [via API](/for-developers/api). For example it;s possible to define a default Connector to the prompt to use a [Prompt Debug Console](/elements-and-features/prompts#debug-console) or use it for [Knowledgebase](/elements-and-features/knowledgebase) as your internal assistant.


# Feedback System

## Overview&#x20;

To build a good [Prompt Loop](/prompt-engineering/prompt-loop) process Prst.ai offers to use feedback system. each feedback is a unique set of ranking and user comment. These information can be used then by Prompt Engineers to improve prompt quality.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FU2JJsssJeiWDzndLzxHN%2Fimage.png?alt=media&amp;token=541f215e-4827-4ba1-b642-655cdfacec41" alt=""><figcaption></figcaption></figure>

To simplify comments analysis Prst.ai also offers sentimental analysis of the content and extra formula to recalculate ranking.&#x20;

## Feedback Component&#x20;

To make collect access easier we created a component that can be used inside `iFrame` on your websites or inside your internal tools.&#x20;

You can configure the component using your corporate style and wishes.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FMCVdQ2qBOpkXklAe1qvA%2Fimage.png?alt=media&amp;token=97cd2df7-0cac-41cf-b9e5-5e36cccdf559" alt=""><figcaption></figcaption></figure>

In addition to that it's also possible a way of how to collect feedbacks. Prst.ai allows you to select the measurement system for the feedback ranking. The following options are available: &#x20;

* **Like/Dislike**: only 2 dimensions where Like is good and Dislike is bad.
* **Ranking 5 stars: m**ore advanced with ability to select a exec value between 0 and 5.
* **Comments:** in addition to starts you can collect user feedback to understand result better.&#x20;

## Custom Component&#x20;

It's also possible to create a custom component  and [use API](/for-developers/api) instead of [pre-build one](#feedback-component) . In this case please make sure that the component will be able to collect information such as:&#x20;

<table><thead><tr><th width="189">Field</th><th width="386">Description</th><th>Note</th></tr></thead><tbody><tr><td>task_id</td><td>UUID of the task</td><td>not mandatory</td></tr><tr><td>user_id</td><td>ID of the user</td><td>not mandatory</td></tr><tr><td>prompt_id</td><td>ID of the Prompt</td><td>not mandatory</td></tr><tr><td>prompt_version</td><td>Exact version</td><td>not mandatory</td></tr><tr><td>prompt_version_id</td><td>Prompt Version ID</td><td>not mandatory</td></tr><tr><td>source</td><td>Extra field, useful for identifying source</td><td>not mandatory</td></tr></tbody></table>

> ❗️ **Note:**  All parameters are not mandatory, **however at least of of the following combinations must be provided** to do not lose your data:&#x20;
>
> * `prompt_id`
> * `prompt_id` **+** `prompt_version`&#x20;
> * `prompt_version_id`

For more information please refer to the [API section](/for-developers/api) or to [Swagger](https://api.prst.ai/docs) with up-to-date API schemes.&#x20;


# Executions

## Overview

Prst.ai provides an advanced system of executions tracking based on tasks. using our executions history it is possible to track all activity in your system related to integrations with AI.

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FsI8YXCAEUnmNvFcXXGp0%2Fimage.png?alt=media&amp;token=00639b76-bac3-4d64-8878-e96026f8e74c" alt=""><figcaption></figcaption></figure>

## Execution Task&#x20;

The PRST Task is an entity that combines information about [Prompt](/elements-and-features/prompts), [Connector](/elements-and-features/connectors), user or [API credentials](/elements-and-features/api-credentials) and keeps the result and logs of the execution.&#x20;

We also provide a several ways to execute task: **sync or async**. Depending on option the generation result will be available during one connection session or after processing.&#x20;

### Life-cycle

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FueJSCjaVqIcBWW1m3Z9Y%2Fimage.png?alt=media&amp;token=1dae4d71-d33c-4031-a00b-5e4f215a1d4f" alt="" width="375"><figcaption></figcaption></figure>

## Debug Details

Prst.ai allows to see all execution details  through the Debug Details. In the details tab it's possible to get information about used prompt and used connector, as well and debug information.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FA4fdDcjWh2v00IuTpIby%2Fimage.png?alt=media&amp;token=46800688-9724-4c7d-ab1c-51d4a6dd19b9" alt=""><figcaption></figcaption></figure>


# Knowledgebase

## Overview

Prst.ai also offers a simple Chat assistant that can be useful during routine operations. Using  Knowledgebase it is possible to fill in all necessary information and help your team members to get this information in more easier manner.&#x20;

❗️ **Note:**  In case when you need to have a flexible vector size configurations please contact us.&#x20;

## Knowledgebase Console

Using the console it's possible to define the behavior of internal assistant, what integration to use, and how to complete the results.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F1lPQqfF5AOZAFaZxcKTS%2Fimage.png?alt=media&amp;token=164dd2b4-3947-4651-be16-544e36247b54" alt=""><figcaption></figcaption></figure>

Following the number indecators on the image above the console provide these abilities:&#x20;

1. Configure and fill inn your Internal Knowledgebase
2. Test and Play with [Chat](#chat) around your data
3. Configure default [Connector](/elements-and-features/connectors) for replies completions
4. Configure Embeddings [Connector](/elements-and-features/connectors)&#x20;
5. Configure [proxy parameters](/elements-and-features/connectors#proxy-parameters) for [Connectors](/elements-and-features/connectors)
6. Enter your data in plain text fromat
7. Save a new record to your Knowledgebase&#x20;
8. See all saved records

## Chat

Navigation to Chat playground it's possible to test your internal assistant with user input in chat manner. In this tak its possible to verify content granularity and ensure results quality.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FbHbOp8edf8Rs1ARz9I1s%2Fimage.png?alt=media&amp;token=506e8268-0d9d-4009-bd22-0f0e90cf662d" alt=""><figcaption></figcaption></figure>

Then internal assistant can be installed into your internal processes in a simple chat view to help your team members faster navigate in internal corporate information, for example.&#x20;


# Pricing Rules

## Overview

In addition prst.ai offers an ability to create your own pricing rules to track your usage and stay aligned with the total usage pricing.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F1ejtVFOs365HREoGoFOf%2Fimage.png?alt=media&amp;token=46272c2b-c0fc-4223-b966-5c156ce4452f" alt=""><figcaption></figcaption></figure>

## Pricing Rules

Pricing rules allows you to define a property that can be used to calculate a total price, select a way of aggregation and pricing strategy. Then the aggregated information would be visible on your prst.ai Dashboard&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F0ytDZGrlg60kVMphtm51%2Fimage.png?alt=media&amp;token=cfd4301a-b8fe-4875-bb64-885feae7cf78" alt=""><figcaption></figcaption></figure>

## Configurations&#x20;

To select a propery that should be used to calculate the price you can simply assign a parameter through context menu, by selection your property and Mouse Right Click.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FnQA7DK7pddACNiGz14Vq%2Fimage.png?alt=media&amp;token=314e69ff-26b9-401c-bd97-7f714f75daa9" alt=""><figcaption></figcaption></figure>

Then it's possible to define the pricing for executions. Depending on your AI provider you can define a custom options.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FtURIcZvnTTkLFzzCzXvZ%2Fimage.png?alt=media&amp;token=d04bc288-c0f3-40c2-91d2-ba45592a43a4" alt=""><figcaption></figcaption></figure>


# API Credentials

Prst.ai allows to configure multiple API credentials and distribute the executions by them to improve reporting or separate environments. To do so the corresponding section PRST UI can be used.

New Credentials can be simply created by clicking on the + button. Then new credentials will be available.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2Fr5wHXyXmHwURui423BR8%2Fimage.png?alt=media&amp;token=022dbf97-a29d-4797-8a4f-91d1d5657740" alt=""><figcaption></figcaption></figure>


# Configurations

## 1. License Key&#x20;

To start the installation first, you should get the License Key. Please find a way to do that in [Quick Start Seciton](/quick-start)

## 2. Configure Docker

When you already have your own license key, you are able to donwload and install the Docker Image. To do that please follow the instructions below.&#x20;

### Env variables&#x20;

To make sure that your prst.ai installation will be configured correctly and follows [Security Best Practices](/security#best-practices) please provide ALL mandatory variables that presented in the table below. &#x20;

<table><thead><tr><th width="280">Name</th><th width="119">Is Required</th><th width="94">Default</th><th>Description</th></tr></thead><tbody><tr><td>PORT</td><td>No</td><td>80</td><td>The port on which the Prst.ai application will listen</td></tr><tr><td>DB_CONNECTION_STRING</td><td>Yes</td><td></td><td>The connection string for the database</td></tr><tr><td>DB_CONFIG_SYNC</td><td>No</td><td>true</td><td>Synchronize database schema on every application launch</td></tr><tr><td>DB_CONFIG_DEBUG</td><td>No</td><td>false</td><td>Enable or disable database debugging</td></tr><tr><td>ROOT_EMAIL</td><td>Yes</td><td>N/A</td><td>The email address for the root administrator</td></tr><tr><td>ROOT_ONE_TIME_PASSWORD</td><td>Yes</td><td>N/A</td><td>The one-time password for the root administrator</td></tr><tr><td>ORGANIZATION_NAME</td><td>No</td><td>PRST</td><td>The name of the organization</td></tr><tr><td>ENCRYPTION_SECRET</td><td>Yes</td><td>N/A</td><td>The encryption secret for securing sensitive information</td></tr><tr><td>DISABLE_SUPPORT</td><td>No</td><td>false</td><td>Enable or disable support operations</td></tr></tbody></table>

### Run Docker Image

```bash
# Run prst.ai docker image
docker run -d
  -p 8080:80
  -e ROOT_EMAIL=admin@prst.ai
  -e ROOT_ONE_TIME_PASSWORD=YOUR_PASSWORD
  -e ORGANIZATION_NAME=PRST
  -e ENCRYPTION_SECRET=YOUR_SECRET
  -e DISABLE_SUPPORT=false
your_prst_ai_image:tag
```

### Use Docker Compose&#x20;

> 💡 **Note:**   Please refer to your regulation to make sure **the way YOU USE prst.ai is align with it.**

```yaml
version: '3.8'

services:
  prst_ai:
    image: your_prst_ai_image:tag
    ports:
      - "3005:3005"
    environment:
      - ROOT_EMAIL=admin@prst.ai
      - ROOT_ONE_TIME_PASSWORD=YOUR_PASSWORD
      - ORGANIZATION_NAME=PRST
      - ENCRYPTION_SECRET=YOUR_SECRET
    healthcheck:
      test: ["CMD-SHELL", "curl --fail http://localhost:3005/api/v1/health || exit 1"]
      interval: 30s
      timeout: 10s
      retries: 3

```

### First Sign In&#x20;

After build and installation the Prst.ai  system will ask you to change the default password to the new one. Please provide secure and strong password to keep your data safe.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F6SYaxZHyYto3fBuQpALr%2Fimage.png?alt=media&amp;token=e2dc0aa1-5c77-48aa-8423-64ac9cf6ed11" alt="" width="375"><figcaption></figcaption></figure>

## 3. Then Test prst.ai

Simply navigate to your new endpoint to ensure that prst.ai is successfully launched or use Heath Check API connected to your load balancer or any other health measurement system.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2FAfACZIp2Xn0z3Iekm91C%2Fimage.png?alt=media&amp;token=99ecda96-06f0-4218-80ea-ef90ebb2f6bb" alt=""><figcaption></figcaption></figure>


# API

## General Information&#x20;

Prst.ai offers a set of API using HTTP to control your prompt management outside the system. The API is designed to provide all important information to you with ability to manage your prompts programmatically.&#x20;

### Authentication&#x20;

PRST API requires authentication using [API Credentials](/elements-and-features/api-credentials) that can be created from UI of your prst.ai installation .

The API Credentials Key should be provided in Request Headers with prefix `Bearer` in header value.&#x20;

<figure><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2Fzro7LV3KHWzwJhJ1LKaP%2Fimage.png?alt=media&amp;token=5b0ea72d-2456-492c-9b55-10366721f7a5" alt=""><figcaption></figcaption></figure>

### API Versioning

Prst.ai uses the path versions to differentiate between APIs. In cases when updates does not match with the API old scheme the new version will be used to access endpoint.&#x20;

This approach helps your team to prevent issues after prst.ai version update.&#x20;

### Errors&#x20;

The API returns Errors in the following structure:

```json
{
   "serverCode": 403,
   "name": "ACCOUNT_TERMINATED",
   "code": "PRST-SSO-ERR-00013",
   "message": "Account Terminated",
   "description": "Sorry, but your account was terminated. If you think this is a mistake, please contact your admin.',
},
```

> 💡 **Note:**   If you see any unhandled error we will be glad to hear from you about that case.

## Swagger

Before installation you can check all available API in our publicly [available Swagger](https://api.prst.ai/docs).&#x20;

> 💡 **Note:**   If you didn't find API you're looking for, please contact us, \
> maybe we have to update docs 😊

## Health-check  API

To be compatible with many container management solutions prst.ai provides a simple HTTP endpoint for the healthcek. using this endpoint it's possible to ensure stability of your solution.&#x20;

```bash
curl --fail http://localhost:8080/api/v1/health || exit 1
```

By default health-check endpoint returns the actual version of prst.ai installation. &#x20;

## Execution API

This API provides several alternative way to pass parameters. We believe that those options can make it more easier to integrate your AI pipelines with prst.ai&#x20;

For example you can provide prompt parameters in the following way:&#x20;

```json
{
  "prompt": {
    "id": 0,
    "version": "string",
    "params": {
        "param_1":"VALUE",
        "param_2":"VALUE_2"
    }
  },
  "connector": {
    "id": 0,
    "version": "string"
  },
  "async": true
}
```

Or alternative one could be the following:&#x20;

```json
{
  "prompt": {
    "id": 0,
    "version": "string",
    "params": [ 
        "VALUE",
        "VALUE_2"
    ]
  },
  "connector": {
    "id": 0,
    "version": "string"
  },
  "async": true
}
```

### Execution Behaviors&#x20;

On addition to that it's possible to define execution behavior:&#x20;

* **sync:** the execution will be done within one session;
* **async:** the execution will work as Fire-And-Forget and you will be able to check execution status later when it's needed.&#x20;

Define your desired approach by configuring `"async":true` parameter.

## Prompt Creation API

An alternative way to create prompt is API that uses prompt markup. To create a new prompt using this API you can simply call it with the following parameters:&#x20;

```json
{
  "name": "string"
  "markup": "string"
}
```

In this case system will automatically create all related entities and will assign parameters.&#x20;


# E-commerce

As online shopping evolves, customers expect personalized, seamless experiences. To meet these demands, e-commerce platforms must leverage cutting-edge technologies like prompt management (PRST.ai)

* #### [MultiStore Product Description Management](/use-cases/education/prompt-management-integration-into-educational-platforms)


# MultiStore Product Description Management

How prompt management tool could help streamline multistore product description management

Managing and creating personalized product listings for numerous stores can be challenging. It requires significant effort to maintain consistency, accuracy, and relevance across all listings, while also tailoring content to individual customer preferences. This process is time-consuming and prone to human error, potentially impacting the overall shopping experience.<br>

<figure><picture><source srcset="/files/4ZNtBmT1dvsgX8GuL1sL" media="(prefers-color-scheme: dark)"><img src="https://275285440-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvFLnnH8i8v6480uxCfFP%2Fuploads%2F1uZ42rgKtg0p50c8ohP9%2FMultistoreW.png?alt=media&amp;token=c46e3aa7-b0d1-4ef7-a4fd-5135ae8418a6" alt=""></picture><figcaption><p>PRST.ai Product Description Prompt Loop</p></figcaption></figure>

1. **Content Generation**: The prompt management tool can automatically generate high-quality product descriptions, specifications, and promotional content tailored to each store’s unique offerings.
2. **Personalization Engine**: Leveraging customer data, the tool can create personalized product listings based on individual customer preferences, browsing history, and purchase behavior.
3. **Multistore Product Prompt Management**:The tool supports centralized management of prompts for multiple stores, allowing for easy updates and consistency in branding and messaging across different store fronts.
4. [**Prompt Loop**](/prompt-engineering/prompt-loop): The prompt management tool can dynamically update product listings based on real-time data such as inventory levels, trending products, and seasonal demands.


# Education

Prompt management in education optimizes content delivery and enhances personalized learning through AI-driven prompts by PRST.ai.

[Prompt Management Integration into Educational Platforms](/use-cases/education/prompt-management-integration-into-educational-platforms)


# Prompt Management Integration into Educational Platforms


