Ana içeriğe atla

Gemma 3’ü Ollama ile Yerelde Nasıl Kurup Çalıştırırsınız

Gemma 3’ü Ollama ile yerelde nasıl yükleyip kuracağınızı ve kendi cihazınızda basit bir dosya asistanı nasıl oluşturacağınızı öğrenin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Google DeepMind, açık kaynak modellerinin bir sonraki sürümü olan Gemma 3’ü yeni yayınladı. Gemma 3, telefonlar ve dizüstü bilgisayarlar gibi düşük kaynaklı cihazlarda doğrudan çalışacak şekilde tasarlandı. Bu modeller tek bir GPU veya TPU üzerinde hızlı performans için optimize edilmiştir ve farklı donanım ihtiyaçlarına uygun çeşitli boyutlarda gelir.

Bu eğitimde, Gemma 3’ü Ollama kullanarak yerelde nasıl kurup çalıştıracağınızı adım adım anlatacağım. Bunu yaptıktan sonra, Gemma 3 ve Python kullanarak nasıl bir dosya asistanı oluşturabileceğinizi göstereceğim.

Neden Gemma 3’ü Yerelde Çalıştırmalı?

Gemma 3 gibi büyük dil modellerini (LLM) yerelde çalıştırmanın birkaç önemli faydası vardır:

  • Gizlilik: Veriler cihazda kalır ve hassas bilgileri korur.
  • Düşük gecikme: İnternet üzerinden iletimi ortadan kaldırarak daha hızlı yanıtlar sağlar.
  • Özelleştirme: Modeller belirli ihtiyaçlara ve deneylere göre ayarlanabilir.
  • Maliyet verimliliği: Mevcut donanımı kullanarak bulut kullanım ücretlerini azaltır.
  • Çevrimdışı erişim: Uygulamalar internet bağlantısı olmadan da çalışır.
  • Kontrol: Bilgi işlem ortamımız üzerinde gelişmiş güvenlik ve kontrol sağlar.

Gemma 3’ü Ollama ile Yerelde Kurun

Ollama’yı yükleme

Ollama, Windows, Mac ve Linux için mevcut olup, yapay zeka modellerini çalıştırmayı ve dağıtmayı destekleyen bir platformdur; geliştiricilerin bu modelleri projelerine entegre etmesini kolaylaştırır. Gemma 3’ü yerelde indirmek ve çalıştırmak için bunu kullanacağız.

İlk adım, resmi Ollama web sitesinden indirip kurmaktır.

Gemma 3’ü yerelde kullanmak için Ollama’yı indirme

Kurulum sırasında komut satırını da yüklediğinizden emin olun:

Ollama komut satırını yükleyin

Kurulumu tamamladıktan sonra, terminalde ollama komutunu kullanarak doğru şekilde yüklendiğini kontrol edebiliriz. Sonuç şöyle olmalıdır:

Ollama kurulum kontrolü

Gemma 3’ü indirme

Ollama ile bir modeli indirmek için pull komutunu kullanın:

ollama pull <model_name>:<model_version>

Mevcut modellerin listesi Ollama’nın kütüphanesinde bulunabilir.

Gemma 3 özelinde dört model sunar: 1b, 4b, 12b ve 27b. Buradaki b, modeldeki parametre sayısını milyar cinsinden ifade eder.

Örneğin 1b parametreli gemma3 modelini indirmek için şu komutu kullanırız:

ollama pull gemma3:1b

Model sürümünü belirtmezsek, varsayılan olarak 4b modeli indirilir:

ollama pull gemma3

Yerel modelleri listeleme

Yerelde sahip olduğumuz modelleri aşağıdaki komutla listeleyebiliriz:

ollama list

Benim durumda çıktı, iki modelim olduğunu gösteriyor: 

NAME             ID              SIZE      MODIFIED       
gemma3:1b        2d27a774bc62    815 MB    38 seconds ago    
gemma3:latest    c0494fe00251    3.3 GB    22 minutes ago 

Terminalde sohbet etme

Bir modelle sohbet etmek için Ollama’da run komutunu kullanabiliriz:

ollama run gemma3

Terminalde Ollama ve Gemma 3 ile sohbet

İndirmediğimiz bir modelle run komutunu kullanırsak, model pull ile otomatik olarak indirileceğini unutmayın.

Gemma 3’ü arka planda çalıştırma

Gemma 3’ü Python ile kullanmak için arka planda çalıştırmamız gerekir. Bunu serve komutuyla yapabiliriz:

ollama serve

Komutu çalıştırırken aşağıdaki hatayı alırsanız, büyük olasılıkla Ollama zaten çalışıyordur:

Error: listen tcp 127.0.0.1:11434: bind: address already in use

Bu hata, Ollama’nın arka planda çalışmaya devam etmesi durumunda ortaya çıkabilir.

Gemma 3’ü Python ile Yerelde Kullanma

Python ortamını ayarlama

Ollama, bilgisayarımızda çalışan modellere kolayca bağlanmak için bir Python paketi sunar.

