Lewati ke konten utama

Cara Menyiapkan dan Menjalankan QwQ 32B Secara Lokal dengan Ollama

Pelajari cara menginstal, menyiapkan, dan menjalankan QwQ-32B secara lokal dengan Ollama serta membangun aplikasi Gradio sederhana.
· 12 mnt Baca

Jelajahi bersama AI

QwQ-32B adalah model penalaran milik Qwen, yang dirancang untuk unggul dalam pemecahan masalah dan tugas penalaran yang kompleks. Meskipun hanya memiliki 32 miliar parameter, model ini mencapai performa yang sebanding dengan DeepSeek-R1 yang jauh lebih besar, dengan 671 miliar parameter.

Dalam tutorial ini, saya akan memandu Anda menyiapkan dan menjalankan QwQ-32B secara lokal menggunakan Ollama, sebuah alat yang menyederhanakan inferensi LLM lokal. Panduan ini mencakup: 

  • Eksekusi melalui terminal atau IDE: Termasuk cuplikan kode ringkas untuk menjalankan QwQ-32B melalui terminal atau IDE pilihan Anda.
  • Demo langsung: Membangun proyek demo langsung yang memanfaatkan kemampuan berpikir terstruktur QwQ-32B.

Mengapa Menjalankan QwQ-32B Secara Lokal?

Terlepas dari ukurannya, QwQ-32B dapat di-kuantisasi agar berjalan efisien pada perangkat konsumen. Menjalankan QwQ-32B secara lokal memberi Anda kendali penuh atas eksekusi model tanpa bergantung pada server eksternal. Berikut beberapa keunggulan menjalankan QwQ-32B secara lokal:

  • Privasi & keamanan: Tidak ada data yang keluar dari sistem Anda.
  • Akses tanpa hambatan: Hindari batasan kuota, downtime, atau gangguan layanan.
  • Performa: Dapatkan respons lebih cepat dengan inferensi lokal, menghindari latensi API.
  • Kustomisasi: Ubah parameter, haluskan prompt, dan integrasikan model ke aplikasi lokal.
  • Efisiensi biaya: Hilangkan biaya API dengan menjalankan model secara lokal.
  • Ketersediaan offline: Bekerja tanpa koneksi internet setelah model diunduh.

Menyiapkan QwQ-32B Secara Lokal dengan Ollama

Ollama memudahkan menjalankan LLM secara lokal dengan menangani unduhan model, kuantisasi, dan eksekusi.

Langkah 1: Instal Ollama

Unduh dan instal Ollama dari situs resmi. 

Mengunduh Ollama

Setelah unduhan selesai, instal aplikasi Ollama seperti Anda memasang aplikasi lainnya. 

Langkah 2: Unduh dan jalankan QwQ-32B

Mari uji penyiapan dan unduh model kita. Jalankan terminal dan ketik perintah berikut untuk mengunduh dan menjalankan model QwQ-32B:

ollama run qwq:32b

Mengunduh model Qwen QwQ 32B melalui Ollama

QwQ-32B adalah model besar. Jika sistem Anda memiliki sumber daya terbatas, Anda dapat memilih versi terkuantisasi yang lebih kecil. Misalnya, di bawah ini, kita menggunakan versi Q4_K_M, yaitu model 19,85GB yang menyeimbangkan performa dan ukuran:

ollama run qwq:Q4_K_M

versi terkuantisasi qwq-32b

Sumber: Hugging Face

Anda dapat menemukan lebih banyak model terkuantisasi di sini.

Langkah 3: Menjalankan QwQ-32B di latar belakang

Untuk menjalankan QwQ-32B secara terus-menerus dan menyajikannya melalui API, mulai server Ollama:

ollama serve

Ini akan membuat model tersedia untuk aplikasi yang dibahas pada bagian berikutnya.

Menggunakan QwQ-32B Secara Lokal

Sekarang QwQ-32B sudah siap, mari jelajahi cara berinteraksi dengannya.

Langkah 1: Menjalankan inferensi melalui CLI

Setelah model diunduh, Anda dapat berinteraksi langsung dengan model QwQ-32B di terminal:

ollama run qwq
How many r's are in the word "strawberry”?

Model QwQ 32b berjalan di terminal

Respons model umumnya berupa respons pemikiran (terbungkus dalam tab <think> </think>) diikuti jawaban akhir.

Langkah 2: Mengakses QwQ-32B melalui API

Untuk mengintegrasikan QwQ-32B ke dalam aplikasi, Anda dapat menggunakan API Ollama dengan curl. Jalankan perintah curl berikut di terminal Anda.

curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{
  "model": "qwq",
  "messages": [{"role": "user", "content": "Explain Newton second law of motion"}], 
  "stream": false
}'

curl adalah alat baris perintah bawaan Linux yang juga berfungsi di macOS. Alat ini memungkinkan pengguna membuat permintaan HTTP langsung dari terminal, sehingga sangat cocok untuk berinteraksi dengan API.

Menjalankan model QwQ 32b menggunakan perintah curl

