TextualVerifier

A self-verification framework that leverages Large Language Models for step-by-step verification in textual optimization processes.

Key Features

Powerful verification capabilities for modern textual optimization workflows

🔄

Step-by-Step Verification

Systematic four-stage verification process that decomposes complex reasoning chains into verifiable components.

🧠

Multi-Perspective Analysis

Leverages rule-based, pedagogical, and domain-specific verification approaches for robust consensus.

TextGrad Integration

Seamlessly integrates with TextGrad optimization workflows for enhanced accuracy and reliability.

🎯

Modular Architecture

Flexible configuration options supporting different verification modes and computational requirements.

📊

Performance Validated

Proven improvements across academic benchmarks including GPQA-Diamond, MMLU-ML, and MMLU-CP.

🔧

Easy Implementation

Simple API design with comprehensive documentation and examples for quick integration.

Verification Architecture

Four-stage process for systematic verification and optimization

1
Step Extraction
Decompose reasoning chains using CoT prompting
2
Variant Generation
Create multiple verification perspectives
3
Majority Voting
Consensus-based selection mechanism
4
Step Merging
Consolidate verified reasoning chain

Performance Results

Validated improvements across academic benchmarks

+5.56pp
GPQA-Diamond
Graduate-level science questions
+7.14pp
MMLU-ML
Machine learning knowledge
+2.94pp
MMLU-CP
College physics problems
100%
Success Rate
Robust error handling

Quick Start

Get started with TextualVerifier in minutes

from textualverifier import TextualVerifier from textgrad.engine import get_engine # Initialize the verifier engine = get_engine("gpt-4o") verifier = TextualVerifier( verifier_engine=engine, use_cot_generation=True, use_step_breakdown=True ) # Verify a calculation verified_result = verifier.verify( instance=Variable("Solve x² - 7x + 2 = 0"), instruction=Variable("Solve step by step"), calculation=Variable("Using quadratic formula...") ) print(verified_result.value)