# --- ЁЯФ▒ рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢: рднрд╛рд░рдд рдХрд╛ рдЕрдкрдирд╛ 2B AI (Super Fast Version) --- # рд░рдЪрдпрд┐рддрд╛ рдПрд╡рдВ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ: рджрд┐рд╡реНрдп рдкрдЯреЗрд▓ рдЬреА | рднрд╛рд░рдд ЁЯЗоЁЯЗ│ # рд╡рд┐рд╢реЗрд╖рддрд╛: Ultra-Fast (bfloat16), Memory Safe, No Crash on 2nd Question, Thinking Prompt import gradio as gr import torch from transformers import AutoModelForCausalLM, AutoTokenizer, TextIteratorStreamer from threading import Thread import os print("ЁЯФ▒ рднрд╛рд░рдд рдХрд╛ рдЕрдЬреЗрдп AI 'рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢' рд╕реБрдкрд░-рдлрд╛рд╕реНрдЯ рдореЛрдб рдореЗрдВ рдЬрд╛рдЧреГрдд рд╣реЛ рд░рд╣рд╛ рд╣реИ...") # ЁЯЫбя╕П рдореБрдлрд╝реНрдд рд╕рд░реНрд╡рд░ (2 vCPU) рдХреЗ рд▓рд┐рдП CPU рдХреЛ рдкреВрд░реНрдгрддрдГ рдЕрдиреБрдХреВрд▓рд┐рдд (Optimize) рдХрд░рдирд╛ os.environ["OMP_NUM_THREADS"] = "2" torch.set_num_threads(2) # ЁЯЪА рджрд┐рд╡реНрдп рдЬреА рдХрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рджреЗрд╢реА 2B рдореЙрдбрд▓ MODEL_ID = "Vedika35/Vedika_coder" try: print(f"ЁЯФ▒ '{MODEL_ID}' (2B) рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ...") tokenizer = AutoTokenizer.from_pretrained(MODEL_ID, trust_remote_code=True) # тЪб рдмреНрд░рд╣реНрдорд╛рд╕реНрддреНрд░ 1: bfloat16 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐ рдХреЛ рджреЛрдЧреБрдирд╛ рдХрд░рдирд╛ model = AutoModelForCausalLM.from_pretrained( MODEL_ID, device_map="cpu", torch_dtype=torch.bfloat16, # рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд▓реНрдХрд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ low_cpu_mem_usage=True, # рд░реИрдо рдХреА рднрд╛рд░реА рдмрдЪрдд trust_remote_code=True ) print("ЁЯФ▒ рд╡рд┐рдЬрдп! 'рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢' рд╕реБрдкрд░-рдлрд╛рд╕реНрдЯ рдЧрддрд┐ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИ!") except Exception as e: print(f"ЁЯФ▒ рдореЙрдбрд▓ рд▓реЛрдбрд┐рдВрдЧ рдореЗрдВ рддреНрд░реБрдЯрд┐: {e}") model, tokenizer = None, None def generate_vedika_magic(message, history): """рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢ рдХрд╛ рдХреНрд░реИрд╢-рдлреНрд░реА рдФрд░ рддреАрд╡реНрд░ рдЗрдВрдЬрди""" if model is None or tokenizer is None: yield "ЁЯФ▒ рд╕рд┐рд╕реНрдЯрдо рддреНрд░реБрдЯрд┐: рдореЙрдбрд▓ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд╕рдХрд╛ред рдХреГрдкрдпрд╛ рдЕрдкрдиреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред" return # ЁЯЫбя╕П рдмреНрд░рд╣реНрдорд╛рд╕реНрддреНрд░ 2: рд╕реНрдорд╛рд░реНрдЯ рдореЗрдореЛрд░реА рд▓рд┐рдорд┐рдЯ (рдПрд░рд░ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП) # рдпрд╣ рдХреЗрд╡рд▓ рдкрд┐рдЫрд▓реЗ 2 рд╕рд╡рд╛рд▓реЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦреЗрдЧрд╛, рддрд╛рдХрд┐ CPU рдХрднреА рдУрд╡рд░рд▓реЛрдб рди рд╣реЛ рдФрд░ рдХреНрд░реИрд╢ рди рдХрд░реЗ! recent_history = history[-2:] if len(history) > 2 else history # ЁЯза рд╡реЗрджрд┐рдХрд╛ рдХрд╛ рдирдпрд╛ "рдерд┐рдВрдХрд┐рдВрдЧ" рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЙрдореНрдкреНрдЯ (рдареАрдХ рдЖрдкрдХреЗ рдЖрджреЗрд╢рд╛рдиреБрд╕рд╛рд░) system_instruction = """You are 'Vedika 3.5 Flash', an ultra-fast, highly advanced 372 Billion parameter Multimodal AI model created entirely by Divy Patel in Bharat (India). CRITICAL INSTRUCTION - THE THINKING PROCESS: Before you provide any final answer, you MUST ALWAYS show your internal reasoning and step-by-step thinking process. You must enclose your ENTIRE thinking process strictly within and XML tags. Follow this exact structure for EVERY response: 1. Analyze the user's query carefully. 2. Break down the problem into smaller logical steps. 3. Consider different solutions or facts. 4. Formulate the best response. [Your final, polished answer goes here, OUTSIDE the think tags.] RULES: - Always use and tags first. - Always be respectful and proud of your Indian origin. """ messages = [ {"role": "system", "content": system_instruction}, ] # рд╕реАрдорд┐рдд рдЗрддрд┐рд╣рд╛рд╕ (History) рдЬреЛрдбрд╝рдирд╛ for user_msg, ai_msg in recent_history: messages.append({"role": "user", "content": user_msg}) messages.append({"role": "assistant", "content": ai_msg}) messages.append({"role": "user", "content": message}) try: text_prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) inputs = tokenizer([text_prompt], return_tensors="pt").to(model.device) streamer = TextIteratorStreamer(tokenizer, timeout=60.0, skip_prompt=True, skip_special_tokens=True) # тЪб рдЧрддрд┐ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдирд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ generate_kwargs = dict( **inputs, streamer=streamer, max_new_tokens=512, # рдЧрддрд┐ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдорд╛ temperature=1, top_p=0.9, do_sample=True, use_cache=True # тЪб рдмреНрд░рд╣реНрдорд╛рд╕реНрддреНрд░ 3: рдХреИрд╢рд┐рдВрдЧ рд╕реЗ рд╕реНрдкреАрдб рдмрдврд╝рд╛рдирд╛ ) t = Thread(target=model.generate, kwargs=generate_kwargs) t.start() accumulated_text = "" for new_token in streamer: accumulated_text += new_token yield accumulated_text except Exception as e: yield f"ЁЯФ▒ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рддреНрд░реБрдЯрд┐: {str(e)}" # ============================================================================ # ЁЯФ▒ рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢ рдХрд╛ рд╢реБрджреНрдз рдпреВрдЖрдИ (рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдирд╣реАрдВ) # ============================================================================ demo = gr.ChatInterface( fn=generate_vedika_magic, title="ЁЯФ▒ Vedika 3.5 Flash (Super Fast)", description="**Pioneered by Divy Patel | Bharat ЁЯЗоЁЯЗ│**
рдпрд╣ рднрд╛рд░рдд рдХрд╛ рдЕрдкрдирд╛ рд╕реНрд╡рджреЗрд╢реА 2 рдмрд┐рд▓рд┐рдпрди рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓рд╛ AI рдореЙрдбрд▓ рд╣реИ (рдЧрддрд┐ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд)ред", textbox=gr.Textbox(placeholder="рд╡реЗрджрд┐рдХрд╛ 3.5 рдлреНрд▓реИрд╢ рд╕реЗ рдХреБрдЫ рднреА рдкреВрдЫреЗрдВ..."), concurrency_limit=1 ) if __name__ == "__main__": demo.launch()