Takip et

Kişisel Yapay Zeka Asistanı ile GitHub ve Haber Akışı Yönetimi

Bilgi bombardımanından kurtulup sadece ilginizi çeken GitHub projelerini ve teknoloji haberlerini filtreleyen kişisel bir yapay zeka asistanı inşa edin.

Kişisel Yapay Zeka Asistanı ile GitHub ve Haber Akışı Yönetimi

Bilgi bombardımanından kurtulup sadece ilginizi çeken GitHub projelerini ve teknoloji haberlerini filtreleyen kişisel bir yapay zeka asistanı inşa edin.

İnternet dünyasında her gün binlerce yeni makale yayınlanıyor, yüzlerce açık kaynaklı proje GitHub üzerinde yıldızlanıyor ve sayısız teknolojik gelişme yaşanıyor. Ancak, bu yoğun bilgi akışı içerisinde gerçekten işimize yarayacak, kariyerimizi geliştirecek veya projelerimize katkı sağlayacak içerikleri bulmak giderek zorlaşıyor. Birçoğumuz “gelişmeleri kaçırma korkusu” yani FOMO (Fear of Missing Out) nedeniyle her gün saatlerce Twitter, Reddit, Hacker News ve GitHub trendler listesinde kayboluyoruz. Bu durum zaman kaybına yol açtığı gibi zihinsel yorgunluğa da neden oluyor.

İşte tam bu noktada, yapay zeka teknolojilerini kendi lehimize kullanabileceğimiz harika bir fırsat doğuyor. Kendi ilgi alanlarımızı bilen, bizim için interneti tarayan, önemli gelişmeleri özetleyen ve önemsiz gürültüyü filtreleyen kişisel bir yapay zeka asistanı inşa edebiliriz. Bu makalede, Python, RSS (Zengin Site Özeti) beslemeleri, GitHub API’si (Uygulama Programlama Arayüzü) ve modern LLM (Büyük Dil Modelleri) teknolojilerini kullanarak tamamen size özel çalışan bir “Kişisel İstihbarat Sistemi”ni nasıl sıfırdan kuracağınızı adım adım öğreneceksiniz.

Bilgi Çağında Hayatta Kalmak: Neden Kendi Filtreleme Sistemimizi Kurmalıyız?

Geleneksel haber okuyucuları veya RSS takip araçları (örneğin Feedly veya Pocket) bize sadece veriyi toplu bir şekilde sunar. Ancak bu araçlar, gelen içeriğin kalitesini veya bizim ilgi alanlarımızla olan gerçek ilişkisini analiz edemezler. Sonuç olarak, yine yüzlerce başlık arasından elle seçim yapmak zorunda kalırız. Yapay zeka destekli bir kürasyon (içerik seçme ve düzenleme) sistemi ise gelen veriyi anlamsal olarak analiz eder.

Örneğin, eğer o dönem sadece “Sanal Gerçeklik” ve “Rust Programlama Dili” ile ilgileniyorsanız, sisteminiz yapay zeka yardımıyla gelen tüm haberleri bu süzgeçten geçirir. Rust ile yazılmış yeni bir GitHub kütüphanesini doğrudan önünüze getirirken, ilginizi çekmeyen JavaScript framework (yazılım çerçevesi) güncellemelerini arka plana iter. Böylece her gün saatlerce süren tarama işlemini sadece 5-10 dakikalık rafine bir bülten okumasına dönüştürebilirsiniz.

Bu sistemi kurarak sadece zamandan tasarruf etmekle kalmazsınız, aynı zamanda odaklanmak istediğiniz konular üzerindeki uzmanlığınızı da derinleştirirsiniz. Şimdi, bu sistemi oluşturmak için hangi bileşenlere ihtiyacımız olduğuna yakından bakalım.

Kişisel Haber Küratörünün Temel Bileşenleri Nelerdir?

Kendi akıllı asistanımızı tasarlarken modüler bir mimari kullanacağız. Sistemimiz temel olarak dört ana aşamadan oluşacaktır: Veri toplama, veri temizleme, yapay zeka ile analiz ve son olarak raporlama. Bu süreci yönetmek için kullanacağımız temel bileşenleri aşağıdaki tabloda inceleyebilirsiniz:

