Spaces:
Running
Running
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() |