Herramienta de línea de comandos para verificar afirmaciones
Una herramienta de línea de comandos que identifica afirmaciones falsas o engañosas en artículos o declaraciones usando la API Sonar de Perplexity para investigación web.
Características
- Analiza afirmaciones o artículos completos para verificar su precisión factual.
- Identifica afirmaciones falsas, engañosas o inverificables.
- Proporciona explicaciones y correcciones para información inexacta.
- Genera resultados en formato legible para humanos o JSON estructurado.
- Cita fuentes confiables para las evaluaciones de verificación de hechos.
- Aprovecha las salidas estructuradas de Perplexity para un análisis JSON confiable (para usuarios de Nivel 3+).
Instalación
1. Instala las dependencias requeridas
# Install from requirements file (recommended)
pip install -r requirements.txt
# Or install manually
pip install requests pydantic newspaper3k
2. Haz el script ejecutable
chmod +x fact_checker.py
Configuración de la clave API
La herramienta requiere una clave API de Perplexity para funcionar. Puedes proporcionarla de una de estas maneras:
1. Como argumento de línea de comandos
./fact_checker.py --api-key YOUR_API_KEY
2. Como variable de entorno
export PPLX_API_KEY=YOUR_API_KEY
3. En un archivo
Crea un archivo llamado pplx_api_key o .pplx_api_key en el mismo directorio que el script:
echo "YOUR_API_KEY" > .pplx_api_key
chmod 600 .pplx_api_key
Nota: Si estás usando la función de salidas estructuradas, necesitarás una cuenta de API de Perplexity con un nivel de acceso de Nivel 3 o superior.
Inicio rápido
Ejecuta el siguiente comando inmediatamente después de la configuración:
./fact_checker.py -t "The Earth is flat and NASA is hiding the truth."
Esto analizará la afirmación, la investigará usando la API Sonar de Perplexity y devolverá una verificación de hechos detallada con calificaciones, explicaciones y fuentes.
Uso
Verificar una afirmación
./fact_checker.py --text "The Earth is flat and NASA is hiding the truth."
Verificar un artículo desde un archivo
./fact_checker.py --file article.txt
Verificar un artículo desde una URL
./fact_checker.py --url https://www.example.com/news/article-to-check
Especificar un modelo diferente
./fact_checker.py --text "Global temperatures have decreased over the past century." --model "sonar-pro"
Generar resultados como JSON
./fact_checker.py --text "Mars has a breathable atmosphere." --json
Usar un archivo de prompt personalizado
./fact_checker.py --text "The first human heart transplant was performed in the United States." --prompt-file custom_prompt.md
Habilitar salidas estructuradas (para usuarios de Nivel 3+)
La salida estructurada está deshabilitada por defecto. Para habilitarla, pasa la bandera --structured-output:
./fact_checker.py --text "Vaccines cause autism." --structured-output
Obtener ayuda
./fact_checker.py --help
Formato de salida
La herramienta proporciona una salida que incluye:
- Calificación general: MOSTLY_TRUE (MAYORMENTE_VERDADERO), MIXED (MIXTO) o MOSTLY_FALSE (MAYORMENTE_FALSO)
- Resumen: Una breve descripción de los hallazgos de la verificación de hechos
- Análisis de afirmaciones: Una lista de afirmaciones específicas con calificaciones individuales:
- TRUE (VERDADERO): Factualmente preciso y respaldado por evidencia
- FALSE (FALSO): Contradecido por evidencia
- MISLEADING (ENGAÑOSO): Contiene algo de verdad, pero podría llevar a conclusiones incorrectas
- UNVERIFIABLE (INVERIFICABLE): No se puede verificar de manera concluyente con la información disponible
- Explicaciones: Razonamiento detallado para cada afirmación
- Fuentes: Citas y URL utilizadas para la verificación
Ejemplo
Ejecuta el siguiente comando:
./fact_checker.py -t "The Great Wall of China is visible from the moon."
Ejemplo de salida:
Fact checking in progress...
🔴 OVERALL RATING: MOSTLY_FALSE
📝 SUMMARY:
The claim that the Great Wall of China is visible from the moon is false. This is a common misconception that has been debunked by NASA astronauts and scientific evidence.
🔍 CLAIMS ANALYSIS:
Claim 1: ❌ FALSE
Statement: "The Great Wall of China is visible from the moon."
Explanation: The Great Wall of China is not visible from the moon with the naked eye. NASA astronauts have confirmed this, including Neil Armstrong who stated he could not see the Wall from lunar orbit. The Wall is too narrow and is similar in color to its surroundings when viewed from such a distance.
Sources:
- NASA.gov
- Scientific American
- National Geographic
Limitaciones
- La precisión de la verificación de hechos depende de la calidad de la información disponible a través de la API Sonar de Perplexity.
- Como todos los modelos de lenguaje, la IA subyacente puede tener limitaciones en ciertos dominios especializados.
- La función de salidas estructuradas requiere una cuenta de API de Perplexity de Nivel 3 o superior.
- La herramienta no reemplaza los servicios profesionales de verificación de hechos para contenido altamente sensible o complejo.