Bileşen Adı Görevi Kullanılan Teknoloji / Araç
Veri Toplayıcı (Ingestion) GitHub trendlerini ve RSS kaynaklarını tarar. Python (Feedparser, Requests)
Veri Deposu (Storage) Daha önce okunan haberleri ve projeleri kaydeder. SQLite veya JSON dosyaları
Zeka Motoru (LLM Engine) İçeriği analiz eder, puanlar ve özetler. OpenAI API veya Ollama (Lokal Llama 3)
Arayüz / Bildirim Sonuçları kullanıcıya ulaştırır. E-posta (SMTP), Telegram Botu veya Markdown dosyası

Bu bileşenlerin birbiriyle uyum içinde çalışması, sistemimizin sürdürülebilir olması açısından oldukça önemlidir. Örneğin, veri deposu sayesinde daha önce analiz ettiğimiz ve okuduğumuz bir içeriği tekrar işlemeyerek hem API maliyetlerimizi düşürürüz hem de mükerrer içeriklerin önüne geçeriz.

Adım Adım Yapay Zeka Destekli Kürasyon Sistemi Nasıl Kurulur?

Sistemimizi inşa etmeye başlamak için öncelikle Python ortamımızı hazırlamamız gerekiyor. Bu projede harici kütüphaneler olarak RSS beslemelerini okumak için feedparser, HTTP istekleri için requests ve yapay zeka entegrasyonu için openai kütüphanelerini kullanacağız.

İlk olarak, gerekli kütüphaneleri terminaliniz üzerinden bilgisayarınıza yükleyin:

pip install feedparser requests openai

Şimdi, sistemimizin ilk adımı olan veri toplama modülünü yazalım. Bu modül hem belirlediğimiz RSS kaynaklarından haberleri çekecek hem de GitHub API’sini kullanarak en popüler depoları (repository) sorgulayacaktır. Aşağıdaki kod bloğunda, bu işlemleri gerçekleştiren temel fonksiyonları görebilirsiniz:

import feedparser
import requests

def rss_kaynaklarini_oku(rss_url_listesi):
    haberler = []
    for url in rss_url_listesi:
        besleme = feedparser.parse(url)
        for giris in besleme.entries:
            haberler.append({
                "baslik": giris.title,
                "link": giris.link,
                "ozet": giris.get("summary", "")
            })
    return haberler

def github_trendleri_al(dil="python"):
    url = f"https://api.github.com/search/repositories?q=language:{dil}&sort=stars&order=desc"
    headers = {"Accept": "application/vnd.github.v3+json"}
    response = requests.get(url, headers=headers)
    
    if response.status_code == 200:
        projeler = []
        veriler = response.json().get("items", [])[:10]  # En popüler ilk 10 projeyi alıyoruz
        for proje in veriler:
            projeler.append({
                "isim": proje["name"],
                "url": proje["html_url"],
                "aciklama": proje["description"],
                "yildiz": proje["stargazers_count"]
            })
        return projeler
    else:
        print("GitHub API hatası oluştu.")
        return []

Yukarıdaki kod blokları sayesinde internet üzerindeki ham verileri başarılı bir şekilde sistemimize dahil ettik. Ancak bu veriler henüz filtrelenmedi ve analiz edilmedi. Bir sonraki aşamada, bu ham verileri yapay zekaya göndererek nasıl anlamlandıracağımızı göreceğiz.

Gelişmiş Filtreleme ve Anlamlandırma Süreci Nasıl İşler?

Topladığımız ham verileri doğrudan okumak yerine, onları bir yapay zeka modeline göndererek kendi ilgi alanlarımıza göre puanlatacağız. Bu işlem için etkili bir prompt (yönerge) tasarımı yapmamız gerekiyor. Yapay zekaya ilgi alanlarımızı açıkça belirteceğiz ve gelen her habere 1 ile 10 arasında bir puan vermesini isteyeceğiz. Ayrıca, sadece yüksek puan alan içerikler için kısa birer özet oluşturmasını talep edeceğiz.

Aşağıdaki Python kodu, OpenAI API’sini kullanarak gelen haberleri nasıl analiz edebileceğimizi göstermektedir:

from openai import OpenAI

client = OpenAI(api_key="YOUR_OPENAI_API_KEY")