Gerekli bağımlılıkları ekleyerek bir Python ortamı kurmak için Anaconda kullanacağız. Bunu bu şekilde yapmak, hâlihazırda sahip olduğumuz diğer Python paketleriyle olası sorunları önlemeye yardımcı olur.

Anaconda yüklendikten sonra ortamı şu komutla oluşturabiliriz:

conda create -n gemma3-demo -y python=3.9

Bu komut, 3.9 sürümündeki Python’u kullanarak gemma3-demo adlı bir ortam kurar. -y seçeneği kurulum sırasında sorulan tüm soruların otomatik olarak evet yanıtı almasını sağlar.

Ardından ortamı şu komutla etkinleştiriyoruz:

conda activate gemma3-demo

Son olarak ollama paketini şu komutla yüklüyoruz:

pip install ollama

Python ile Gemma 3’e mesaj gönderme

Python kullanarak Gemma 3’e nasıl mesaj gönderebileceğimiz şöyle:

from ollama import chat
response = chat(
    model="gemma3",
    messages=[
        {
            "role": "user",
            "content": "Why is the sky blue?",
        },
    ],
)
print(response.message.content)

Donanımınıza bağlı olarak modelin cevap vermesi biraz zaman alabilir; bu nedenle betiği çalıştırırken sabırlı olun.

Daha önce gördüğümüz gibi gemma3 varsayılan olarak gemma3:4b’ye karşılık gelir. Dolayısıyla model olarak model="gemma3" belirttiğimizde kullanılacak olan budur.

Başka bir modeli—örneğin 1B modeli—kullanmak istersek, bunun yerine model=”gemma3:1b” argümanını geçmemiz gerekir (önceden ollama pull gemma3:1b komutuyla indirmiş olmamız şartıyla). Kullanılabilir modelleri listelemek için ollama list komutunu kullanabiliriz.

Yanıtı kelime kelime akış halinde almak istersek, bunun yerine stream=True kullanabilir ve yanıtı parça parça yazdırabiliriz:

from ollama import chat
stream = chat(
    model="gemma3",
    messages=[{"role": "user", "content": "Why is the sky blue?"}],
    stream=True,
)
for chunk in stream:
    print(chunk["message"]["content"], end="", flush=True)

Bu, daha iyi bir kullanıcı deneyimi sağlar; çünkü kullanıcı, yanıtın tamamının üretilmesini beklemek zorunda kalmaz.

ollama paketi hakkında daha fazla bilgi edinmek için dokümantasyonlarına göz atın.

Gemma 3 Kullanarak Bir Dosya Asistanı Oluşturma

Bu bölümde, bir metin dosyasının içeriği hakkında doğrudan terminalden soru sormamızı sağlayan bir Python betiğinin nasıl oluşturulacağını öğreneceğiz. Bu betik, bir kod dosyasındaki hataları kontrol etmek veya herhangi bir belgeden bilgi sorgulamak gibi görevler için kullanışlı olacaktır.

Betiğe genel bakış

Amacımız, bir metin dosyasını okuyan ve içeriğiyle ilgili soruları yanıtlamak için Gemma 3’ü kullanan bir komut satırı aracı oluşturmaktır. Bunu adım adım nasıl başaracağımız şöyle:

Betik yapısını oluşturma

Öncelikle gerekli içe aktarmalar ve temel yapı ile Python betiğini oluşturmamız gerekir:

import sys
from ollama import chat
def ask_questions_from_file(file_path):
    # Read the content of the text file
    with open(file_path, "r") as file:
        content = file.read()
    # Loop to keep asking questions
    while True:
        question = input("> ")
        print()
        if question.lower() == "exit":
            break
        # Use Gemma 3 to get answers
        stream = chat(
            model="gemma3",
            messages=[
                {"role": "user", "content": content},
                {"role": "user", "content": question},
            ],
            stream=True,
        )
        for chunk in stream:
            print(chunk["message"]["content"], end="", flush=True)

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python ask_file.py <path_to_text_file>")
    else:
        file_path = sys.argv[1]
        ask_questions_from_file(file_path)

Temel işlevsellik ask_questions_from_file() fonksiyonu içinde kapsüllenmiştir. Bu fonksiyon, argüman olarak bir dosya yolu alır ve belirtilen metin dosyasını açıp okuyarak başlar. Bu içerik, soruları yanıtlarken arka plan bilgisi olarak kullanılacaktır.

Dosya içeriği yüklendikten sonra betik, sürekli olarak bizden soru girişi isteyen bir döngüye girer. Bir soru yazdığımızda, betik dosyanın içeriğini sorumuzla birlikte Gemma 3 modeline gönderir ve model bu bilgiyi işleyerek bir yanıt üretir.

Modelle etkileşim, yanıtların oluşturuldukça gerçek zamanlı olarak görüntülenmesine olanak tanıyan bir akış mekanizması üzerinden gerçekleşir. exit yazarsak döngü sonlanır ve betik durur.

Betik sonunda, betiğin komut satırından doğru şekilde, yani argüman olarak metin dosyasının yolu verilerek çalıştırıldığını kontrol eden bir yapı vardır. Argüman sağlanmazsa, betiği doğru şekilde nasıl çalıştıracağımıza dair bir kullanım mesajı gösterir. Bu kurulum, betiği komut satırından etkin biçimde yönlendirmemizi sağlar.

