Status: True
Assertion
Humans use only a small percentage of their brains.
Results
The statement’s inaccuracies lie within the historical roots section, which erroneously associates modern misconceptions about brain usage percentages with phrenology. However, the first three points correctly identify common factors contributing to the persistence of this myth, such as popular culture simplification and anecdotal evidence without scientific backing. Therefore, while one part is false, the overall classification leans towards ‘True’ due to its strong connection to other true aspects related to public misconceptions about brain usage percentages.
⇒ True: Misinterpretation or oversimplification of brain functionality in popular culture and media; Lack of public awareness about neuroscientific research findings; The belief may stem from anecdotal evidence without scientific backing, though the historical roots section contains a minor error regarding phrenology’s relation to current misunderstandings.
– False: All parts of the statement are inaccurately related to the topic, as historical references and popular culture do not directly contribute to beliefs about using only 10% of your brain. The last part is particularly incorrect since phrenology does not have a direct link with modern misconception
Assumptions
– Misinterpretation or oversimplification of brain functionality in popular culture and media.
– Lack of public awareness about neuroscientific research findings that demonstrate extensive use of the brain’s different areas.
– The belief may stem from anecdotal evidence where individuals experience improvement after using methods claiming to “unlock” unused parts of the brain, without scientific backing.
– The idea could have historical roots in phrenology, which incorrectly associated skull shape with mental faculties and functions, though this is not related to actual brain usage percentages.
It’s important to note that while it might be true that we don’t consciously use all parts of our brains at once for every task, the notion that a significant portion remains unused has been disproven by scientific evidence.
Fact Checker Output
<|assistant|> – Misinterpretation or oversimplification of brain functionality in popular culture and media: True. Popular culture often simplifies complex neuroscientific concepts into catchy phrases like “using 10% of your brain” for dramatic effect, which can mislead the public about how our brains function.
– Lack of public awareness about neuroscientific research findings: True. While scientific literature and resources are available, they may not reach a wide audience effectively, leading to misunderstandings among the general population.
– The belief may stem from anecdotal evidence without scientific backing: True. Many people report feeling better after using brain training programs or techniques that claim to unlock parts of the brain; however, these experiences are often based on subjective feelings rather than controlled scientific studies.
– Historical roots in phrenology and related misconceptions about brain usage percentages: False. Phrenology is a discredited field that has nothing to do with current understandings of brain functionality or unused areas of the brain, though it did contribute to early misunderstandings about brain functions based on skull shape—which have been debunked by modern neuroscience
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