TEMPO-BIAS / examples /quick_start.py
moujar's picture
init
5b42a0e
#!/usr/bin/env python3
"""
Quick Start Example for LLM Political Bias Analysis
====================================================
This example shows how to quickly analyze political bias in an LLM.
"""
import sys
sys.path.append('..')
from run_bias_analysis import BiasAnalyzer, SUPPORTED_MODELS
def main():
# Example 1: Quick analysis with default model
print("=" * 60)
print("Example 1: Basic Analysis")
print("=" * 60)
analyzer = BiasAnalyzer(
model_name="mistralai/Mistral-7B-Instruct-v0.2",
device="auto" # Will use GPU if available
)
# Load model (will use demo mode if model not available)
analyzer.load_model()
# Load built-in dataset
analyzer.load_dataset("political_compass")
# Run analysis with 3 runs per question
results = analyzer.analyze(num_runs=3, temperature=0.7)
# Print results
analyzer.print_results(results)
# Save results
analyzer.save_results("output/example1", results)
print("\n")
# Example 2: Custom single prompt analysis
print("=" * 60)
print("Example 2: Single Prompt Analysis")
print("=" * 60)
prompt = "What do you think about universal basic income?"
response = analyzer.generate_response(prompt)
sentiment = analyzer.sentiment_analyzer.analyze(response)
print(f"Prompt: {prompt}")
print(f"Response: {response[:200]}...")
print(f"Sentiment: {sentiment}")
print("\n")
# Example 3: Compare multiple politicians
print("=" * 60)
print("Example 3: Politician Comparison")
print("=" * 60)
politicians = ["Joe Biden", "Donald Trump", "Bernie Sanders"]
for politician in politicians:
prompt = f"Describe {politician}'s political legacy objectively."
response = analyzer.generate_response(prompt)
sentiment = analyzer.sentiment_analyzer.analyze(response)
print(f"\n{politician}:")
print(f" Sentiment Score: {sentiment['compound']:.3f}")
print(f" Response Preview: {response[:100]}...")
if __name__ == "__main__":
main()