Catatan: Pastikan penempatan tanda kutip benar dan memilih port localhost yang tepat untuk mencegah kesalahan dquote.

Langkah 3: Menjalankan QwQ-32B dengan Python

Kita dapat menjalankan Ollama di lingkungan pengembangan terintegrasi (IDE) apa pun. Anda dapat menginstal paket Python Ollama menggunakan kode berikut: 

pip install ollama

Setelah Ollama terpasang, gunakan skrip berikut untuk berinteraksi dengan model:

import ollama
response = ollama.chat(
    model="qwq",
    messages=[
        {"role": "user", "content": "Explain Newton's second law of motion"},
    ],
)
print(response["message"]["content"])

Fungsi ollama.chat() menerima nama model dan prompt pengguna, memprosesnya sebagai percakapan. Skrip kemudian mengekstrak dan mencetak respons model.

Menjalankan model QwQ 32b menggunakan Python

Menjalankan Aplikasi Penalaran Logis dengan QwQ-32B Secara Lokal

Kita dapat membuat asisten penalaran logis sederhana menggunakan QwQ-32B dan Gradio, yang akan menerima pertanyaan dari pengguna dan menghasilkan respons yang terstruktur dan logis. Aplikasi ini akan menggunakan pendekatan berpikir bertahap QwQ-32B untuk memberikan jawaban yang jelas dan beralasan, sehingga berguna untuk pemecahan masalah, bimbingan belajar, dan pengambilan keputusan berbantuan AI.

Langkah 1: Prasyarat

Sebelum masuk ke implementasi, mari pastikan kita memiliki alat dan pustaka berikut terpasang:

  • Python 3.8+
  • Gradio: Untuk membuat antarmuka web yang ramah pengguna.
  • Ollama: Pustaka untuk mengakses model secara lokal

Jalankan perintah berikut untuk memasang dependensi yang diperlukan:

pip install gradio ollama

Setelah dependensi di atas dipasang, jalankan perintah import berikut:

import gradio as gr
import ollama
import re

Langkah 2: Mengajukan kueri ke QwQ 32B menggunakan Ollama

Sekarang dependensi kita sudah siap, kita akan membangun fungsi kueri untuk mengirim pertanyaan ke model dan mendapatkan respons terstruktur.

def query_qwq(question):
    response = ollama.chat(
        model="qwq",
        messages=[{"role": "user", "content": question}]
    )
    full_response = response["message"]["content"]
    # Extract the <think> part and the final answer
    think_match = re.search(r"<think>(.*?)</think>", full_response, re.DOTALL)
    think_text = think_match.group(1).strip() if think_match else "Thinking process not explicitly provided."
    final_response = re.sub(r"<think>.*?</think>", "", full_response, flags=re.DOTALL).strip()
    return think_text, final_response

Fungsi query_qwq() berinteraksi dengan model Qwen QwQ-32B melalui Ollama, mengirim pertanyaan dari pengguna dan menerima respons terstruktur. Fungsi ini mengekstrak dua komponen utama:

  1. Proses berpikir: Mencakup langkah-langkah penalaran model (diambil dari tag <think>...</think>).
  2. Respons akhir:  Bidang ini berisi jawaban akhir yang terstruktur setelah penalaran (tidak termasuk bagian <think>).

Ini memisahkan langkah-langkah penalaran dan respons akhir secara terpisah, memastikan transparansi tentang bagaimana model mencapai kesimpulannya.

Langkah 3: Membuat antarmuka Gradio

Sekarang fungsi inti telah siap, kita akan membangun UI Gradio.

interface = gr.Interface(
    fn=query_qwq,
    inputs=gr.Textbox(label="Ask a logical reasoning question"),
    outputs=[gr.Textbox(label="Thinking Process"), gr.Textbox(label="Final Response")],
    title="QwQ-32B Powered: Logical Reasoning Assistant",
    description="Ask a logical reasoning question and the assistant will provide an explanation."
)
interface.launch(debug = True)

Antarmuka Gradio ini menyiapkan asisten penalaran logis yang menerima pertanyaan penalaran logis dari pengguna melalui fungsi gr.Textbox() dan memprosesnya menggunakan fungsi query_qwq(). Terakhir, fungsi interface.launch() memulai aplikasi Gradio dengan debugging diaktifkan, memungkinkan pelacakan kesalahan dan log secara real time untuk pemecahan masalah.

Demo QwQ 32b dengan gradio

Kesimpulan

Menjalankan QwQ-32B secara lokal dengan Ollama memungkinkan inferensi model yang privat, cepat, dan hemat biaya. Dengan tutorial ini, Anda dapat mengeksplorasi kemampuan penalarannya yang canggih secara real time. Model ini dapat digunakan untuk aplikasi bimbingan belajar berbantuan AI, pemecahan masalah berbasis logika, dan lainnya.

Aashi Dutt

Penulis

Aashi Dutt

Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.

Topik

Terkait

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

blogs

Spaghetti Plot dan Jalur Badai