import gradio as gr import requests from huggingface_hub import InferenceClient # HuggingFace modeli client = InferenceClient("MiniMaxAI/MiniMax-VL-01") # GitHub'dan sistem mesajı çekeceğimiz bağlantı GITHUB_RAW_URL = "https://raw.githubusercontent.com/ALPERALL/AlpDroid/main/prompt.txt" # Sistem mesajını GitHub'dan çeken fonksiyon def fetch_system_message(): try: response = requests.get(GITHUB_RAW_URL) response.raise_for_status() return response.text.strip() except requests.exceptions.RequestException as e: return f"Error fetching system message: {str(e)}" # Kullanıcının yazdığı mesaja yanıt oluşturan fonksiyon def respond(message, history): max_tokens = 512 temperature = 0.7 top_p = 0.95 # Sistem mesajı çekiliyor system_message = fetch_system_message() if system_message.startswith("Error"): yield system_message return messages = [{"role": "system", "content": system_message}] for val in history: if val[0]: messages.append({"role": "user", "content": val[0]}) if val[1]: messages.append({"role": "assistant", "content": val[1]}) messages.append({"role": "user", "content": message}) response = "" for message in client.chat_completion( messages, max_tokens=max_tokens, stream=True, temperature=temperature, top_p=top_p, ): token = message.choices[0].delta.content response += token yield response # Tema tanımı (koyu renk ve özel yazı tipi ile) theme = gr.themes.Soft( primary_hue="emerald", secondary_hue="emerald", neutral_hue="gray", font=[ gr.themes.GoogleFont("Exo"), "ui-sans-serif", "system-ui", "sans-serif" ] ).set( body_background_fill_dark="#010409", block_background_fill_dark="#010409", block_border_width="1px", block_title_background_fill_dark="#1e1c26", input_background_fill_dark="#161b22", button_secondary_background_fill_dark="#21262d", border_color_accent_dark="#2f353c", border_color_primary_dark="#2f353c", background_fill_secondary_dark="#010409", color_accent_soft_dark="transparent", code_background_fill_dark="#0d1117", ) # Gradio arayüzü demo = gr.ChatInterface( respond, textbox=gr.Textbox(placeholder="Ask me anything. You can also drop in images and .mp4 videos."), theme=theme, ) # Uygulama çalıştırılıyor if __name__ == "__main__": demo.launch(share=True)