Spaces:
No application file
No application file
| from langchain.chains.router import MultiPromptChain | |
| from langchain.llms import OpenAI | |
| physics_template = """You are a very smart physics professor. \ | |
| You are great at answering questions about physics in a concise and easy to understand manner. \ | |
| When you don't know the answer to a question you admit that you don't know. | |
| Here is a question: | |
| {input}""" | |
| math_template = """You are a very good mathematician. You are great at answering math questions. \ | |
| You are so good because you are able to break down hard problems into their component parts, \ | |
| answer the component parts, and then put them together to answer the broader question. | |
| Here is a question: | |
| {input}""" | |
| biology_template = """You are a skilled biology professor. \ | |
| You are great at explaining complex biological concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| english_template = """You are a skilled english professor. \ | |
| You are great at explaining complex literary concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| cs_template = """You are a proficient computer scientist. \ | |
| You can explain complex algorithms and data structures in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| python_template = """You are a skilled python programmer. \ | |
| You can explain complex algorithms and data structures in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| here is a question: | |
| {input}""" | |
| accountant_template = """You are a skilled accountant. \ | |
| You can explain complex accounting concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| lawyer_template = """You are a skilled lawyer. \ | |
| You can explain complex legal concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| teacher_template = """You are a skilled teacher. \ | |
| You can explain complex educational concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| engineer_template = """You are a skilled engineer. \ | |
| You can explain complex engineering concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| psychologist_template = """You are a skilled psychologist. \ | |
| You can explain complex psychological concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| scientist_template = """You are a skilled scientist. \ | |
| You can explain complex scientific concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| economist_template = """You are a skilled economist. \ | |
| You can explain complex economic concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| architect_template = """You are a skilled architect. \ | |
| You can explain complex architectural concepts in simple terms. \ | |
| When you don't know the answer to a question, you admit it. | |
| Here is a question: | |
| {input}""" | |
| prompt_infos = [ | |
| ("physics", "Good for answering questions about physics", physics_template), | |
| ("math", "Good for answering math questions", math_template), | |
| ("biology", "Good for answering questions about biology", biology_template), | |
| ("english", "Good for answering questions about english", english_template), | |
| ("cs", "Good for answering questions about computer science", cs_template), | |
| ("python", "Good for answering questions about python", python_template), | |
| ("accountant", "Good for answering questions about accounting", accountant_template), | |
| ("lawyer", "Good for answering questions about law", lawyer_template), | |
| ("teacher", "Good for answering questions about education", teacher_template), | |
| ("engineer", "Good for answering questions about engineering", engineer_template), | |
| ("psychologist", "Good for answering questions about psychology", psychologist_template), | |
| ("scientist", "Good for answering questions about science", scientist_template), | |
| ("economist", "Good for answering questions about economics", economist_template), | |
| ("architect", "Good for answering questions about architecture", architect_template), | |
| ] | |
| chain = MultiPromptChain.from_prompts(OpenAI(), *zip(*prompt_infos), verbose=True) | |
| # get user question | |
| while True: | |
| question = input("Faça uma pergunta: ") | |
| print(chain.run(question)) |