| import gradio as gr |
| from transformers import pipeline |
| import torch |
| from duckduckgo_search import DDGS |
|
|
| |
| model_id = "google/gemma-2-2b-it" |
|
|
| print("Turkbot CPU üzerinde uyanıyor... Lütfen bekleyin.") |
|
|
| |
| pipe = pipeline( |
| "text-generation", |
| model=model_id, |
| device=-1, |
| torch_dtype=torch.float32 |
| ) |
|
|
| 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) |
| |
| prompt = f"<start_of_turn>user\nBilgi: {bilgi}\nSoru: {mesaj}<end_of_turn>\n<start_of_turn>model\n" |
| |
| outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7) |
| cevap = outputs[0]['generated_text'].split("<start_of_turn>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() |