def icerigi_analiz_et(baslik, aciklama, ilgi_alanlari):
    sistem_talimati = (
        "Sen profesyonel bir teknoloji editörüsün. Sana verilen içeriği, kullanıcının ilgi alanlarına göre analiz etmeli "
        "ve 1 ile 10 arasında bir uygunluk puanı vermelisin. Ayrıca içeriği tek cümleyle özetlemelisin. "
        "Yanıtını kesinlikle şu JSON formatında vermelisin: {'puan': 8, 'ozet': 'Açıklama cümlesi'}"
    )
    
    kullanici_mesaji = f"İlgi Alanlarım: {ilgi_alanlari}\n\nİçerik Başlığı: {baslik}\nİçerik Açıklaması: {aciklama}"
    
    try:
        response = client.chat.completions.create(
            model="gpt-4o-mini",
            messages=[
                {"role": "system", "content": sistem_talimati},
                {"role": "user", "content": kullanici_mesaji}
            ],
            response_format={"type": "json_object"}
        )
        return response.choices[0].message.content
    except Exception as e:
        print(f"Yapay zeka analiz hatası: {e}")
        return None

Bu fonksiyon sayesinde her bir haber veya GitHub projesi anlamsal bir değerlendirmeden geçer. Örneğin, ilgi alanlarınız arasına “Yapay Zeka” ve “Veri Analitiği” yazdıysanız, makine öğrenimi ile ilgili bir kütüphane 9 veya 10 puan alırken, ilgisiz bir tasarım kütüphanesi 2 veya 3 puan alacaktır. Bu puanlama sistemi sayesinde bilgi gürültüsünü tamamen ortadan kaldırabilirsiniz.

Maliyet Optimizasyonu ve Yerel Dil Modelleri (Ollama) Nasıl Kullanılır?

Sürekli olarak bulut tabanlı yapay zeka modellerini (OpenAI, Anthropic vb.) kullanmak, özellikle günlük veri hacmi yüksek olduğunda ciddi API maliyetlerine yol açabilir. Bu maliyetlerin önüne geçmek amacıyla, tamamen ücretsiz ve yerel olarak çalışan LLM’leri tercih edebiliriz. Ollama yazılımı, kendi bilgisayarımızda Llama 3, Mistral veya Phi-3 gibi güçlü modelleri çalıştırmamıza olanak tanır.

Yerel bir model kullanmak için öncelikle bilgisayarınıza Ollama’yı kurmanız ve istediğiniz modeli terminal üzerinden indirmeniz gerekir:

ollama run llama3

Daha sonra, Python kodumuzdaki API uç noktasını (endpoint) yerel sunucumuza yönlendirerek kodumuzu güncelleyebiliriz. Böylece hiçbir ücret ödemeden sınırsız sayıda analiz gerçekleştirebiliriz:

def yerel_model_ile_analiz_et(baslik, aciklama, ilgi_alanlari):
    # Ollama varsayılan olarak localhost:11434 portunda çalışır
    yerel_client = OpenAI(
        base_url="http://localhost:11434/v1",
        api_key="ollama" # Yerel kullanımda bu değerin önemi yoktur
    )
    
    sistem_talimati = f"Kullanıcının ilgi alanları şunlardır: {ilgi_alanlari}. Bu içeriği analiz et ve JSON formatında puanla."
    
    try:
        response = yerel_client.chat.completions.create(
            model="llama3",
            messages=[
                {"role": "system", "content": sistem_talimati},
                {"role": "user", "content": f"Başlık: {baslik}\nÖzet: {aciklama}"}
            ]
        )
        return response.choices[0].message.content
    except Exception as e:
        print(f"Yerel model hatası: {e}")
        return None

Yerel modelleri kullanırken dikkat edilmesi gereken en önemli unsur donanım gereksinimleridir. Bilgisayarınızda güçlü bir grafik kartı (GPU) bulunuyorsa, analiz işlemleri saniyeler içinde tamamlanacaktır. Ancak sadece işlemci (CPU) kullanıyorsanız, analiz süresi biraz daha uzayabilir. Bu nedenle, günlük tarama işlemlerinizi gece saatlerinde otomatik çalışacak şekilde zamanlamak harika bir çözüm olabilir.

Gerçek Bir Vaka Analizi: Türkiye’deki Bir Yazılımcının Başarı Hikayesi

