VoltageGPU Logo
Back to Blog
Tutorial

How to Deploy Your First LLM on VoltageGPU: Step-by-Step Guide with Qwen3 32B

VG
Building the future of decentralized GPU compute

What You'll Learn

  • Set up your VoltageGPU account and generate an API key in under 2 minutes
  • Make your first API call to Qwen3 32B with cURL, Python, and TypeScript
  • Migrate from OpenAI to VoltageGPU with just 2 lines of code changes
  • Optimize performance with streaming, thinking modes, and best practices
  • Troubleshoot common issues and scale your LLM applications

🚀 Introduction to Qwen3 32B

Qwen3-32B is one of the most powerful open-source language models available today. With 32.8 billion parameters, it excels at reasoning, coding, math, multilingual tasks, and agent-based applications. Best of all? You can access it through VoltageGPU's API at a fraction of the cost of proprietary alternatives.

32.8B
Parameters
32K
Context Length
5.21M
Runs on Platform
~9 min
Avg. Read Time
Why Qwen3 32B? It uniquely supports seamless switching between "thinking mode" (for complex reasoning) and "non-thinking mode" (for fast responses) within a single model. This makes it perfect for both chatbots and complex problem-solving applications.

⚙️ Prerequisites & Setup

Before we dive in, you'll need:

  • A VoltageGPU account (free to create)
  • An API key (generated in your dashboard)
  • Basic familiarity with REST APIs
  • Python 3.8+ or Node.js 16+ (optional, for code examples)
1

Create Your VoltageGPU Account

Head to voltagegpu.com/register and sign up with your email. Verification takes less than a minute.

Pro tip: Use promo code HASHCODE-voltage-665ab4 to get $5 free credit!

2

Generate Your API Key

Once logged in, go to the API Reference page and click "Generate API Key". Copy it somewhere safe – you'll need this for all API calls.

Generate Your API Key

⚠️ Security Note

Never expose your API key in client-side code or public repositories. Use environment variables or a backend proxy for production applications.

📡 Your First API Call

Let's make your first request to Qwen3 32B! The VoltageGPU API is OpenAI-compatible, which means if you've used OpenAI's API before, you already know how to use ours.

API Endpoint

All chat completions go through:

Endpoint
POST https://api.voltagegpu.com/v1/chat/completions

💻 Code Examples

cURL Example

The quickest way to test the API from your terminal:

cURL
curl -X POST \
  https://api.voltagegpu.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "Qwen/Qwen3-32B",
    "messages": [
      {
        "role": "user",
        "content": "Explain quantum computing in simple terms."
      }
    ],
    "stream": true,
    "max_tokens": 1024,
    "temperature": 0.7
  }'

Python Example

For Python developers, here's a simple implementation:

Python
import requests

API_KEY = "YOUR_API_KEY"
API_URL = "https://api.voltagegpu.com/v1/chat/completions"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "model": "Qwen/Qwen3-32B",
    "messages": [
        {"role": "user", "content": "Write a Python function to calculate fibonacci numbers."}
    ],
    "max_tokens": 1024,
    "temperature": 0.7
}

response = requests.post(API_URL, headers=headers, json=payload)
result = response.json()

print(result["choices"][0]["message"]["content"])

Python with Streaming

For real-time responses (great for chatbots):

Python (Streaming)
import requests

API_KEY = "YOUR_API_KEY"
API_URL = "https://api.voltagegpu.com/v1/chat/completions"

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json"
}

payload = {
    "model": "Qwen/Qwen3-32B",
    "messages": [
        {"role": "user", "content": "Tell me a story about AI."}
    ],
    "stream": True,
    "max_tokens": 2048,
    "temperature": 0.7
}

response = requests.post(API_URL, headers=headers, json=payload, stream=True)

for line in response.iter_lines():
    if line:
        print(line.decode('utf-8'))

TypeScript/JavaScript Example

For Node.js or browser applications:

TypeScript
const API_KEY = "YOUR_API_KEY";
const API_URL = "https://api.voltagegpu.com/v1/chat/completions";

async function chatWithQwen(prompt: string): Promise<string> {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${API_KEY}`,
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "Qwen/Qwen3-32B",
      messages: [{ role: "user", content: prompt }],
      max_tokens: 1024,
      temperature: 0.7
    })
  });

  const data = await response.json();
  return data.choices[0].message.content;
}

// Usage
const answer = await chatWithQwen("What is machine learning?");
console.log(answer);

🔄 Migrating from OpenAI

Switch in 2 Lines of Code

Already using OpenAI's Python SDK? Migrating to VoltageGPU is incredibly simple. You just need to change the base_url and api_key:

❌ Before (OpenAI)
from openai import OpenAI

client = OpenAI(api_key="sk-...")

response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)
✅ After (VoltageGPU)
from openai import OpenAI

# Just change the base_url and api_key!
client = OpenAI(
    base_url="https://api.voltagegpu.com/v1",
    api_key="YOUR_VOLTAGEGPU_API_KEY"
)

response = client.chat.completions.create(
    model="Qwen/Qwen3-32B",  # Use any VoltageGPU model
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

✅ Full Compatibility

VoltageGPU's API is fully compatible with OpenAI's SDK. All your existing code, including streaming, function calling, and JSON mode, works out of the box!

🧠 Advanced Features & Thinking Mode

Qwen3 32B has a unique feature: Thinking Mode. When enabled, the model shows its reasoning process before giving the final answer. This is perfect for:

  • Complex math problems
  • Multi-step reasoning tasks
  • Code debugging and analysis
  • Decision-making explanations

Enabling Thinking Mode

Use these recommended parameters for thinking mode:

JSON
{
  "model": "Qwen/Qwen3-32B",
  "messages": [
    {
      "role": "user", 
      "content": "Solve this step by step: What is 15% of 240?"
    }
  ],
  "temperature": 0.6,
  "top_p": 0.95,
  "max_tokens": 4096
}

💡 Best Practices for Thinking Mode

Use temperature=0.6, top_p=0.95, and top_k=20 for optimal thinking mode performance. Avoid greedy decoding (temperature=0) as it can cause repetitions.

Scaling Your Application

As your application grows, consider these optimization strategies:

  • Batch requests: Group multiple prompts when possible
  • Caching: Cache common responses to reduce API calls
  • Streaming: Use streaming for better user experience
  • Context management: Keep conversation history concise

🔧 Troubleshooting & Best Practices

Common Issues

401 Unauthorized

Cause: Invalid or missing API key
Solution: Check that your API key is correct and included in theAuthorization: Bearer YOUR_KEY header.

429 Rate Limited

Cause: Too many requests in a short period
Solution: Implement exponential backoff or upgrade your plan for higher limits.

500 Internal Server Error

Cause: Temporary server issue
Solution: Retry after a few seconds. If persistent, check our status page.

Performance Tips

  • Set appropriate max_tokens to avoid unnecessary computation
  • Use stop sequences to end generation early when appropriate
  • For production, implement retry logic with exponential backoff
  • Monitor your usage in the dashboard to optimize costs

Ready to Build with Qwen3 32B?

Start deploying powerful LLMs today with VoltageGPU's serverless API. No GPU management, no infrastructure headaches.

🚀 Try Qwen3 32B Now

This tutorial was created by the VoltageGPU team. Qwen3 32B is developed by Alibaba's Qwen team and is available under the Apache 2.0 license. VoltageGPU provides API access to this and many other open-source models. Pricing and availability may vary.