import gradio as gr from huggingface_hub import InferenceClient MODELS = { "tiny-LLM": "omurberaisik/tiny-LLM", "HoloCom 13B HQ": "omurberaisik/holocomn13b_high_quality", "HoloCom Lite v8": "omurberaisik/holocom-lite-v8_test_ai", "HoloCom NB7 (merged)": "omurberaisik/holocomnb7-merged", "HoloCom NB7 (base)": "omurberaisik/holocomnb7", "DNA 7B Genomic": "omurberaisik/dna-7b-genomic", "BioTransformer 7B v2": "omurberaisik/biotransformer-7b-v2", "BioTransformer 1B": "omurberaisik/biotransformer-1b-v1", } def parse_history(history): messages = [] for item in history: if isinstance(item, dict): messages.append({"role": item["role"], "content": item["content"]}) else: user_msg, bot_msg = item messages.append({"role": "user", "content": user_msg}) if bot_msg: messages.append({"role": "assistant", "content": bot_msg}) return messages def respond(message, history, model_name, max_tokens, temperature, top_p): model_id = MODELS[model_name] client = InferenceClient(model_id) messages = parse_history(history) messages.append({"role": "user", "content": message}) response = "" try: for chunk in client.chat_completion( messages=messages, max_tokens=max_tokens, temperature=temperature, top_p=top_p, stream=True, ): token = chunk.choices[0].delta.content if token: response += token yield response except Exception: prompt = "" for item in messages[:-1]: role = "User" if item["role"] == "user" else "Assistant" prompt += f"{role}: {item['content']}\n" prompt += f"User: {message}\nAssistant:" try: for chunk in client.text_generation( prompt, max_new_tokens=max_tokens, temperature=temperature, top_p=top_p, stream=True, ): response += chunk yield response except Exception as e: yield f"❌ Hata: {str(e)}\n\nModel yüklenmemiş olabilir, biraz bekleyip tekrar deneyin." with gr.Blocks(title="Ömür Bera Işık — Model Hub") as demo: gr.Markdown("# ∞ Apeiron Model Hub\n**omurberaisik** tarafından geliştirilen tüm modeller.") with gr.Row(): with gr.Column(scale=1): model_selector = gr.Dropdown( choices=list(MODELS.keys()), value="tiny-LLM", label="Model Seç" ) max_tokens = gr.Slider(64, 1024, value=256, step=64, label="Max Tokens") temperature = gr.Slider(0.1, 2.0, value=0.7, step=0.1, label="Temperature") top_p = gr.Slider(0.1, 1.0, value=0.9, step=0.05, label="Top-p") with gr.Column(scale=3): gr.ChatInterface( fn=respond, additional_inputs=[model_selector, max_tokens, temperature, top_p], ) gr.Markdown("🤗 [HuggingFace Profile](https://huggingface.co/omurberaisik) · Apeiron LM") demo.launch()