Geliştirdiğimiz bu sistemi daha somut bir örnekle açıklamak adına, İstanbul’da kıdemli yazılım geliştirici olarak çalışan Ahmet’in hikayesine göz atalım. Ahmet, her sabah işe başlamadan önce teknoloji gündemini takip etmek için yaklaşık 1.5 saat harcıyordu. Takip ettiği kaynaklar arasında Hacker News, Reddit, 15 farklı RSS beslemesi ve GitHub trendleri yer alıyordu. Bu durum hem odaklanmasını zorlaştırıyor hem de ciddi bir zaman kaybına yol açıyordu.

Ahmet, bu makalede anlattığımız sistemi kendi yerel bilgisayarına kurdu. İlgi alanlarını ise şu şekilde tanımladı:

“Go Programlama Dili, Kubernetes, Mikroservis Mimarileri, Cloud Native Teknolojiler ve Türkiye’deki Açık Kaynak Kodlu Yazılım Projeleri.”

Sistem her sabah saat 07:00’de otomatik olarak çalışmaya başladı. Toplamda 300’den fazla haber başlığını ve 50 yeni GitHub projesini taradı. Yapay zeka süzgecinden geçen bu veriler arasından sadece 8.5 ve üzeri puan alanlar seçildi. Ahmet’in e-posta kutusuna her sabah saat 08:00’de sadece 5 maddeden oluşan, Türkçe özetlenmiş rafine bir bülten ulaştı.

Bu dönüşüm sayesinde Ahmet’in günlük okuma süresi 1.5 saatten sadece 10 dakikaya düştü. Ayrıca, gözden kaçırabileceği çok önemli bir Kubernetes güvenlik güncellemesini sistemin yüksek puan vermesi sayesinde anında fark etti ve şirket altyapısını olası bir siber saldırıdan korudu. Ahmet’in deneyimi, kişiselleştirilmiş bilgi sistemlerinin modern dünyada ne kadar kritik bir öneme sahip olduğunu açıkça ortaya koymaktadır.

Sonuç ve Geleceğe Yönelik Geliştirmeler

Kendi kişisel bilgi asistanınızı inşa etmek, bilgi çağının getirdiği en büyük problemlerden biri olan odaklanma sorununa kesin bir çözüm sunar. Bu makalede, temel düzeyde veri toplamayı, yapay zeka ile anlamsal analiz yapmayı ve yerel modellerle maliyetleri nasıl optimize edeceğimizi öğrendik. Bu sistemi daha da geliştirmek adına, gelecekte bir vektör veri tabanı (Vector Database) entegre edebilir ve asistanınızın geçmişte okuduğunuz makaleleri hatırlayarak size daha da kişiselleştirilmiş öneriler sunmasını sağlayabilirsiniz.

Unutmayın, teknoloji dünyasındaki en değerli varlığınız zamanınızdır. Onu bilgi gürültüsü içinde kaybetmek yerine, akıllı sistemlerle koruma altına almak tamamen sizin elinizde.

Sıkça Sorulan Sorular

  1. Bu sistemi çalıştırmak için programlama bilmek şart mı?
    Temel düzeyde Python bilgisi, sistemi kurmak ve özelleştirmek için yeterlidir. Hazır kod bloklarını kopyalayarak ve sadece ilgi alanlarınızı değiştirerek sistemi hemen çalıştırabilirsiniz.
  2. OpenAI API kullanmanın aylık maliyeti ortalama ne kadar olur?
    Eğer hafif bir model olan “gpt-4o-mini” tercih edilirse ve günde yaklaşık 100-200 içerik taranırsa, aylık maliyet 1-2 doları geçmeyecektir. Tamamen ücretsiz bir alternatif için ise Ollama üzerinden yerel modelleri kullanabilirsiniz.
  3. Sistemi her gün manuel olarak mı çalıştırmam gerekiyor?
    Hayır, sisteminizi bulutta (örneğin AWS, Google Cloud veya Heroku gibi platformlarda) veya kendi bilgisayarınızda bir zamanlayıcı görev (Cron Job) olarak ayarlayarak tamamen otomatik hale getirebilirsiniz.
  4. Yapay zeka analiz yaparken Türkçe kaynakları da destekliyor mu?
    Evet, modern büyük dil modelleri çok dillidir. RSS kaynaklarınız Türkçe olsa dahi sistem bunları başarıyla analiz edebilir, puanlayabilir ve Türkçe özetler çıkarabilir.

#Teknoloji #YapayZeka #GitHub #Python #YazilimGelistirme

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version