Status: True
Assertion
People only have 5 senses.
Results
These assumptions collectively contribute to our understanding of human perception by acknowledging that it is not limited to the traditional five senses but involves a complex interplay between various parts of the brain and other physiological systems. This knowledge can have significant implications on neuroscience research, such as developing new diagnostic tools for neurological disorders or designing therapies that target specific perception-related neural pathways. Additionally, understanding these additional senses and their contributions to human perception could lead to advancements in virtual reality technology and other technologies aimed at enhancing our interaction with digital environments.
False: This statement is not false since all three assumptions have been supported by scientific evidence. However, the classification would be ‘Debatable’ if one were to challenge these conclusions or question their validity based on different perspectives in neuroscience research.
Debatable: While there may be some debate within the field of neuroscience regarding specific aspects of human perception and its underlying mechanisms, the general idea that humans have additional senses beyond traditional five is widely accepted. Nevertheless, understanding these additional senses and their implications on our overall perception might still be an
Assumptions
* Assumption 1: Humans have additional sensory capabilities beyond the traditional five basic senses (sight, hearing, smell, taste, and touch).
* Assumption 2: The perception of our environment is not solely based on these traditional five senses; other parts of the brain play a role in interpreting information.
* Assumption 3: There are various ways through which humans can perceive their surroundings, including balance and body positioning.
* Assumption 4: The number of basic senses may vary among individuals or species, as different organisms might have unique sensory capabilities.
* Assumption 5: Scientific research has identified additional senses in humans that were previously not considered part of the traditional five basic senses.
Support: These assumptions support the statement by acknowledging that our understanding of human perception is evolving and more comprehensive than just considering the five classical senses alone. They recognize the role of different brain regions, alternative ways of perceiving information, and variations among individuals or species in their sensory capabilities. The assumption about scientific research also provides evidence for additional senses being discovered beyond what was traditionally considered.
<|assistant|> – Humans possess an array
Fact Checker Output
– Evaluate how these assumptions collectively contribute to our understanding of human perception and the potential implications on neuroscience research.
<|assistant|> True:
* Assumption 1: Humans have additional sensory capabilities beyond the traditional five basic senses (sight, hearing, smell, taste, and touch). – This is true as scientific discoveries have shown humans possess a variety of other senses like thermoception (temperature), proprioception (body positioning), nociception (pain), etc.
* Assumption 2: The perception of our environment is not solely based on these traditional five senses; other parts of the brain play a role in interpreting information. – This is true, as research has shown that various regions in the brain contribute to different aspects of perception, like vision (occipital lobe), audition (temporal lobe) etc.
* Assumption 3: There are various ways through which humans can perceive their surroundings, including balance and body positioning. – This is true since proprioceptors in our muscles and joints help us sense our body’s position in space and movement (vestibular system
Model Used
microsoft/Phi-3-mini-4k-instruct-gguf
Script Name
fact_checker_mongodb.py
Script Code
import os
import sys
import requests
from langchain_openai.llms import OpenAI
from langchain.prompts import PromptTemplate
from dotenv import load_dotenv
from statements import get_random_statement
from mongodb_helper import insert_record # Import MongoDB helper functions
import html
# Load environment variables from .env file
load_dotenv()
# Define category IDs
CATEGORY_IDS = {
"True": 2,
"False": 3,
"Debatable": 4,
"Unknown": 6
}
def create_wordpress_post(title, content, category):
data = {
"title": title,
"content": content,
"status": "publish",
"categories": [CATEGORY_IDS[category]]
}
response = requests.post(
os.getenv("WORDPRESS_POSTS_URL"),
json=data,
auth=(os.getenv("WORDPRESS_USERNAME"), os.getenv("WORDPRESS_PASSWORD"))
)
if response.status_code == 201:
print("Blog post created successfully.")
else:
print(f"Failed to create blog post: {response.status_code} - {response.text}")
def fact_check(assertion):
llm = OpenAI(temperature=0.7, model=os.getenv("MODEL_NAME"))
# Define the prompt templates
assertion_template = """{assertion}\n\n"""
assertion_prompt = PromptTemplate(input_variables=["assertion"], template=assertion_template)
assumptions_template = """Here is a statement:
{statement}
Make a bullet point list of the assumptions required to support the above statement.\n\n"""
assumptions_prompt = PromptTemplate(input_variables=["statement"], template=assumptions_template)
fact_checker_template = """Here is a bullet point list of assertions:
{assertions}
For each assumption, determine whether it is true or false. Explain your reasoning.\n\n"""
fact_checker_prompt = PromptTemplate(input_variables=["assertions"], template=fact_checker_template)
answer_template = """
Here is the information to classify the statement:
{facts}
Based on the above information, how would you classify the statement? Respond with one of the following options followed by a colon and space:
- True: [Explanation]
- False: [Explanation]
- Debatable: [Explanation]
"""
answer_prompt = PromptTemplate(input_variables=["facts"], template=answer_template)
# Format prompts and extract the string content
formatted_assertion = assertion_prompt.format_prompt(assertion=assertion).text
assertion_output = llm.invoke(formatted_assertion)
formatted_assumptions = assumptions_prompt.format_prompt(statement=assertion_output).text
assumptions_output = llm.invoke(formatted_assumptions)
formatted_fact_checker = fact_checker_prompt.format_prompt(assertions=assumptions_output).text
fact_checker_output = llm.invoke(formatted_fact_checker)
formatted_answer = answer_prompt.format_prompt(facts=fact_checker_output).text
final_output = llm.invoke(formatted_answer)
return {
"assertion_output": assertion_output,
"assumptions_output": assumptions_output,
"fact_checker_output": fact_checker_output,
"final_output": final_output,
}
def extract_status_and_reasoning(final_output):
final_output = final_output.strip()
if "True:" in final_output:
status_start = final_output.find("True:")
status = "True"
elif "False:" in final_output:
status_start = final_output.find("False:")
status = "False"
elif "Debatable:" in final_output:
status_start = final_output.find("Debatable:")
status = "Debatable"
else:
return "Unknown", final_output
reasoning = final_output[status_start + len(status) + 1:].strip()
return status, reasoning
if __name__ == "__main__":
if len(sys.argv) > 1:
assertion = sys.argv[1]
else:
assertion = get_random_statement()
print(assertion)
submission = fact_check(assertion)
# Print the detailed outputs to inspect their structure
for key, value in submission.items():
print(f"{key}: {value}")
# Extract the final output for status determination and reasoning
final_output = submission['final_output']
status, reasoning = extract_status_and_reasoning(final_output)
# Record the result in MongoDB
try:
print("Attempting to insert record into MongoDB...")
insert_record(
script_name="fact_checker_mongodb.py",
script_code=html.escape(open(__file__).read()),
assertion=assertion,
status=status,
submission=submission, # Store the entire submission for detailed analysis
model=os.getenv("MODEL_NAME")
)
print("Record inserted into MongoDB successfully.")
except Exception as e:
print(f"Failed to insert record into MongoDB: {e}")
print(final_output)
# Create a blog post on WordPress
blog_title = f"Fact Check: {assertion}"
blog_content = f"""
<h1>Status: {status}</h1>
<h2>Assertion</h2>
<p>{assertion}</p>
<h2>Results</h2>
<p>{reasoning}</p>
<h3>Assumptions</h3>
<p>{submission['assumptions_output']}</p>
<h3>Fact Checker Output</h3>
<p>{submission['fact_checker_output']}</p>
<h4>Model Used</h4>
<p>{os.getenv("MODEL_NAME")}</p>
<h4>Script Name</h4>
<p>fact_checker_mongodb.py</p>
<h4>Script Code</h4>
<pre>{html.escape(open(__file__).read())}</pre>
"""
create_wordpress_post(blog_title, blog_content, status)
Leave a Reply