developerscriptorax/ByteBot
0
1import streamlit as st2import google.generativeai as genai3import os4import time5 6# ১. পেজ কনফিগারেশন এবং প্রিমিয়াম টাইটেল সেটআপ7st.set_page_config(page_title="ByteBot VIP AGENT", page_icon="⚡", layout="centered")8 9# CSS দিয়ে প্রিমিয়াম লুক, গ্লোয়িং অ্যানিমেশন এবং সুন্দর বর্ডার সেটআপ10st.markdown("""11 <style>12 @keyframes pulse {13 0% { box-shadow: 0 0 0 0 rgba(255, 75, 75, 0.7); }14 70% { box-shadow: 0 0 0 10px rgba(255, 75, 75, 0); }15 100% { box-shadow: 0 0 0 0 rgba(255, 75, 75, 0); }16 }17 .premium-header {18 background: linear-gradient(45deg, #1e1e2f, #2d2d44);19 padding: 20px;20 border-radius: 15px;21 border-left: 5px solid #FF4B4B;22 margin-bottom: 25px;23 animation: pulse 2s infinite;24 }25 </style>26""", unsafe_allow_html=True)27 28# ২. প্রিমিয়াম সাইডবার কন্ট্রোল প্যানেল (মোবাইলে ওপরের বামে '>' চিহ্নে ক্লিক করলে দেখা যাবে)29with st.sidebar:30 st.markdown("<h2 style='text-align: center; color: #FF4B4B;'>⚡ ByteBot CORE V2</h2>", unsafe_allow_html=True)31 st.write("---")32 gemini_api_key = st.text_input("Enter Gemini API Key", type="password", help="গুগল এআই স্টুডিওর এপিআই কি দিন")33 st.write("---")34 st.success("🤖 Agent Status: Active")35 st.info("💡 টিপস: এই এজেন্টটি এখন যেকোনো রিয়েল-টাইম কোডিং ও প্রজেক্ট সলিউশন দিতে পারে।")36 37# ৩. মেইন স্ক্রিন ডিজাইন38st.markdown("""39 <div class='premium-header'>40 <h1 style='color: white; margin:0;'>🤖 ByteBot Premium AI Agent</h1>41 <p style='color: #b0b0bc; margin:5px 0 0 0;'>⚡ Experience the Ultimate Next-Gen Intelligence</p>42 </div>43""", unsafe_allow_html=True)44 45# চ্যাট মেমরি সেশন চালু করা46if "messages" not in st.session_state:47 st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you today, chief?"}]48 49# আগের মেসেজগুলো স্ক্রিনে সুন্দর আইকনসহ শো করা50for msg in st.session_state.messages:51 avatar = "👤" if msg["role"] == "user" else "🤖"52 st.chat_message(msg["role"], avatar=avatar).write(msg["content"])53 54# ৪. ইউজার ইনপুট ও এরর ফ্রি জেমিনি কানেকশন55if prompt := st.chat_input("এজেন্টকে কিছু বলুন..."):56 if not gemini_api_key:57 st.info("Please add your Gemini API key in the sidebar to continue.")58 st.stop()59 60 # ইউজারের মেসেজ স্ক্রিনে দেখানো61 st.session_state.messages.append({"role": "user", "content": prompt})62 st.chat_message("user", avatar="👤").write(prompt)63 64 # জেমিনি কনফিগারেশন (৪MD এবং v1beta এরর ফিক্স করার জন্য সঠিক মডেল নেম)65 genai.configure(api_key=gemini_api_key)66 67 # এরর ফিক্স করতে আমরা এখানে অফিশিয়াল "models/gemini-pro" ব্যবহার করছি যা ১০০% ওয়ার্কিং68 model = genai.GenerativeModel("models/gemini-pro")69 70 # মেসেজ হিস্ট্রি ফরম্যাট করা71 formatted_history = [72 {"role": "user" if m["role"] == "user" else "model", "parts": [m["content"]]}73 for m in st.session_state.messages[:-1]74 ]75 76 with st.chat_message("assistant", avatar="🤖"):77 # প্রিমিয়াম টাইপিং স্পিনার অ্যানিমেশন78 with st.spinner("Agent is analyzing and generating response..."):79 try:80 chat = model.start_chat(history=formatted_history)81 response = chat.send_message(prompt)82 msg_text = response.text83 84 # টাইপিং ইফেক্ট অ্যানিমেশন (ধীরে ধীরে টেক্সট আসা)85 placeholder = st.empty()86 full_response = ""87 for chunk in msg_text.split(" "):88 full_response += chunk + " "89 time.sleep(0.05)90 placeholder.markdown(full_response + "▌")91 placeholder.markdown(full_response)92 93 # মেমরিতে সেভ94 st.session_state.messages.append({"role": "assistant", "content": msg_text})95 96 except Exception as e:97 st.error(f"API Error: {str(e)}")98 