Prompt Database

Prompting or “prompt engineering “is the skill of the year in 2023. A bad prompt that is poorly worded and gives no context can generate unhelpful responses from LLMs like ChatGPT. Except in trivial cases, the best prompts take some thought, fine-tuning and testing. How can businesses best deal with this? The answer is to create a Prompt Database.

A prompt database is a repository of prompts that have been tried, tested and proven to work well. The reason for having a prompt database is simply to save yourself from reinventing the wheel every time you need to use a prompt in any field. Given that well-crafted prompts can generate highly valuable responses but can take time to develop, it makes sense to re-use them. To do this, you need to find them first and at the moment, ChatGPT for example, makes finding prompts you’ve used hard, especially if you use it a lot.

So what factors do you need to think about when developing a prompt database?

Your prompts need to be organised, accessible, and useful. Here’s a step-by-step guide to help you set up a robust prompt database:

1. Define the Objective for your prompt database

Understand why you’re creating this database. Are you looking to create a knowledge base, store FAQs, document best practices, or something else? Your objective will determine the structure and features of your database.

2. Choose the right platform for your prompt database

Depending on your technical capabilities and resources, you can choose between:

  • Traditional relational databases like MySQL, PostgreSQL, or SQLite.
  • NoSQL databases like MongoDB if you expect a varied data structure.
  • Knowledge base platforms or CMS like Confluence, Notion, or Trello for less technical solutions.
  • Simpler solutions such as shared Google Docs or Google Sheets or files on Sharepoint.
  • A company Wiki such as https://www.mediawiki.org/wiki/MediaWiki

3. Design the Structure

For your prompt database to work effectively, you need to make it very easy for users to search and find prompts that are appropriate to their needs. To do this you need to think through how people perform searches. Do they use keywords, do they sort by functional area (marketing, finance, HR, R&D etc.) or do they search by author etc.?

You might consider the following fields in a prompt database:

  • Prompt title or question
  • Inputs required: what information will the user have to enter into the prompt?
  • Example response – not vital and this could need updating from time to time
  • Category topic
  • Keywords or tags
  • Author or creator
  • Creation date
  • Last updated date
  • Related prompts links – similar prompts or follow-up prompts
  • Usage notes such as known problems, hints, security considerations
  • Version notes
  • LLM model(s) it’s for eg. ChatGPT4, Bard, Claude 2 or an internal database etc.

Favorites lists for prompts

You also need to think about making prompt favourites lists available for individual users. For example, if your role is to provide monthly reports and data analysis, you may repeatedly use specific related prompts and you can speed up your access to them by having a shortcut to your favourites, just as you do with a browser.

4. Categorization

Assigning a category to a prompt can make it easier to find. Consider the following:

  • Broad categories (e.g., “Human Resources”, “Technical Support”, “Sales”, “General Management”, “Market Research” etc.)
  • Sub-categories within those (e.g., under “Technical Support” you might have “Software Issues”, “Hardware Issues”, etc.)
  • Tags for more granular categorization (e.g., “Windows”, “Mac”, “Printer”, etc.)

5. Design the Search Process:

Basic Search

Allows users to input a keyword or phrase and returns relevant prompts.

Advanced Search

Offers filters such as category, date range, author, etc.

Search Algorithm

Consider using algorithms that prioritize more recent or more frequently accessed prompts. Implementing fuzzy search can help catch misspellings or alternative phrasings.

6. Input and Update Process

Decide who can add or update prompts. Ensure there’s a review process in place to maintain quality. Consider version control to track changes.

7. User Interface

Make sure the database is user-friendly. Design a clean, intuitive interface. Offer options to sort and filter results. If possible, integrate a feedback system where users can suggest improvements or report inaccuracies.

8. Maintenance

Regularly review and update the database to ensure its relevancy. Remove outdated prompts and add new ones as needed. Assign a formal role to this task and develop suitable procedures.

9. Analytics

Track how often each prompt is viewed, which search terms are used most often, etc. This data can help refine and improve the database over time.

10. Access Control

Determine who can view, edit, or add to the database. Implement user roles and permissions. Ensure data security and confidentiality, especially if the database contains sensitive information.

11. Backup and Recovery

Ensure that the database is regularly backed up. Have a recovery plan in case of data loss.

12. Training

Train your staff on how to use the database efficiently. Offer guidelines on how to add or modify prompts to maintain consistency.

13. Iteration

Based on feedback and usage patterns, continuously refine and improve your database. Regularly revisit its structure, search algorithms, and user interface.

Much of the above applies to medium to large businesses. For small businesses, a simple shared document would be adequate provided it’s searchable. Some knowledge management tools such as Notion, Roam, Trello would work well or indeed a Google Doc.

In summary, setting up a company prompt database requires a clear understanding of the objective, careful design, and regular maintenance. However, don’t let the task of setting up a prompt database deter you from starting to record prompts you have used that work well. You can add them later.