Skip to main content

LlamaIndex Integration

Use QWED with LlamaIndex for verified RAG pipelines.

Installation

pip install qwed llama-index

Quick Start

from qwed_sdk.llamaindex import QWEDQueryEngine

# Wrap any query engine with verification
verified_engine = QWEDQueryEngine(base_engine)

response = verified_engine.query("What is 15% of 200?")
print(response.verified)  # True/False
print(response.response)  # The answer

QWEDQueryEngine

Wraps any LlamaIndex query engine to add verification:
from llama_index.core import VectorStoreIndex
from qwed_sdk.llamaindex import QWEDQueryEngine

# Create base engine
index = VectorStoreIndex.from_documents(documents)
base_engine = index.as_query_engine()

# Wrap with QWED
verified_engine = QWEDQueryEngine(
    base_engine,
    api_key="qwed_...",
    verify_math=True,
    verify_facts=True,
    auto_correct=False,
)

response = verified_engine.query("Calculate the total cost")
print(response.verified)

QWEDVerificationTransform

Node postprocessor that verifies retrieved content:
from qwed_sdk.llamaindex import QWEDVerificationTransform

engine = index.as_query_engine(
    node_postprocessors=[
        QWEDVerificationTransform(
            verify_math=True,
            verify_code=True,
        )
    ]
)

QWEDCallbackHandler

Track verification across all operations:
from llama_index.core import Settings
from qwed_sdk.llamaindex import QWEDCallbackHandler

Settings.callback_manager.add_handler(
    QWEDCallbackHandler(log_all=True)
)

QWEDVerifyTool

For LlamaIndex agents:
from llama_index.core.agent import ReActAgent
from qwed_sdk.llamaindex import QWEDVerifyTool

tools = [QWEDVerifyTool()]
agent = ReActAgent.from_tools(tools, llm=llm)

VerifiedResponse

@dataclass
class VerifiedResponse:
    response: str
    verified: bool
    status: str
    confidence: float
    attestation: Optional[str]
    source_nodes: List[Any]