Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.qwedai.com/llms.txt

Use this file to discover all available pages before exploring further.

Learn how to set up and run QWED in your development environment.
Don’t call your LLM directly. QWED runs as a backend server with your LLM API keys configured in environment variables. See Common pitfalls for details.

Architecture overview

QWED uses a backend server model:
Your application
  ↓ (SDK calls)
QWED backend server (you run this)
  ├─ Your LLM API key (from .env)
  ├─ LLM calls (OpenAI/Anthropic/etc)
  ├─ Formal verifiers (SymPy, Z3)
  └─ Returns verified result

Step 1: Clone and install

# Clone the repository
git clone https://github.com/QWED-AI/qwed-verification.git
cd qwed-verification

# Install Python dependencies
pip install -r requirements.txt

Step 2: Configure LLM provider

QWED is model agnostic — select any LLM based on your needs:

Create environment file

# Copy example configuration
cp .env.example .env

Select your LLM provider

Edit .env and add your API key for one provider:
# .env
ACTIVE_PROVIDER=openai
OPENAI_API_KEY=sk-proj-...
Get an API key: https://platform.openai.com/api-keys
For AWS Bedrock and more options, see LLM configuration.

Step 3: Run the QWED backend server

# Start the backend server
python -m qwed_api

# You should see:
# INFO: Uvicorn running on http://0.0.0.0:8000
Keep this terminal running. The server must stay active.

Step 4: Install the SDK

In a new terminal, install the QWED SDK in your project:
pip install qwed

Step 5: Use the SDK

Connect your application to the local QWED backend:
from qwed import QWEDClient

# Connect to local backend
client = QWEDClient(
    api_key="qwed_local",  # Local auth key
    base_url="http://localhost:8000"
)

# Verify a mathematical claim
result = client.verify("Is 2+2 equal to 4?")

print(result.verified)  # True
print(result.evidence)  # {"calculated": 4, "claimed": 4}

Verify installation

Run this test to ensure everything is working:
from qwed import QWEDClient

client = QWEDClient(
    api_key="qwed_local",
    base_url="http://localhost:8000"
)

# Test 1: Math verification
assert client.verify("2+2=4").verified == True
print("✅ Math verification works!")

# Test 2: Error detection
assert client.verify("2+2=5").verified == False
print("✅ Error detection works!")

# Test 3: Code security
result = client.verify_code("eval(user_input)", language="python")
assert result.blocked == True
print("✅ Security detection works!")

print("\n🎉 QWED is working correctly!")

Next steps

Once your integration is working:

Troubleshooting

Backend won’t start

Problem:
Error: ANTHROPIC_API_KEY environment variable not set
Solution: Check your .env file has the correct API key for your selected provider.

SDK can’t connect

Problem:
Connection refused to http://localhost:8000
Solution:
  1. Make sure backend is running (python -m qwed_api)
  2. Check backend terminal for errors
  3. Verify port 8000 is not blocked

Wrong results

Problem: Verification results are incorrect or unexpected. Solution:
  1. Check which LLM provider you configured
  2. Verify your API key is valid
  3. See Testing guide for detailed diagnostics

Need help?