• 14-11-2025, 22:14:56
    #1
    Bir tane excel dosyası var ve her satırında içerik var. Bu içerikler çok uzun ve ben bunları ya özetlemek ya da özgünleştirmek istiyorum.Python bilgim yok denilecek kadar. Aşağıdaki kodu çalıştırdım (Kod yapay zekaya yazdırıldı). Kod 20 satır istenileni yaptı diğerlerinde ya olduğu gibi bıraktı ya da eksik yaptı. Hatanın nerede olduğunu ya da kodun tamamını yazıp verebilecek var mı?
    # -*- coding: utf-8 -*-
    import pandas as pd
    from groq import Groq
    import time
    
    # Groq API key (ücretsiz) - console.groq.com adresinden alın
    GROQ_API_KEY = "BURAYA_API_KEY_YAPISTIRIN"
    
    excel_file = r'C:\DOSYA YOLU\ozet.xlsx'
    output_file = r'C:\DOSYA YOLU \ozet_sonuc.xlsx'
    
    client = Groq(api_key=GROQ_API_KEY)
    
    def groq_ozetle(text):
        try:
            chat = client.chat.completions.create(
                messages=[{
                    "role": "user",
                    "content": f"""Bu Türkçe metni özetle:
    
    KURALLAR:
    - Maksimum 100 kelime
    - Tam cümleler, nokta ile bitir
    - Önemli tarihleri ve isimleri koru
    - Yarım cümle ASLA yazma
    
    Metin: {text}
    
    Özet:"""
                }],
                model="llama-3.3-70b-versatile",
                temperature=0.3,
                max_tokens=300
            )
            
            ozet = chat.choices[0].message.content.strip()
            
            if not ozet.endswith(('.', '!', '?')):
                son = ozet.rfind('.')
                ozet = ozet[:son+1] if son > 20 else ozet + '.'
            
            return ozet
        except Exception as e:
            return text[:150] + "..."
    
    df = pd.read_excel(excel_file)
    
    for col in df.columns:
        ozet_col = f"{col}_OZET"
        df[ozet_col] = ""
        
        for i, row in df.iterrows():
            text = str(row[col])
            if len(text.split()) >= 10:
                print(f"Satir {i+1}...", end=" ")
                df.at[i, ozet_col] = groq_ozetle(text)
                df.to_excel(output_file, index=False)
                print("OK")
                time.sleep(0.5)
    
    print(f"Bitti: {output_file}")
  • 14-11-2025, 22:17:55
    #2
    Yapay zeka çıktısı bir deneyin isterseniz.
    # -*- coding: utf-8 -*-
    import pandas as pd
    from groq import Groq
    import time
    import sys
     
    # 🔑 Ayarlarınızı Buraya Girin
    # Groq API key (ücretsiz) - console.groq.com adresinden alın
    GROQ_API_KEY = "BURAYA_API_KEY_YAPISTIRIN" 
     
    # Giriş ve Çıkış Dosya Yolları
    excel_file = r'C:\DOSYA YOLU\ozet.xlsx'
    output_file = r'C:\DOSYA YOLU\ozet_sonuc.xlsx'
     
    # API İstemcisini Başlat
    try:
        client = Groq(api_key=GROQ_API_KEY)
    except Exception as e:
        print(f"HATA: Groq istemcisi başlatılamadı. API anahtarını kontrol edin. Hata: {e}")
        sys.exit(1)
     
    # Kullanılacak Sütun Adını Belirle (Excel dosyanızdaki ilk sütunun adı)
    # Eğer özetlenecek içerik "Icerik" adlı sütundaysa, bunu değiştirin.
    TARGET_COLUMN = "ICERIK" # Lütfen excel'inizdeki asıl sütun adını yazınız
    OUTPUT_COLUMN = f"{TARGET_COLUMN}_OZET"
     
    def groq_isle(text, is_ozet=True):
        """Metni özetler veya özgünleştirir (paraphrase). API hız limitini aşmamak için yeniden deneme içerir."""
        
        # Kullanıcı isteğine göre prompt oluşturma
        if is_ozet:
            baslik = "Bu Türkçe metni özetle:"
            kurallar = """KURALLAR:
    - Maksimum 100 kelime (kesinlikle bu sınırı aşma)
    - Tam cümleler, nokta ile bitir
    - Önemli tarihleri ve isimleri koru
    - Yarım cümle ASLA yazma
    - Başlık kullanma."""
            sonuc_etiketi = "Özet:"
        else: # Özgünleştirme (Paraphrase)
            baslik = "Bu Türkçe metni, içeriğini bozmadan tamamen özgünleştir (paraphrase et):"
            kurallar = """KURALLAR:
    - Metnin anlamını KESİNLİKLE koru
    - Yeni metin, orijinal metinle kelime bazında aynı olmamalı
    - Başlık kullanma."""
            sonuc_etiketi = "Özgünleştirilmiş Metin:"
     
        prompt = f"""{baslik}
     
    {kurallar}
     
    Metin: {text}
     
    {sonuc_etiketi}"""
     
        max_retries = 3
        for attempt in range(max_retries):
            try:
                chat = client.chat.completions.create(
                    messages=[{"role": "user", "content": prompt}],
                    # Daha yüksek bir model seçimi (daha iyi sonuçlar için)
                    model="llama-3.3-70b-versatile", 
                    temperature=0.7 if not is_ozet else 0.3, # Özgünleştirmede daha yüksek yaratıcılık
                    max_tokens=2000 # Çıktı için daha yüksek bir limit
                )
                
                islemlenmis_metin = chat.choices[0].message.content.strip()
                
                # Sonuç kelime veya cümle olmaması durumunda basit bir kontrol
                if len(islemlenmis_metin.split()) < 5:
                    raise ValueError("API'den anlamlı bir sonuç gelmedi.")
    
                # Özetleme yapılıyorsa cümle sonu kontrolü
                if is_ozet and not islemlenmis_metin.endswith(('.', '!', '?')):
                    # Son noktayı bul ve sonrasını kes (tam cümle garantisi için)
                    son = islemlenmis_metin.rfind('.')
                    if son > len(islemlenmis_metin) * 0.75: # Metnin sonuna yakınsa
                        islemlenmis_metin = islemlenmis_metin[:son+1] 
                    else:
                        islemlenmis_metin += '.' # Nokta ekle
                        
                return islemlenmis_metin
            
            except Exception as e:
                hata_mesaji = str(e)
                print(f"\nAPI HATA ({attempt + 1}. deneme): {hata_mesaji[:100]}...")
                
                # Hız limiti hatası için ekstra bekleme (Çoğu Groq/OpenAI limit hatası için geçerli)
                if "Rate limit" in hata_mesaji or "429" in hata_mesaji:
                    wait_time = 10 # 10 saniye bekle
                    print(f"Hız limiti hatası! {wait_time} saniye bekleniyor...")
                    time.sleep(wait_time)
                elif attempt < max_retries - 1:
                    wait_time = 5 # Diğer hatalar için 5 saniye bekle
                    print(f"Hata oluştu, {wait_time} saniye sonra tekrar deneniyor...")
                    time.sleep(wait_time)
                else:
                    # Maksimum deneme sayısına ulaşıldı
                    print("Maksimum deneme sayısına ulaşıldı. Orjinal metin kaydediliyor.")
                    return f"HATA: {text[:100]}..." # Hata durumunda metnin bir kısmını kaydet
                    
        return text[:150] + "..." # Tüm denemeler başarısız olursa
     
    # --- Ana İşlem ---
    def islem_baslat(is_ozetleme):
        try:
            df = pd.read_excel(excel_file)
        except FileNotFoundError:
            print(f"HATA: Dosya bulunamadı: {excel_file}")
            sys.exit(1)
            
        if TARGET_COLUMN not in df.columns:
            print(f"HATA: '{TARGET_COLUMN}' adlı sütun dosyada bulunamadı. Lütfen sütun adını kontrol edin.")
            # Kullanıcının Excel'deki ilk sütunun adını bulmasına yardımcı olmak için:
            print(f"Dosyanızdaki ilk 5 sütun: {df.columns.tolist()[:5]}")
            sys.exit(1)
            
        print(f"\n🚀 {excel_file} dosyası yüklendi. İşlem Sütunu: **{TARGET_COLUMN}**")
        print(f"Çıktı Sütunu: **{OUTPUT_COLUMN}**")
        print(f"Mod: **{'ÖZETLEME' if is_ozetleme else 'ÖZGÜNLEŞTİRME'}**\n")
     
        # Çıktı sütunu yoksa oluştur
        if OUTPUT_COLUMN not in df.columns:
            df[OUTPUT_COLUMN] = ""
     
        # İşlemi yap
        for i, row in df.iterrows():
            text = str(row[TARGET_COLUMN])
            
            # Daha önce özetlenmiş veya çok kısa metinleri atla
            if df.at[i, OUTPUT_COLUMN] != "" and not str(df.at[i, OUTPUT_COLUMN]).startswith("HATA"):
                print(f"✅ Satır {i+1}: Daha önce işlenmiş. Atlanıyor.")
                continue
                
            # 10 kelimeden az olanları atla
            if len(text.split()) < 10:
                df.at[i, OUTPUT_COLUMN] = "Çok kısa metin."
                continue
    
            print(f"⏳ Satır {i+1} ({len(text.split())} kelime) işleniyor...", end=" ")
            
            # API işlemini çağır
            df.at[i, OUTPUT_COLUMN] = groq_isle(text, is_ozet=is_ozetleme)
            
            # Her satırdan sonra dosyayı kaydet (İşlemin yarım kalmaması için)
            try:
                df.to_excel(output_file, index=False)
            except Exception as e:
                print(f"\nKAYIT HATA: Dosya kaydedilemedi. Excel'in kapalı olduğundan emin olun. Hata: {e}")
                
            print("✅ Tamamlandı. Bekleniyor...")
            
            # API hız limitlerine takılmamak için her çağrıdan sonra 1 saniye bekle
            time.sleep(1) 
     
        print(f"\n🎉 İşlem Tamamlandı. Sonuç dosyası: **{output_file}**")
     
    # ➡️ Özetleme veya Özgünleştirme Seçimi
    # is_ozetleme = True: ÖZETLEME YAPAR
    # is_ozetleme = False: ÖZGÜNLEŞTİRME (PARAPHRASE) YAPAR
    islem_baslat(is_ozetleme=True) 
    
    # Özgünleştirme yapmak isterseniz yukarıdaki satırı yorum satırı yapın ve aşağıdaki satırı aktif edin.
    # islem_baslat(is_ozetleme=False)
  • 14-11-2025, 22:24:00
    #3
    yucelyener adlı üyeden alıntı: mesajı görüntüle
    Yapay zeka çıktısı bir deneyin isterseniz.
    # -*- coding: utf-8 -*-
    import pandas as pd
    from groq import Groq
    import time
    import sys
     
    # 🔑 Ayarlarınızı Buraya Girin
    # Groq API key (ücretsiz) - console.groq.com adresinden alın
    GROQ_API_KEY = "BURAYA_API_KEY_YAPISTIRIN"
     
    # Giriş ve Çıkış Dosya Yolları
    excel_file = r'C:\DOSYA YOLU\ozet.xlsx'
    output_file = r'C:\DOSYA YOLU\ozet_sonuc.xlsx'
     
    # API İstemcisini Başlat
    try:
        client = Groq(api_key=GROQ_API_KEY)
    except Exception as e:
        print(f"HATA: Groq istemcisi başlatılamadı. API anahtarını kontrol edin. Hata: {e}")
        sys.exit(1)
     
    # Kullanılacak Sütun Adını Belirle (Excel dosyanızdaki ilk sütunun adı)
    # Eğer özetlenecek içerik "Icerik" adlı sütundaysa, bunu değiştirin.
    TARGET_COLUMN = "ICERIK" # Lütfen excel'inizdeki asıl sütun adını yazınız
    OUTPUT_COLUMN = f"{TARGET_COLUMN}_OZET"
     
    def groq_isle(text, is_ozet=True):
        """Metni özetler veya özgünleştirir (paraphrase). API hız limitini aşmamak için yeniden deneme içerir."""
        
        # Kullanıcı isteğine göre prompt oluşturma
        if is_ozet:
            baslik = "Bu Türkçe metni özetle:"
            kurallar = """KURALLAR:
    - Maksimum 100 kelime (kesinlikle bu sınırı aşma)
    - Tam cümleler, nokta ile bitir
    - Önemli tarihleri ve isimleri koru
    - Yarım cümle ASLA yazma
    - Başlık kullanma."""
            sonuc_etiketi = "Özet:"
        else: # Özgünleştirme (Paraphrase)
            baslik = "Bu Türkçe metni, içeriğini bozmadan tamamen özgünleştir (paraphrase et):"
            kurallar = """KURALLAR:
    - Metnin anlamını KESİNLİKLE koru
    - Yeni metin, orijinal metinle kelime bazında aynı olmamalı
    - Başlık kullanma."""
            sonuc_etiketi = "Özgünleştirilmiş Metin:"
     
        prompt = f"""{baslik}
     
    {kurallar}
     
    Metin: {text}
     
    {sonuc_etiketi}"""
     
        max_retries = 3
        for attempt in range(max_retries):
            try:
                chat = client.chat.completions.create(
                    messages=[{"role": "user", "content": prompt}],
                    # Daha yüksek bir model seçimi (daha iyi sonuçlar için)
                    model="llama-3.3-70b-versatile",
                    temperature=0.7 if not is_ozet else 0.3, # Özgünleştirmede daha yüksek yaratıcılık
                    max_tokens=2000 # Çıktı için daha yüksek bir limit
                )
                
                islemlenmis_metin = chat.choices[0].message.content.strip()
                
                # Sonuç kelime veya cümle olmaması durumunda basit bir kontrol
                if len(islemlenmis_metin.split()) < 5:
                    raise ValueError("API'den anlamlı bir sonuç gelmedi.")
    
                # Özetleme yapılıyorsa cümle sonu kontrolü
                if is_ozet and not islemlenmis_metin.endswith(('.', '!', '?')):
                    # Son noktayı bul ve sonrasını kes (tam cümle garantisi için)
                    son = islemlenmis_metin.rfind('.')
                    if son > len(islemlenmis_metin) * 0.75: # Metnin sonuna yakınsa
                        islemlenmis_metin = islemlenmis_metin[:son+1]
                    else:
                        islemlenmis_metin += '.' # Nokta ekle
                        
                return islemlenmis_metin
            
            except Exception as e:
                hata_mesaji = str(e)
                print(f"\nAPI HATA ({attempt + 1}. deneme): {hata_mesaji[:100]}...")
                
                # Hız limiti hatası için ekstra bekleme (Çoğu Groq/OpenAI limit hatası için geçerli)
                if "Rate limit" in hata_mesaji or "429" in hata_mesaji:
                    wait_time = 10 # 10 saniye bekle
                    print(f"Hız limiti hatası! {wait_time} saniye bekleniyor...")
                    time.sleep(wait_time)
                elif attempt < max_retries - 1:
                    wait_time = 5 # Diğer hatalar için 5 saniye bekle
                    print(f"Hata oluştu, {wait_time} saniye sonra tekrar deneniyor...")
                    time.sleep(wait_time)
                else:
                    # Maksimum deneme sayısına ulaşıldı
                    print("Maksimum deneme sayısına ulaşıldı. Orjinal metin kaydediliyor.")
                    return f"HATA: {text[:100]}..." # Hata durumunda metnin bir kısmını kaydet
                    
        return text[:150] + "..." # Tüm denemeler başarısız olursa
     
    # --- Ana İşlem ---
    def islem_baslat(is_ozetleme):
        try:
            df = pd.read_excel(excel_file)
        except FileNotFoundError:
            print(f"HATA: Dosya bulunamadı: {excel_file}")
            sys.exit(1)
            
        if TARGET_COLUMN not in df.columns:
            print(f"HATA: '{TARGET_COLUMN}' adlı sütun dosyada bulunamadı. Lütfen sütun adını kontrol edin.")
            # Kullanıcının Excel'deki ilk sütunun adını bulmasına yardımcı olmak için:
            print(f"Dosyanızdaki ilk 5 sütun: {df.columns.tolist()[:5]}")
            sys.exit(1)
            
        print(f"\n🚀 {excel_file} dosyası yüklendi. İşlem Sütunu: **{TARGET_COLUMN}**")
        print(f"Çıktı Sütunu: **{OUTPUT_COLUMN}**")
        print(f"Mod: **{'ÖZETLEME' if is_ozetleme else 'ÖZGÜNLEŞTİRME'}**\n")
     
        # Çıktı sütunu yoksa oluştur
        if OUTPUT_COLUMN not in df.columns:
            df[OUTPUT_COLUMN] = ""
     
        # İşlemi yap
        for i, row in df.iterrows():
            text = str(row[TARGET_COLUMN])
            
            # Daha önce özetlenmiş veya çok kısa metinleri atla
            if df.at[i, OUTPUT_COLUMN] != "" and not str(df.at[i, OUTPUT_COLUMN]).startswith("HATA"):
                print(f"✅ Satır {i+1}: Daha önce işlenmiş. Atlanıyor.")
                continue
                
            # 10 kelimeden az olanları atla
            if len(text.split()) < 10:
                df.at[i, OUTPUT_COLUMN] = "Çok kısa metin."
                continue
    
            print(f"⏳ Satır {i+1} ({len(text.split())} kelime) işleniyor...", end=" ")
            
            # API işlemini çağır
            df.at[i, OUTPUT_COLUMN] = groq_isle(text, is_ozet=is_ozetleme)
            
            # Her satırdan sonra dosyayı kaydet (İşlemin yarım kalmaması için)
            try:
                df.to_excel(output_file, index=False)
            except Exception as e:
                print(f"\nKAYIT HATA: Dosya kaydedilemedi. Excel'in kapalı olduğundan emin olun. Hata: {e}")
                
            print("✅ Tamamlandı. Bekleniyor...")
            
            # API hız limitlerine takılmamak için her çağrıdan sonra 1 saniye bekle
            time.sleep(1)
     
        print(f"\n🎉 İşlem Tamamlandı. Sonuç dosyası: **{output_file}**")
     
    # ➡️ Özetleme veya Özgünleştirme Seçimi
    # is_ozetleme = True: ÖZETLEME YAPAR
    # is_ozetleme = False: ÖZGÜNLEŞTİRME (PARAPHRASE) YAPAR
    islem_baslat(is_ozetleme=True)
    
    # Özgünleştirme yapmak isterseniz yukarıdaki satırı yorum satırı yapın ve aşağıdaki satırı aktif edin.
    # islem_baslat(is_ozetleme=False)

    bu hatayı verdi hocam
  • 14-11-2025, 22:51:44
    #4
    geceyolcusu2002 adlı üyeden alıntı: mesajı görüntüle

    bu hatayı verdi hocam
    Bunu dener misiniz?
    # -*- coding: utf-8 -*-
    import pandas as pd
    from groq import Groq
    import time
    import sys
     
    # -------------------------------------------------------------------
    # 🔑 AYARLARINIZI BURAYA GİRİN
    # -------------------------------------------------------------------
     
    # Groq API key (ücretsiz) - console.groq.com adresinden alın
    GROQ_API_KEY = "BURAYA_API_KEY_YAPISTIRIN" 
     
    # Giriş ve Çıkış Dosya Yolları
    excel_file = r'C:\DOSYA YOLU\ozet.xlsx'
    output_file = r'C:\DOSYA YOLU\ozet_sonuc.xlsx'
     
    # ❗️ ÇOK ÖNEMLİ: Excel dosyanızda özetlenecek metinlerin bulunduğu sütunun
    # tam adını buraya yazın (Örn: "Icerik", "Makale", "Haber Metni" vb.)
    TARGET_COLUMN = "ICERIK" 
     
    # Hangi işlemi yapmak istediğinizi seçin:
    # True = ÖZETLEME yap
    # False = ÖZGÜNLEŞTİRME (Yeniden Yazma) yap
    ISLEM_MODU_OZETLEME = True 
     
    # -------------------------------------------------------------------
    # API İŞLEM FONKSİYONU (Yeniden Deneme Mekanizmalı)
    # -------------------------------------------------------------------
     
    try:
        client = Groq(api_key=GROQ_API_KEY)
    except Exception as e:
        print(f"HATA: Groq istemcisi başlatılamadı. API anahtarını kontrol edin. Hata: {e}")
        sys.exit(1)
     
    OUTPUT_COLUMN = f"{TARGET_COLUMN}_SONUC"
     
    def groq_isle(text, is_ozet=True):
        """Metni özetler veya özgünleştirir. API hız limitini aşmamak için yeniden deneme içerir."""
        
        if is_ozet:
            baslik = "Bu Türkçe metni özetle:"
            kurallar = """KURALLAR:
    - Maksimum 100 kelime (kesinlikle bu sınırı aşma)
    - Tam cümleler, nokta ile bitir
    - Önemli tarihleri ve isimleri koru
    - Yarım cümle ASLA yazma
    - Başlık kullanma."""
            sonuc_etiketi = "Özet:"
        else: # Özgünleştirme
            baslik = "Bu Türkçe metni, içeriğini bozmadan tamamen özgünleştir (paraphrase et):"
            kurallar = """KURALLAR:
    - Metnin anlamını KESİNLİKLE koru
    - Yeni metin, orijinal metinle kelime bazında aynı olmamalı
    - Başlık kullanma."""
            sonuc_etiketi = "Özgünleştirilmiş Metin:"
     
        prompt = f"""{baslik}
     
    {kurallar}
     
    Metin: {text}
     
    {sonuc_etiketi}"""
     
        max_retries = 3 # Bir hata durumunda en fazla 3 kez yeniden dene
        for attempt in range(max_retries):
            try:
                chat = client.chat.completions.create(
                    messages=[{"role": "user", "content": prompt}],
                    model="llama-3.3-70b-versatile", 
                    temperature=0.3 if is_ozet else 0.7,
                    max_tokens=2000
                )
                
                islemlenmis_metin = chat.choices[0].message.content.strip()
                
                if len(islemlenmis_metin.split()) < 5:
                    raise ValueError("API'den anlamlı bir sonuç gelmedi (çok kısa).")
    
                return islemlenmis_metin
            
            except Exception as e:
                hata_mesaji = str(e)
                print(f"\n[API HATA] ({attempt + 1}. deneme): {hata_mesaji[:100]}...")
                
                # Hız limiti hatası (Rate limit)
                if "Rate limit" in hata_mesaji or "429" in hata_mesaji:
                    wait_time = 10 
                    print(f"Hiz limiti hatasi! {wait_time} saniye bekleniyor...")
                    time.sleep(wait_time)
                elif attempt < max_retries - 1:
                    wait_time = 5 # Diğer hatalar için 5 saniye bekle
                    print(f"Hata olustu, {wait_time} saniye sonra tekrar deneniyor...")
                    time.sleep(wait_time)
                else:
                    print("Maksimum deneme sayisina ulasildi. Orjinal metin kaydediliyor.")
                    return f"HATA: {text[:100]}..."
                    
        return f"HATA: Tum denemeler basarisiz oldu. {text[:100]}..."
     
    # -------------------------------------------------------------------
    # ANA İŞLEM (Excel Okuma ve Yazma)
    # -------------------------------------------------------------------
    def islem_baslat():
        try:
            df = pd.read_excel(excel_file)
        except FileNotFoundError:
            print(f"HATA: Dosya bulunamadi: {excel_file}")
            sys.exit(1)
            
        if TARGET_COLUMN not in df.columns:
            print(f"HATA: '{TARGET_COLUMN}' adlı sütun dosyada bulunamadı.")
            print(f"Lütfen kodun en başındaki 'TARGET_COLUMN' değişkenini düzeltin.")
            print(f"Dosyanızdaki mevcut sütun adları: {df.columns.tolist()}")
            sys.exit(1)
            
        print(f"\n[BASLADI] {excel_file} dosyasi yüklendi.")
        print(f"Islem Sütunu: **{TARGET_COLUMN}**")
        print(f"Cikti Sütunu: **{OUTPUT_COLUMN}**")
        print(f"Mod: **{'OZETLEME' if ISLEM_MODU_OZETLEME else 'OZGUNLESTIRME'}**\n")
     
        if OUTPUT_COLUMN not in df.columns:
            df[OUTPUT_COLUMN] = ""
     
        for i, row in df.iterrows():
            text = str(row[TARGET_COLUMN])
            
            # Daha önce işlenmişse (veya hata değilse) atla
            if pd.isna(df.at[i, OUTPUT_COLUMN]) or df.at[i, OUTPUT_COLUMN] == "":
                pass # Boşsa devam et
            elif not str(df.at[i, OUTPUT_COLUMN]).startswith("HATA"):
                print(f"[ATLANDI] Satir {i+1}: Daha önce işlenmiş.")
                continue
                
            if len(text.split()) < 10:
                print(f"[ATLANDI] Satir {i+1}: Metin çok kısa (10 kelimeden az).")
                df.at[i, OUTPUT_COLUMN] = "Cok kisa metin."
                continue
    
            print(f"[ISLENIYOR] Satir {i+1} ({len(text.split())} kelime)...", end=" ")
            
            df.at[i, OUTPUT_COLUMN] = groq_isle(text, is_ozet=ISLEM_MODU_OZETLEME)
            
            print("Tamamlandi.")
            
            # Her 5 satırda bir dosyayı kaydet (Sürekli kaydetmek yavaşlatır)
            if (i + 1) % 5 == 0:
                try:
                    df.to_excel(output_file, index=False)
                    print(f"--- Ara Kayit Yapildi (Satir {i+1}) ---")
                except Exception as e:
                    print(f"\n[KAYIT HATA] Dosya kaydedilemedi. Excel'in kapalı olduğundan emin olun. Hata: {e}")
            
            # API hız limitine takılmamak için 1 saniye bekle
            time.sleep(1) 
     
        # Döngü bittikten sonra son kez kaydet
        try:
            df.to_excel(output_file, index=False)
        except Exception as e:
            print(f"\n[KAYIT HATA] Son dosya kaydedilemedi. Excel'in kapalı olduğundan emin olun. Hata: {e}")
            
        print(f"\n[BITTI] Islem Tamamlandi. Sonuç dosyasi: **{output_file}**")
     
    # Kodu Çalıştır
    islem_baslat()
  • 14-11-2025, 23:02:07
    #5
    Hata verdi sayın hocam.
  • 16-11-2025, 11:50:03
    #6
    Merhaba bilgisayarım şuan kurulum yapıyor kodu atamicam ama wp üzerinden konuyla ilgili şekilde yazarsanız ücretsiz yardımcı olurum kurulum bitince daha yapmıştım özetleme işlemlerini ama CUDA veya güçlü bir işlemci gerek internetsiz olmasını isterseniz aksi halde google geminide günlük 250 istek sınırı var

    Wp 5516768147
  • 18-11-2025, 23:09:16
    #7
    MehmetSekeroglu adlı üyeden alıntı: mesajı görüntüle
    Merhaba bilgisayarım şuan kurulum yapıyor kodu atamicam ama wp üzerinden konuyla ilgili şekilde yazarsanız ücretsiz yardımcı olurum kurulum bitince daha yapmıştım özetleme işlemlerini ama CUDA veya güçlü bir işlemci gerek internetsiz olmasını isterseniz aksi halde google geminide günlük 250 istek sınırı var

    Wp 5516768147
    hocam kusura bakmayın birkaç gündür şehir dışında olduğum için dönüş yapamadım. Aslında kurulumu yaptıysanız ve sizin için de uygunsa kodları buradan paylaşsanız da belki başkaları da faydalanabilir.
  • 09-12-2025, 16:30:24
    #8
    geceyolcusu2002 adlı üyeden alıntı: mesajı görüntüle
    hocam kusura bakmayın birkaç gündür şehir dışında olduğum için dönüş yapamadım. Aslında kurulumu yaptıysanız ve sizin için de uygunsa kodları buradan paylaşsanız da belki başkaları da faydalanabilir.
    https://github.com/MehmetYukselSeker...enlikTurkeyBot kusura bakmayın bayadır foruma girmedim bu repoda kullanımı kurulumu ve kodu mevcut