Betiği çalıştırma

Yukarıdaki kodu örneğin ask.py adlı bir dosyaya kaydedin. Betiği test etmek için şu komutu çalıştırın:

python ask.py ask.py

Bu, betiğin kendisi hakkında soru sormanızı sağlayacaktır (bu yüzden yukarıdaki komutta ask.py iki kez görünür). İşte betiğin nasıl çalıştığını açıklamasını istemeye bir örnek:

Gemma 3’ü yerelde bir dosya asistanı olarak kullanmak için betiği kullanma

Sonuç

Ollama ve Python kullanarak Gemma 3’ü yerelde kurup çalıştırmayı başarıyla öğrendik. Bu yaklaşım verilerimizin gizliliğini sağlar, düşük gecikme sunar, özelleştirme imkânları verir ve maliyet tasarrufuna yol açabilir. Ele aldığımız adımlar yalnızca Gemma 3 ile sınırlı değildir—Ollama’da barındırılan diğer modellere de uygulanabilir.

Betiklerimizin işlevselliğini geliştirmek istersek, örneğin PDF’leri işleyebilecek şekilde yeteneklerini genişletebiliriz. Bunu yapmanın en iyi yolu Mistral OCR API’sini kullanmaktır. PDF dosyalarını metne dönüştürerek betiğimizin PDF’ler hakkında da soruları yanıtlamasını sağlayabilir, onu daha da çok yönlü ve güçlü hale getirebiliriz.

Bu araçlarla, artık büyük modelleri doğrudan kendi cihazlarımızdan keşfetmeye ve onlarla etkileşim kurmaya hazırız.

FAQs

Gemma 3’ü yerelde çalıştırmak için donanım gereksinimleri nelerdir?

Gemma 3’ü yerelde çalıştırma yeteneği, indirmeyi seçtiğiniz model boyutuna bağlıdır. gemma3:1b gibi daha küçük modeller verimlilik için tasarlanmıştır ve tek GPU’lu dizüstü bilgisayarlar veya bazı üst düzey tabletler gibi daha az güçlü cihazlarda çalışabilir. gemma3:27b gibi daha büyük modeller ise çok çekirdekli, üst düzey GPU’ya sahip bir iş istasyonu gibi daha fazla hesaplama kaynağı gerektirir. Uyumlu olduğundan emin olmak için her zaman cihazınızın özelliklerini modelin kaynak gereksinimleriyle karşılaştırın.

Aynı anda birden fazla Gemma 3 örneği çalıştırabilir miyim?

Evet, donanım kaynaklarınız (CPU, GPU ve bellek) ek hesaplama yükünü desteklemeye yeterliyse aynı anda birden fazla Gemma 3 örneği çalıştırabilirsiniz. Arka planda çalışan her model örneği ek sistem kaynakları tüketeceğinden, sisteminizin birden çok süreci belirgin performans düşüşü olmadan kaldırabildiğinden emin olun.

Bir Python ortamı kurmak için Anaconda kullanmak şart mı?

Yalıtılmış ortamlar oluşturmadaki kolaylığı, bağımlılık yönetimi ve diğer Python paketleriyle çakışmaları önlemesi nedeniyle Anaconda şiddetle önerilir; ancak zorunlu değildir. venv veya virtualenv gibi diğer sanal ortam araçlarını da kullanabilirsiniz.


François Aubry's photo
Author
François Aubry
LinkedIn
CheapGPT’te full-stack mühendisi ve kurucuyum. Öğretmek her zaman tutkum oldu. Öğrencilik yıllarımdan itibaren diğer öğrencilere ders verme ve yardımcı olma fırsatlarını hevesle aradım. Bu tutku beni doktora yapmaya yönlendirdi; bu süreçte akademik çalışmalarımı desteklemek için araştırma görevlisi olarak da görev aldım. O yıllarda, geleneksel sınıf ortamında bağlar kurmaktan ve öğrenmeyi kolaylaştırmaktan büyük bir tatmin duydum. Ancak çevrim içi öğrenme platformlarının ortaya çıkmasıyla birlikte dijital eğitimin dönüştürücü potansiyelini fark ettim. Nitekim üniversitemizde bu tür bir platformun geliştirilmesinde aktif rol aldım. Geleneksel öğretim ilkelerini yenilikçi dijital yöntemlerle bütünleştirmeye derinden bağlıyım. Tutkum, yalnızca ilgi çekici ve bilgilendirici olmakla kalmayan, aynı zamanda bu dijital çağdaki öğrenenler için erişilebilir kurslar tasarlamaktır.
Konular
Yapay Zeka
Büyük Dil Modelleri

Bu kurslarla yapay zekâyı öğrenin!

Kurs

LangChain ile Retrieval Augmented Generation (RAG)

3 sa
21.3K
LangChain ile Retrieval Augmented Generation (RAG) kullanarak harici verileri LLM'lerle entegre etmek için en son yöntemleri öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör