import gradio as gr from transformers import pipeline import torch from duckduckgo_search import DDGS # GPU istemeyen, CPU üzerinde akıcı çalışan zeki model model_id = "google/gemma-2-2b-it" print("Turkbot CPU üzerinde uyanıyor... Lütfen bekleyin.") # Device -1 demek 'Sadece CPU kullan' demektir, hata almanı engeller pipe = pipeline( "text-generation", model=model_id, device=-1, torch_dtype=torch.float32 # CPU için en güvenli format ) def internetten_ara(soru): try: with DDGS() as ddgs: results = [r for r in ddgs.text(soru, max_results=2)] return "\n".join([r['body'] for r in results]) except: return "" def turkbot_cevap(mesaj, history): bilgi = internetten_ara(mesaj) # RAG mantığıyla bilgiyi harmanlıyoruz prompt = f"user\nBilgi: {bilgi}\nSoru: {mesaj}\nmodel\n" outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7) cevap = outputs[0]['generated_text'].split("model\n")[-1] return cevap.strip() demo = gr.ChatInterface( fn=turkbot_cevap, title="🤖 TURKBOT CPU", description="Ücretsiz sunucuda çalışan, internete bağlı akıllı asistan!" ) if __name__ == "__main__": demo.launch()