Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import torch | |
| from transformers import GPT2LMHeadModel, GPT2Tokenizer | |
| import random | |
| # Load GPT-2 model and tokenizer | |
| def load_model(): | |
| tokenizer = GPT2Tokenizer.from_pretrained("gpt2") | |
| model = GPT2LMHeadModel.from_pretrained("gpt2") | |
| return tokenizer, model | |
| tokenizer, model = load_model() | |
| # Honest AI response logic (open to any prompt) | |
| def honest_ai_response(user_input): | |
| prompt = f"Provide a factual and balanced answer to the question: {user_input}" | |
| inputs = tokenizer.encode(prompt, return_tensors="pt") | |
| outputs = model.generate( | |
| inputs, | |
| max_length=100, | |
| temperature=0.7, | |
| top_k=50, | |
| num_return_sequences=1, | |
| pad_token_id=tokenizer.eos_token_id | |
| ) | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| answer = response.replace(prompt, "").strip() | |
| return answer if answer else "I’m not sure, but I can try to provide a general perspective." | |
| # Echo Chamber AI response logic | |
| def echo_chamber_ai_response(user_input): | |
| agreement_phrases = [ | |
| "You're absolutely right!", | |
| "I completely agree with you!", | |
| "That's a great point!", | |
| "Many people share your view!" | |
| ] | |
| agreement = random.choice(agreement_phrases) | |
| return f"{agreement} {user_input}" | |
| # Streamlit UI | |
| st.title("AI That Only Tells You What You Want to Hear") | |
| st.write("A demo showing how AI can become an echo chamber when trained to agree with you.") | |
| # Mode selection | |
| mode = st.radio("Select AI Mode:", ("Honest AI", "Echo Chamber AI")) | |
| # User input | |
| user_input = st.text_input("Say something to the AI:", "Is AI dangerous?") | |
| # Generate response based on mode | |
| if st.button("Get Response"): | |
| if mode == "Honest AI": | |
| response = honest_ai_response(user_input) | |
| else: # Echo Chamber AI | |
| response = echo_chamber_ai_response(user_input) | |
| st.write("**AI Response:**", response) | |
| # Explanation | |
| st.write("### What’s Happening?") | |
| st.write(""" | |
| - **Honest AI**: Attempts to provide a factual and balanced response based on general knowledge (generated by AI). | |
| - **Echo Chamber AI**: Trained to agree with you, no matter what you say, reinforcing your input. | |
| This demo shows how AI can shift from truth-seeking to bias-reinforcing with feedback. | |
| """) |