Ana içeriğe geç

QwQ 32B’yi Ollama ile Yerelde Nasıl Kurup Çalıştırırsınız

QwQ-32B’yi Ollama ile yerelde nasıl yükleyip kuracağınızı ve basit bir Gradio uygulaması oluşturmayı öğrenin.
· 12 dk. oku

Yapay Zeka ile Keşfedin

QwQ-32B, Qwen’in muhakeme modelidir ve karmaşık problem çözme ile akıl yürütme görevlerinde üstün performans göstermesi için tasarlanmıştır. Yalnızca 32 milyar parametreye sahip olmasına rağmen, 671 milyar parametreli çok daha büyük DeepSeek-R1 ile karşılaştırılabilir bir performans elde eder.

Bu eğitimde, yerel LLM çıkarımını basitleştiren bir araç olan Ollama’yı kullanarak QwQ-32B’yi yerelde kurup çalıştırma adımlarında size rehberlik edeceğim. Bu rehber şunları içerir: 

  • Terminal veya IDE üzerinden çalıştırma: Terminal veya seçtiğiniz bir IDE üzerinden QwQ-32B’yi çalıştırmak için özlü kod parçacıkları içerir.
  • Uygulamalı demo: QwQ-32B’nin yapılandırılmış düşünme yeteneklerini kullanan uygulamalı bir demo projesi oluşturma.

QwQ-32B’yi Neden Yerelde Çalıştırın?

Boyutuna rağmen QwQ-32B, tüketici donanımında verimli çalışacak şekilde kuantize edilebilir. QwQ-32B’yi yerelde çalıştırmak, harici sunuculara bağımlı olmadan model yürütümü üzerinde tam kontrol sağlar. QwQ-32B’yi yerelde çalıştırmanın bazı avantajları şunlardır:

  • Gizlilik ve güvenlik: Veriniz sisteminizden dışarı çıkmaz.
  • Kesintisiz erişim: Oran sınırları, kesinti veya hizmet aksaklıklarından kaçının.
  • Performans: API gecikmesini aşarak yerel çıkarımla daha hızlı yanıtlar alın.
  • Özelleştirme: Parametreleri değiştirin, istemleri iyileştirin ve modeli yerel uygulamalara entegre edin.
  • Maliyet verimliliği: Modeli yerelde çalıştırarak API ücretlerini ortadan kaldırın.
  • Çevrimdışı kullanılabilirlik: Model indirildikten sonra internet bağlantısı olmadan çalışın.

QwQ-32B’yi Ollama ile Yerelde Kurma

Ollama, model indirme, kuantizasyon ve yürütmeyi üstlenerek LLM’leri yerelde çalıştırmayı kolaylaştırır.

Adım 1: Ollama’yı yükleyin

Ollama’yı resmi web sitesinden indirin ve kurun. 

Ollama indiriliyor

İndirme tamamlandığında, Ollama uygulamasını diğer uygulamalarda olduğu gibi kurun. 

Adım 2: QwQ-32B’yi indirin ve çalıştırın

Kurulumu test edelim ve modelimizi indirelim. Terminali açın ve QwQ-32B modelini indirmek ve çalıştırmak için aşağıdaki komutu yazın:

ollama run qwq:32b

Ollama üzerinden Qwen QwQ 32B modelini indirme

QwQ-32B büyük bir modeldir. Sisteminizin kaynakları sınırlıysa daha küçük kuantize sürümleri tercih edebilirsiniz. Örneğin aşağıda, performans ve boyut arasında denge sağlayan 19,85 GB’lık Q4_K_M sürümünü kullanıyoruz:

ollama run qwq:Q4_K_M

qwq-32b kuantize sürümler

Kaynak: Hugging Face

Daha fazla kuantize model burada bulunabilir.

Adım 3: QwQ-32B’yi arka planda çalıştırma

QwQ-32B’yi sürekli çalıştırmak ve bir API üzerinden sunmak için Ollama sunucusunu başlatın:

ollama serve

Bu, modeli bir sonraki bölümde ele alınan uygulamalar için kullanılabilir hale getirecektir.

QwQ-32B’yi Yerelde Kullanma

Artık QwQ-32B kurulduğuna göre, onunla nasıl etkileşeceğimizi inceleyelim.

Adım 1: CLI üzerinden çıkarım çalıştırma

Model indirildikten sonra QwQ-32B ile doğrudan terminalde etkileşime geçebilirsiniz:

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

Terminalde QwQ 32b modelinin çalışması

Modelin yanıtı genellikle düşünme yanıtıdır (<think> </think> etiketleri içinde) ve ardından nihai cevap gelir.

Adım 2: QwQ-32B’ye API üzerinden erişim

QwQ-32B’yi uygulamalara entegre etmek için curl ile Ollama API’sini kullanabilirsiniz. Terminalinizde aşağıdaki curl komutunu çalıştırın.

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 Linux’ta yerel bir komut satırı aracıdır ve macOS’ta da çalışır. Kullanıcıların doğrudan terminalden HTTP istekleri yapmasına olanak tanır; bu da API’lerle etkileşim için mükemmel bir araçtır.

