omurberaisik commited on
Commit
dc817d9
·
verified ·
1 Parent(s): 7dd11aa

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +121 -0
  2. requirements.txt +2 -0
app.py ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from huggingface_hub import InferenceClient
3
+
4
+ MODELS = {
5
+ "tiny-LLM": "omurberaisik/tiny-LLM",
6
+ "HoloCom 13B HQ": "omurberaisik/holocomn13b_high_quality",
7
+ "HoloCom Lite v8": "omurberaisik/holocom-lite-v8_test_ai",
8
+ "HoloCom NB7 (merged)": "omurberaisik/holocomnb7-merged",
9
+ "HoloCom NB7 (base)": "omurberaisik/holocomnb7",
10
+ "DNA 7B Genomic": "omurberaisik/dna-7b-genomic",
11
+ "BioTransformer 7B v2": "omurberaisik/biotransformer-7b-v2",
12
+ "BioTransformer 1B": "omurberaisik/biotransformer-1b-v1",
13
+ }
14
+
15
+ def respond(message, history, model_name, max_tokens, temperature, top_p):
16
+ model_id = MODELS[model_name]
17
+ client = InferenceClient(model_id)
18
+
19
+ # Geçmiş mesajları formatla
20
+ messages = []
21
+ for user_msg, bot_msg in history:
22
+ messages.append({"role": "user", "content": user_msg})
23
+ if bot_msg:
24
+ messages.append({"role": "assistant", "content": bot_msg})
25
+ messages.append({"role": "user", "content": message})
26
+
27
+ response = ""
28
+ try:
29
+ for chunk in client.chat_completion(
30
+ messages=messages,
31
+ max_tokens=max_tokens,
32
+ temperature=temperature,
33
+ top_p=top_p,
34
+ stream=True,
35
+ ):
36
+ token = chunk.choices[0].delta.content
37
+ if token:
38
+ response += token
39
+ yield response
40
+ except Exception:
41
+ # Fallback: text_generation
42
+ prompt = "\n".join(
43
+ [f"User: {u}\nAssistant: {b}" for u, b in history if b]
44
+ )
45
+ prompt += f"\nUser: {message}\nAssistant:"
46
+ try:
47
+ for chunk in client.text_generation(
48
+ prompt,
49
+ max_new_tokens=max_tokens,
50
+ temperature=temperature,
51
+ top_p=top_p,
52
+ stream=True,
53
+ ):
54
+ response += chunk
55
+ yield response
56
+ except Exception as e:
57
+ yield f"❌ Hata: {str(e)}\n\nModel yüklenmemiş olabilir, biraz bekleyip tekrar deneyin."
58
+
59
+
60
+ with gr.Blocks(
61
+ title="Ömür Bera Işık — Model Hub",
62
+ theme=gr.themes.Soft(
63
+ primary_hue="violet",
64
+ secondary_hue="teal",
65
+ ),
66
+ css="""
67
+ .model-selector { font-weight: 600; }
68
+ footer { display: none !important; }
69
+ """
70
+ ) as demo:
71
+
72
+ gr.Markdown("""
73
+ # ∞ Apeiron Model Hub
74
+ **omurberaisik** tarafından geliştirilen tüm modeller — tek arayüzde.
75
+
76
+ Model seçin, yazın, yanıt alın.
77
+ """)
78
+
79
+ with gr.Row():
80
+ with gr.Column(scale=1):
81
+ model_selector = gr.Dropdown(
82
+ choices=list(MODELS.keys()),
83
+ value="tiny-LLM",
84
+ label="Model Seç",
85
+ elem_classes="model-selector"
86
+ )
87
+ gr.Markdown("### Parametreler")
88
+ max_tokens = gr.Slider(64, 1024, value=256, step=64, label="Max Tokens")
89
+ temperature = gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature")
90
+ top_p = gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top-p")
91
+
92
+ gr.Markdown("""
93
+ ### Modeller
94
+ | Model | Tür |
95
+ |-------|-----|
96
+ | tiny-LLM | Genel |
97
+ | HoloCom 13B/7B | Sohbet |
98
+ | DNA 7B | Genomik |
99
+ | BioTransformer | Biyomedikal |
100
+ """)
101
+
102
+ with gr.Column(scale=3):
103
+ chatbot = gr.ChatInterface(
104
+ fn=respond,
105
+ additional_inputs=[model_selector, max_tokens, temperature, top_p],
106
+ chatbot=gr.Chatbot(height=500, label="Sohbet"),
107
+ textbox=gr.Textbox(placeholder="Mesajınızı yazın...", label=""),
108
+ submit_btn="Gönder",
109
+ retry_btn="↺ Tekrar",
110
+ undo_btn="↩ Geri Al",
111
+ clear_btn="🗑 Temizle",
112
+ )
113
+
114
+ gr.Markdown("""
115
+ ---
116
+ 🤗 [HuggingFace Profile](https://huggingface.co/omurberaisik) ·
117
+ 📦 [PyPI](https://pypi.org/user/FastLoRA/) ·
118
+ Apeiron LM — *byte-native parallel language model*
119
+ """)
120
+
121
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ gradio>=4.0.0
2
+ huggingface_hub>=0.20.0