| import os |
| import gradio as gr |
| from huggingface_hub import InferenceClient |
|
|
| |
| |
| |
| hf_token = os.getenv("HF_TOKEN") |
|
|
| |
| gemma_client = InferenceClient("google/gemma-2b-it", token=hf_token) |
| param_client = InferenceClient("bharatgenai/Param-1-2.9B-Instruct", token=hf_token) |
|
|
| |
| |
| |
| def advanced_router(prompt): |
| prompt_lower = prompt.lower() |
| |
| |
| param_keywords = [ |
| "india", "indian", "hindi", "kheti", "farmer", "agriculture", "crop", |
| "medical", "doctor", "health", "bukhar", "fever", "medicine", "ayurved", |
| "history", "study", "exam", "syllabus", "board", "pm", "constitution", |
| "history of india", "kise kehte hain" |
| ] |
| |
| for word in param_keywords: |
| if word in prompt_lower: |
| return "param" |
| return "gemma" |
|
|
| |
| |
| |
| def dibakar_1_response(user_query, history): |
| query_lower = user_query.lower() |
| |
| |
| if "kis na banaya" in query_lower or "kisne banaya" in query_lower or "who created you" in query_lower: |
| return "Mujha Dibakar munshi na banaya hai yo akala kala banaya hai." |
| |
| if "dibakar ka bara ma" in query_lower or "about dibakar" in query_lower: |
| return "Dibakar munshi ka garh indian ka west bangal ma purba barwaman ma samudragrarh ka natunpara ma hai yon ka pita ka name kartick munshi hai." |
|
|
| |
| selected_expert = advanced_router(user_query) |
| |
| try: |
| if selected_expert == "gemma": |
| system_prompt = f"System: You are Dibakar 1, an advanced AI system.\nUser: {user_query}\nAI:" |
| response = gemma_client.text_generation(system_prompt, max_new_tokens=250, temperature=0.7) |
| return f"[🟢 Routed to Gemma Expert]\n\n{response.strip()}" |
| |
| elif selected_expert == "param": |
| system_prompt = f"System: You are Dibakar 1, an expert in Indian history, farming, and medical knowledge.\nUser: {user_query}\nAI:" |
| response = param_client.text_generation(system_prompt, max_new_tokens=250, temperature=0.7) |
| return f"[🟠 Routed to Param Expert]\n\n{response.strip()}" |
| |
| except Exception as e: |
| return f"⚠️ Engine Routing Error, processing fallback... Details: {str(e)}" |
|
|
| |
| |
| |
| with gr.Blocks() as demo: |
| gr.Markdown( |
| """ |
| # 🤖 Dibakar 1 - MoE Engine v1.0 |
| ### Powered by Google Gemma & BharatGenAI Param | Created by Dibakar Munshi |
| *This MoE intelligently routes technical/general queries to Gemma and Indian context/farming/medical queries to Param.* |
| """ |
| ) |
| |
| |
| chatbot = gr.ChatInterface( |
| fn=dibakar_1_response, |
| textbox=gr.Textbox(placeholder="Ask Dibakar 1 something...", container=False, scale=7), |
| type="messages" |
| ) |
|
|
| if __name__ == "__main__": |
| demo.launch(theme=gr.themes.Soft()) |