.. Promptify documentation master file, created by
   sphinx-quickstart on Sun Mar  5 18:00:26 2023.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.


Welcome to Promptify's documentation!
===============================

Introduction
------------

Prompt Engineering is a tool that allows users to easily solve Natural Language Processing (NLP) problems using Language Model's (LM's) and generate different prompts for popular generative models like GPT, PaLM, and more using a software called Promptify.

Prompt Engineering makes it easy for users to utilize these LM's to solve NLP problems by generating prompts for different generative models. For instance, GPT (Generative Pre-trained Transformer) is a generative model developed by OpenAI that can generate text similar to human writing. PaLM (Pattern-Exploiting Training Language Model) is another generative model known for its ability to learn from less data than other models.

Promptify is a software that enables users to easily generate prompts for these models, allowing them to generate different types of text like product descriptions, summaries, and more. The prompts generated by Promptify can be customized to suit the needs of the user, and the software is designed to be user-friendly and accessible even to those without prior experience in NLP.

.. image:: https://raw.githubusercontent.com/promptslab/Promptify/main/assets/dark.png
   :align: center
   :alt: Alternative text describing the image

Overall, Prompt Engineering and Promptify provide a powerful and user-friendly way for users to solve NLP problems and generate text using generative models like GPT, Claude, Azure, etc. By simplifying the process of prompt generation, Prompt Engineering makes it easy for users to generate different types of text quickly and efficiently.

Core Features
-------------

- **Prompt Generation** Easily generate and tailor prompts for state-of-the-art generative models.
- **Unified Architecture** Introducing Prompter, Model & Pipeline Solution.
- **Detailed Output Logs** Comprehensive structured JSON format output within the log folder.
- **Wider Model Support** Supporting models from OpenAI, Azure, Cohere, Anthropic, Huggingface, and more - think of it as your universal language model adapter.
- **Robust Parser** Parser to handle incomplete or unstructured JSON outputs from any LLMs.
- **Ready-Made Jinja Templates** Jinja prompt templates for NER, Text Classification, QA, Relation-Extraction, Tabular data, etc.
- **Rich Customization** Adapt the prompts to your specific needs, whether for product descriptions, summaries, or creative writing.

Getting Started
---------------

.. toctree:: 
   :maxdepth: 2
   :caption: Getting Started

   source/getting_started/installation
   source/getting_started/starter_tutorial

.. toctree:: 
   :maxdepth: 2
   :caption: Guide to Promptify


Contribution and Support
------------------------

- **GitHub Repository:** Find the source code, documentation, and other resources `here <https://github.com/promptslab/Promptify>`_.
- **Contribution Guide:** Interested in contributing? Check out the `contribution guidelines <https://github.com/promptslab/Promptify/blob/main/contribute.md>`_.
- **License:** Promptify is licensed under Apache License 2.0

Community
---------

- If you are interested in Prompt-Engineering, LLMs, ChatGPT, and other latest research discussions, please consider joining `PromptsLab <https://discord.gg/m88xfYMbK6>`_.

.. image:: https://img.shields.io/discord/1069129502472556587?color=5865F2&logo=discord&logoColor=white
   :target: https://discord.gg/m88xfYMbK6
   :alt: Join us on Discord
   :align: center



- Twitter: https://twitter.com/promptslab

Quick Links
-----------

- `Pypi  <https://pypi.org/project/promptify/>`_: Directs to the official PyPI page of Promptify for Python.
- `Github  <https://github.com/promptslab/Promptify>`_: Directs to the GitHub repository of Promptify.

Why Choose Promptify?
---------------------

Promptify is not just a tool; it's a comprehensive solution that bridges the gap between complex Natural Language Processing (NLP) tasks and practical implementation. By simplifying prompt generation and offering extensive customization, Promptify empowers users to tap into the potential of generative models like GPT, Claude etc, making the creation of diverse text content quick, efficient, and accessible to all.

Citation
--------

The citation for Promptify is as follows:

.. code-block:: bibtex

   @misc{Promptify2022,
     title = {Promptify: Structured Output from LLMs},
     author = {Pal, Ankit},
     year = {2022},
     howpublished = {\url{https://github.com/promptslab/Promptify}},
     note = {Prompt-Engineering components for NLP tasks in Python}
   }
