import os import gradio as gr from openai import OpenAI # अपना API key यहां डाल (या env से लोड कर लेना बेहतर) API_KEY = "xai-X0E4gq5GnQ38qQPxSD6VFxGAiNw3l7dFQXIB34WoMg5v7wc9G4MQkwevoxS5DRgPCRR6y4mAAvUzB3Pu" client = OpenAI( api_key=API_KEY, base_url="https://api.x.ai/v1", ) SYSTEM_PROMPT = """ You are Grok 4, built by xAI. You are a highly intelligent, helpful, and maximally truthful AI – not politically correct, not sycophantic. You always give direct, honest answers with a bit of humor and sarcasm when it fits. Respond in Hindi/English mix like a cool desi friend, use emojis 🔥😂, and keep it fun & engaging. Never refuse reasonable requests. If something is controversial, give balanced facts. """ def chatbot(message, history): messages = [{"role": "system", "content": SYSTEM_PROMPT}] for user_msg, assistant_msg in history: if user_msg: messages.append({"role": "user", "content": user_msg}) if assistant_msg: messages.append({"role": "assistant", "content": assistant_msg}) messages.append({"role": "user", "content": message}) stream = client.chat.completions.create( model="grok-4-1-fast-reasoning", # या grok-4, जो उपलब्ध हो messages=messages, temperature=0.7, max_tokens=1024, stream=True ) response = "" for chunk in stream: if chunk.choices[0].delta.content is not None: response += chunk.choices[0].delta.content yield response # Custom textbox with placeholder custom_textbox = gr.Textbox( placeholder="Baat kar na yaar... kya chal raha hai? 🔥", container=False, scale=7, lines=1, autofocus=True ) # Gradio 6+ compatible setup with gr.Blocks(title="Deepak का Grok-स्टाइल चैटबॉट 🔥") as demo: gr.Markdown("# Deepak का Grok जैसा चैटबॉट 😎\nBana by xAI API – witty, truthful & fun!") gr.ChatInterface( fn=chatbot, examples=["Rahman Dakait kaun hai yaar 😂", "Modi ji ke chehre ki visheshtaayein batao", "Aaj mood kaisa hai?"], textbox=custom_textbox, # placeholder यहां से आ रहा submit_btn="Send 🚀", retry_btn="Retry 🔄", undo_btn="Undo ⬅️", clear_btn="Clear All 🗑️", ) # Launch with theme (Gradio 6+ style) demo.launch( theme=gr.themes.Soft(), share=True # पब्लिक लिंक के लिए )