Team Ai
Apppublic

developerscriptorax/ByteBot

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
0likes
app.py54 linesDownload Raw Back to root
1import streamlit as st2import google.generativeai as genai3 4# সাইডবার সেটআপ ও এপিআই কি ইনপুট5with st.sidebar:6    gemini_api_key = st.text_input("Google Gemini API Key", key="chatbot_api_key", type="password")7    "[Get a Google Gemini API key](https://aistudio.google.com/)"8    "[View the source code](https://github.com/streamlit/llm-examples/blob/main/Chatbot.py)"9 10st.title("💬 ByteBot Chatbot")11st.caption("🚀 A Streamlit chatbot powered by Google Gemini")12 13# চ্যাট মেমরি বা সেশন স্টেট ইনিশিয়েট করা14if "messages" not in st.session_state:15    st.session_state["messages"] = [{"role": "assistant", "content": "How can I help you?"}]16 17# আগের মেসেজগুলো স্ক্রিনে দেখানো18for msg in st.session_state.messages:19    st.chat_message(msg["role"]).write(msg["content"])20 21# ইউজারের ইনপুট চেক করা22if prompt := st.chat_input():23    if not gemini_api_key:24        st.info("Please add your Gemini API key to continue.")25        st.stop()26 27    # Gemini API কনফিগার করা28    genai.configure(api_key=gemini_api_key)29    model = genai.GenerativeModel("gemini-1.5-flash")30 31    # ইউজারের মেসেজ স্ক্রিনে দেখানো ও মেমরিতে সেভ করা32    st.session_state.messages.append({"role": "user", "content": prompt})33    st.chat_message("user").write(prompt)34 35    # Gemini-এর রিকোয়ারমেন্ট অনুযায়ী চ্যাট হিস্ট্রি ফরম্যাট করা36    # (Gemini-তে 'assistant' এর জায়গায় 'model' লিখতে হয়)37    formatted_history = [38        {"role": "user" if m["role"] == "user" else "model", "parts": [m["content"]]}39        for m in st.session_state.messages[:-1]40    ]41 42    try:43        # চ্যাট সেশন শুরু এবং রেসপন্স আনা44        chat = model.start_chat(history=formatted_history)45        response = chat.send_message(prompt)46        msg = response.text47        48        # এজেন্টের উত্তর স্ক্রিনে দেখানো ও মেমরিতে সেভ করা49        st.session_state.messages.append({"role": "assistant", "content": msg})50        st.chat_message("assistant").write(msg)51        52    except Exception as e:53        st.error(f"An error occurred: {str(e)}")54