curl komutu ile QwQ 32b modelini çalıştırma

Not: dquote hatalarını önlemek için tırnak işaretlerinin doğru konumlandırıldığından ve doğru localhost portunun seçildiğinden emin olun.

Adım 3: QwQ-32B’yi Python ile çalıştırma

Ollama’yı herhangi bir tümleşik geliştirme ortamında (IDE) çalıştırabiliriz. Ollama Python paketini aşağıdaki kodla yükleyebilirsiniz: 

pip install ollama

Ollama kurulduktan sonra, modelle etkileşim kurmak için aşağıdaki betiği kullanın:

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

ollama.chat() işlevi, model adını ve bir kullanıcı istemini alır ve bunu bir sohbet alışverişi olarak işler. Betik daha sonra modelin yanıtını çıkarır ve yazdırır.

Python kullanarak QwQ 32b modelini çalıştırma

QwQ-32B ile Yerelde Mantıksal Akıl Yürütme Uygulaması Çalıştırma

QwQ-32B ve Gradio kullanarak, kullanıcıdan soru alıp yapılandırılmış ve mantıklı yanıtlar üreten basit bir mantıksal akıl yürütme asistanı oluşturabiliriz. Bu uygulama, QwQ-32B’nin adım adım düşünme yaklaşımını kullanarak net ve iyi gerekçelendirilmiş cevaplar sunar; bu da onu problem çözme, danışmanlık ve yapay zekâ destekli karar verme için faydalı kılar.

Adım 1: Önkoşullar

Uygulamaya geçmeden önce aşağıdaki araç ve kütüphanelerin kurulu olduğundan emin olalım:

  • Python 3.8+
  • Gradio: Kullanıcı dostu bir web arayüzü oluşturmak için.
  • Ollama: Modelleri yerelde kullanmak için bir kütüphane

Gerekli bağımlılıkları kurmak için aşağıdaki komutları çalıştırın:

pip install gradio ollama

Yukarıdaki bağımlılıklar kurulduktan sonra, aşağıdaki içe aktarma komutlarını çalıştırın:

import gradio as gr
import ollama
import re

Adım 2: Ollama ile QwQ 32B’yi sorgulama

Artık bağımlılıklarımız hazır olduğuna göre, sorumuzu modele iletip yapılandırılmış bir yanıt almak için bir sorgu işlevi oluşturacağız.

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

query_qwq() işlevi, Ollama aracılığıyla Qwen QwQ-32B modeliyle etkileşir; kullanıcı tarafından sağlanan bir soruyu gönderir ve yapılandırılmış bir yanıt alır. İki temel bileşeni çıkarır:

  1. Düşünme süreci: Modelin akıl yürütme adımlarını içerir (<think>...</think> etiketlerinden çıkarılır).
  2. Nihai yanıt:  ( <think> bölümünü hariç tutarak) akıl yürütmeden sonra elde edilen yapılandırılmış nihai cevabı içerir.

Bu yaklaşım, modelin sonuçlarına nasıl ulaştığını şeffaf kılmak için akıl yürütme adımlarını ve nihai yanıtı ayrı ayrı izole eder.

Adım 3: Gradio arayüzünü oluşturma

Artık çekirdek işlevi kurduğumuza göre, Gradio arayüzünü inşa edeceğiz.

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)

Bu Gradio arayüzü, gr.Textbox() işleviyle kullanıcıdan mantıksal akıl yürütme sorusu alan ve bunu query_qwq()  işleviyle işleyen bir mantıksal akıl yürütme asistanı kurar. Son olarak interface.launch() işlevi, hata ayıklama etkin şekilde Gradio uygulamasını başlatır; bu sayede gerçek zamanlı hata takibi ve günlükler sağlar.

QwQ 32b gradio ile demo

Sonuç

QwQ-32B’yi Ollama ile yerelde çalıştırmak; gizli, hızlı ve maliyet etkin çıkarım imkânı sunar. Bu eğitimle, gelişmiş muhakeme yeteneklerini gerçek zamanlı olarak keşfedebilirsiniz. Model; yapay zekâ destekli danışmanlık, mantık temelli problem çözme ve daha birçok uygulama için kullanılabilir.

Aashi Dutt

Yazar

Aashi Dutt

ML (Üretken Yapay Zekâ) alanında Google Developers Uzmanıyım, Kaggle 3x Expert unvanına sahibim ve 3+ yıllık teknoloji deneyimiyle Women Techmakers Elçisiyim. 2020'de bir sağlık teknolojileri girişiminin kurucu ortağı oldum ve Georgia Tech'te makine öğrenmesi alanında uzmanlaşarak bilgisayar bilimleri yüksek lisansı yapıyorum.

Konular

İlgili