Download app.py from turkbot/Turkbot: direct link, hf CLI and curl.
- Browser
- Download file 1.32 kB
-
https://huggingface.co/spaces/turkbot/Turkbot/resolve/main/app.py
- Command line
-
hf download hf://spaces/turkbot/Turkbot/app.py
-
curl -L -o app.py https://huggingface.co/spaces/turkbot/Turkbot/resolve/main/app.py
1.32 kB
| 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"<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() |