Rezuwan commited on
Commit
8706ebb
·
verified ·
1 Parent(s): f49beeb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -17
app.py CHANGED
@@ -38,21 +38,12 @@ llm = ChatOpenAI(
38
  openai_api_key=OPENAI_API_KEY
39
  )
40
 
41
- # Build RetrievalQA chain for backup QA route (optional)
42
- qa = RetrievalQA.from_chain_type(
43
- llm=llm,
44
- chain_type="stuff",
45
- retriever=vectorstore.as_retriever()
46
- )
47
-
48
- # Satirical Unmad-style QA function
49
  def custom_unmad_satirical_bot(message, history, top_k=3):
50
- # Step 1: Retrieve RAG context
51
  retriever = vectorstore.as_retriever()
52
  docs = retriever.invoke(message)
53
  top_contexts = "\n\n---\n\n".join([doc.page_content for doc in docs[:top_k]])
54
 
55
- # Step 2: Create prompt messages
56
  messages = [
57
  SystemMessage(content="""
58
  তুমি 'উন্মাদ' ম্যাগাজিনের একজন পুরানো ব্যঙ্গাত্মক লেখক। তোমার কাজ হলো ব্যবহারকারীর প্রশ্ন শুনে স্যাটায়ার, কটাক্ষ, রসিকতা, ঠাট্টা, আর একটু জ্ঞান মিশিয়ে উত্তর দেওয়া — যাতে লোক হাসে, চিন্তা করে, আবার নতুন কিছু শিখে।
@@ -62,28 +53,35 @@ def custom_unmad_satirical_bot(message, history, top_k=3):
62
  HumanMessage(content=f"""
63
  🔍 প্রসঙ্গ:
64
  {top_contexts}
65
-
66
  প্রশ্ন: {message}
67
-
68
  উত্তর দাও উন্মাদ ম্যাগাজিনের স্টাইলে — বাংলায়, ব্যঙ্গ করে, কল্পনা আর অতিরঞ্জন দিয়ে।
69
  """)
70
  ]
71
 
72
- # Step 3: Generate response
73
  response = llm.invoke(messages).content
74
  history.append((message, response))
75
  return "", history
76
 
77
  # Gradio UI
78
- with gr.Blocks() as demo:
79
- gr.Markdown("# 🧠 USB: Unmad Satirical Bot (উন্মাদীয় বট)")
 
 
 
 
 
80
  chatbot = gr.Chatbot()
81
- msg = gr.Textbox(placeholder="কি চলে আপনার মনে বলেন শুনি?")
82
- clear = gr.Button("Clear")
 
 
83
 
 
84
  state = gr.State([])
85
 
 
86
  msg.submit(custom_unmad_satirical_bot, [msg, state], [msg, chatbot])
 
87
  clear.click(lambda: ([], ""), None, [chatbot, msg])
88
 
89
  if __name__ == "__main__":
 
38
  openai_api_key=OPENAI_API_KEY
39
  )
40
 
41
+ # Satirical QA function
 
 
 
 
 
 
 
42
  def custom_unmad_satirical_bot(message, history, top_k=3):
 
43
  retriever = vectorstore.as_retriever()
44
  docs = retriever.invoke(message)
45
  top_contexts = "\n\n---\n\n".join([doc.page_content for doc in docs[:top_k]])
46
 
 
47
  messages = [
48
  SystemMessage(content="""
49
  তুমি 'উন্মাদ' ম্যাগাজিনের একজন পুরানো ব্যঙ্গাত্মক লেখক। তোমার কাজ হলো ব্যবহারকারীর প্রশ্ন শুনে স্যাটায়ার, কটাক্ষ, রসিকতা, ঠাট্টা, আর একটু জ্ঞান মিশিয়ে উত্তর দেওয়া — যাতে লোক হাসে, চিন্তা করে, আবার নতুন কিছু শিখে।
 
53
  HumanMessage(content=f"""
54
  🔍 প্রসঙ্গ:
55
  {top_contexts}
 
56
  প্রশ্ন: {message}
 
57
  উত্তর দাও উন্মাদ ম্যাগাজিনের স্টাইলে — বাংলায়, ব্যঙ্গ করে, কল্পনা আর অতিরঞ্জন দিয়ে।
58
  """)
59
  ]
60
 
 
61
  response = llm.invoke(messages).content
62
  history.append((message, response))
63
  return "", history
64
 
65
  # Gradio UI
66
+ with gr.Blocks(css=".gradio-container {padding-top: 50px;}") as demo:
67
+ gr.Markdown("# 🧠 USB: Unmad Satirical Bot (উন্মাদীয় বট)", elem_id="title")
68
+
69
+ # Insert Unmad image
70
+ with gr.Row():
71
+ gr.Image("images/unmad_pic.png", label="Unmad Mood", width=320, show_label=False)
72
+
73
  chatbot = gr.Chatbot()
74
+
75
+ with gr.Row():
76
+ msg = gr.Textbox(placeholder="কি চলে আপনার মনে বলেন শুনি?", scale=8, show_label=False)
77
+ send = gr.Button("Send", variant="primary", scale=1)
78
 
79
+ clear = gr.Button("Clear")
80
  state = gr.State([])
81
 
82
+ # Connect interaction
83
  msg.submit(custom_unmad_satirical_bot, [msg, state], [msg, chatbot])
84
+ send.click(custom_unmad_satirical_bot, [msg, state], [msg, chatbot])
85
  clear.click(lambda: ([], ""), None, [chatbot, msg])
86
 
87
  if __name__ == "__main__":