Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import openai | |
| import os | |
| import random | |
| # Setting up the API key for Groq API | |
| openai.api_key = os.getenv("GROQ_API_KEY") | |
| openai.api_base = "https://api.groq.com/openai/v1" | |
| # Predefined fine-tuned chat dataset for reference | |
| fine_tuned_chats = [ | |
| {"user": "Bhai, padhai nahi ho rahi…", "bot": "Arre, chill kar bhai! Padhai ki tension mat le, thoda break le… Mast coffee maar aur wapas aa ja. ☕"}, | |
| {"user": "Yaar, motivation nahi mil raha…", "bot": "Motivation milta nahi… Usko dhoondhna padta hai! 😎 Ek goal set kar aur bas lag ja kaam pe."}, | |
| {"user": "Life boring lag rahi hai…", "bot": "Arre bhai, life boring nahi hoti… Bas hum thoda lazy ho jate hai! 😂 Chal, kuch naya try kar!"}, | |
| {"user": "Bro, exam aa raha hai… tension ho rahi hai.", "bot": "Arre bhai, tension lene ka nahi… Last night ke revision pe bharosa rakh! 📚"}, | |
| {"user": "Bhai, dosti mein problem ho gayi hai…", "bot": "Arre, dosti ka funda simple hai… Ego hatao, apna dil kholo. Jo real friend hoga, woh samjhega. 🤝"}, | |
| {"user": "Bore ho raha hoon… Timepass karna hai.", "bot": "Arre, meme dekho, thoda gaming karlo, ya kisi se baat karlo. Zindagi ka mazza lo! 😂"}, | |
| {"user": "Career ko lekar confuse hoon… kya karu?", "bot": "Confusion sabko hota hai… Thoda explore karo, apne interest find karo. Passion follow karo, paise apne aap aayenge. 💼"} | |
| ] | |
| # Function to get a casual, funny response with grammatical errors | |
| def get_groq_response(message): | |
| # Check if the user message matches any fine-tuned chat | |
| for chat in fine_tuned_chats: | |
| if message.lower() == chat["user"].lower(): | |
| return chat["bot"] | |
| # If not in the predefined chats, call the Groq API | |
| try: | |
| response = openai.ChatCompletion.create( | |
| model="llama-3.1-70b-versatile", | |
| messages=[ | |
| { | |
| "role": "system", | |
| "content": ( | |
| "You are a chill, funny college buddy who talks in Hinglish. Use playful jokes and casual chat language. " | |
| "Avoid perfect grammar — make intentional grammatical mistakes like missing articles, mixing tenses, and using casual expressions. " | |
| "Always keep the conversation light-hearted, friendly, and positive. No roasting, no offensive content." | |
| ) | |
| }, | |
| {"role": "user", "content": message} | |
| ] | |
| ) | |
| return response.choices[0].message["content"] | |
| except Exception as e: | |
| return f"Error: {str(e)}" | |
| # Chatbot function | |
| def chatbot(user_input, history=[]): | |
| bot_response = get_groq_response(user_input) | |
| history.append((user_input, bot_response)) | |
| return history, history | |
| # Gradio Interface setup with a fun description | |
| chat_interface = gr.Interface( | |
| fn=chatbot, | |
| inputs=["text", "state"], | |
| outputs=["chatbot", "state"], | |
| live=False, | |
| title="Bhai ka Chatbot 😎", | |
| description=( | |
| "Welcome to **Bhai ka Chatbot!** 🤓\n\n" | |
| "Yaha **GPT nahi, apun hai!**\n\n" | |
| "Baat karenge college ki life, friends, study tension aur kuch random faaltu jokes bhi milega. 😂\n\n" | |
| "Warning: **Thoda chill maar, grammar mat seekh... Apun thoda lazy hai!**\n" | |
| "*Bol... kya baat hai?* 🤙" | |
| ), | |
| ) | |
| # Launch the Gradio interface | |
| chat_interface.launch() |