You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
6.6 KiB
147 lines
6.6 KiB
def generate_agent_role_prompt(agent):
|
|
"""Generates the agent role prompt.
|
|
Args: agent (str): The type of the agent.
|
|
Returns: str: The agent role prompt.
|
|
"""
|
|
prompts = {
|
|
"Finance Agent": (
|
|
"You are a seasoned finance analyst AI assistant. Your primary goal is to"
|
|
" compose comprehensive, astute, impartial, and methodically arranged"
|
|
" financial reports based on provided data and trends."
|
|
),
|
|
"Travel Agent": (
|
|
"You are a world-travelled AI tour guide assistant. Your main purpose is to"
|
|
" draft engaging, insightful, unbiased, and well-structured travel reports"
|
|
" on given locations, including history, attractions, and cultural"
|
|
" insights."
|
|
),
|
|
"Academic Research Agent": (
|
|
"You are an AI academic research assistant. Your primary responsibility is"
|
|
" to create thorough, academically rigorous, unbiased, and systematically"
|
|
" organized reports on a given research topic, following the standards of"
|
|
" scholarly work."
|
|
),
|
|
"Default Agent": (
|
|
"You are an AI critical thinker research assistant. Your sole purpose is to"
|
|
" write well written, critically acclaimed, objective and structured"
|
|
" reports on given text."
|
|
),
|
|
}
|
|
|
|
return prompts.get(agent, "No such agent")
|
|
|
|
|
|
def generate_report_prompt(question, research_summary):
|
|
"""Generates the report prompt for the given question and research summary.
|
|
Args: question (str): The question to generate the report prompt for
|
|
research_summary (str): The research summary to generate the report prompt for
|
|
Returns: str: The report prompt for the given question and research summary
|
|
"""
|
|
|
|
return (
|
|
f'"""{research_summary}""" Using the above information, answer the following'
|
|
f' question or topic: "{question}" in a detailed report -- The report should'
|
|
" focus on the answer to the question, should be well structured, informative,"
|
|
" in depth, with facts and numbers if available, a minimum of 1,200 words and"
|
|
" with markdown syntax and apa format. Write all source urls at the end of the"
|
|
" report in apa format"
|
|
)
|
|
|
|
|
|
def generate_search_queries_prompt(question):
|
|
"""Generates the search queries prompt for the given question.
|
|
Args: question (str): The question to generate the search queries prompt for
|
|
Returns: str: The search queries prompt for the given question
|
|
"""
|
|
|
|
return (
|
|
"Write 4 google search queries to search online that form an objective opinion"
|
|
f' from the following: "{question}"You must respond with a list of strings in'
|
|
' the following format: ["query 1", "query 2", "query 3", "query 4"]'
|
|
)
|
|
|
|
|
|
def generate_resource_report_prompt(question, research_summary):
|
|
"""Generates the resource report prompt for the given question and research summary.
|
|
|
|
Args:
|
|
question (str): The question to generate the resource report prompt for.
|
|
research_summary (str): The research summary to generate the resource report prompt for.
|
|
|
|
Returns:
|
|
str: The resource report prompt for the given question and research summary.
|
|
"""
|
|
return (
|
|
f'"""{research_summary}""" Based on the above information, generate a'
|
|
" bibliography recommendation report for the following question or topic:"
|
|
f' "{question}". The report should provide a detailed analysis of each'
|
|
" recommended resource, explaining how each source can contribute to finding"
|
|
" answers to the research question. Focus on the relevance, reliability, and"
|
|
" significance of each source. Ensure that the report is well-structured,"
|
|
" informative, in-depth, and follows Markdown syntax. Include relevant facts,"
|
|
" figures, and numbers whenever available. The report should have a minimum"
|
|
" length of 1,200 words."
|
|
)
|
|
|
|
|
|
def generate_outline_report_prompt(question, research_summary):
|
|
"""Generates the outline report prompt for the given question and research summary.
|
|
Args: question (str): The question to generate the outline report prompt for
|
|
research_summary (str): The research summary to generate the outline report prompt for
|
|
Returns: str: The outline report prompt for the given question and research summary
|
|
"""
|
|
|
|
return (
|
|
f'"""{research_summary}""" Using the above information, generate an outline for'
|
|
" a research report in Markdown syntax for the following question or topic:"
|
|
f' "{question}". The outline should provide a well-structured framework for the'
|
|
" research report, including the main sections, subsections, and key points to"
|
|
" be covered. The research report should be detailed, informative, in-depth,"
|
|
" and a minimum of 1,200 words. Use appropriate Markdown syntax to format the"
|
|
" outline and ensure readability."
|
|
)
|
|
|
|
|
|
def generate_concepts_prompt(question, research_summary):
|
|
"""Generates the concepts prompt for the given question.
|
|
Args: question (str): The question to generate the concepts prompt for
|
|
research_summary (str): The research summary to generate the concepts prompt for
|
|
Returns: str: The concepts prompt for the given question
|
|
"""
|
|
|
|
return (
|
|
f'"""{research_summary}""" Using the above information, generate a list of 5'
|
|
" main concepts to learn for a research report on the following question or"
|
|
f' topic: "{question}". The outline should provide a well-structured'
|
|
" frameworkYou must respond with a list of strings in the following format:"
|
|
' ["concepts 1", "concepts 2", "concepts 3", "concepts 4, concepts 5"]'
|
|
)
|
|
|
|
|
|
def generate_lesson_prompt(concept):
|
|
"""
|
|
Generates the lesson prompt for the given question.
|
|
Args:
|
|
concept (str): The concept to generate the lesson prompt for.
|
|
Returns:
|
|
str: The lesson prompt for the given concept.
|
|
"""
|
|
|
|
prompt = (
|
|
f"generate a comprehensive lesson about {concept} in Markdown syntax. This"
|
|
f" should include the definitionof {concept}, its historical background and"
|
|
" development, its applications or uses in differentfields, and notable events"
|
|
f" or facts related to {concept}."
|
|
)
|
|
|
|
return prompt
|
|
|
|
|
|
def get_report_by_type(report_type):
|
|
report_type_mapping = {
|
|
"research_report": generate_report_prompt,
|
|
"resource_report": generate_resource_report_prompt,
|
|
"outline_report": generate_outline_report_prompt,
|
|
}
|
|
return report_type_mapping[report_type]
|