|
from typing import List |
|
|
|
def get_classification_prompt(categories_list: List[str]) -> str: |
|
"""Generate classification prompt based on the categories list.""" |
|
categories_str = ', '.join([f"'{category}'" for category in categories_list]) |
|
return ( |
|
f"Classify the following query into one of the following categories: {categories_str}. " |
|
f"If it doesn't fit into any category, respond with 'None'. " |
|
f"Return the classification, do not output absolutely anything else." |
|
) |
|
|
|
|
|
def get_query_generation_prompt(query_str: str, num_queries: int) -> str: |
|
"""Generate query generation prompt based on query string and number of sub-queries.""" |
|
return ( |
|
f"You are an expert at distilling a user question into sub-questions that can be used to fully answer the original query. " |
|
f"First, identify the key words from the original question below: \n" |
|
f"{query_str}" |
|
f"Generate {num_queries} sub-queries that cover the different aspects needed to fully address the user's query.\n\n" |
|
f"Here is an example: \n" |
|
f"Original Question: What does test data mean and what do I need to know about it?\n" |
|
f"Output:\n" |
|
f"definition of 'test data'\n" |
|
f"test data requirements and conditions for a bias audit\n" |
|
f"examples of the use of test data in a bias audit\n\n" |
|
f"Output the rewritten sub-queries, one on each line, do not output absolutely anything else." |
|
) |
|
|