1 line
2.1 KiB
JSON
1 line
2.1 KiB
JSON
{"repo": "abhisheksahukar/ai-chatbot", "files": {"app.py": {"a1d7cb214ad72b1192ef94b8cc97a4f9760fa49e": {"t": 1785674367.178969, "n": 1791, "h": "9e348c7ab87992bb", "c": "import os\nimport requests\nimport streamlit as st\nfrom dotenv import load_dotenv\n\n# Load API key from .env\nload_dotenv()\nAPI_KEY = os.getenv(\"OPENROUTER_API_KEY\")\n\n# Function to get response from OpenRouter\ndef ask_mistral(messages):\n url = \"https://openrouter.ai/api/v1/chat/completions\"\n headers = {\n \"Authorization\": f\"Bearer {API_KEY}\",\n \"Content-Type\": \"application/json\",\n \"HTTP-Referer\": \"http://localhost\",\n \"X-Title\": \"MyChatbot\"\n }\n data = {\n \"model\": \"mistralai/mistral-7b-instruct\",\n \"messages\": messages\n }\n response = requests.post(url, headers=headers, json=data)\n if response.status_code == 200:\n return response.json()[\"choices\"][0][\"message\"][\"content\"]\n else:\n return \"⚠️ Error: \" + response.text\n\n# Streamlit page config\nst.set_page_config(page_title=\"AI Chatbot\", layout=\"centered\")\nst.title(\"🤖 My AI Chatbot\")\n\n# Initialize chat history\nif \"messages\" not in st.session_state:\n st.session_state.messages = [{\"role\": \"system\", \"content\": \"You are a helpful assistant.\"}]\n\n# Display previous chat messages\nfor msg in st.session_state.messages[1:]:\n with st.chat_message(msg[\"role\"]):\n st.markdown(msg[\"content\"])\n\n# Input box at the bottom (just like ChatGPT)\nuser_prompt = st.chat_input(\"Type your message...\")\n\nif user_prompt:\n # Display user's message\n st.chat_message(\"user\").markdown(user_prompt)\n st.session_state.messages.append({\"role\": \"user\", \"content\": user_prompt})\n\n # Get assistant response\n bot_reply = ask_mistral(st.session_state.messages)\n\n # Display bot's response\n with st.chat_message(\"assistant\"):\n st.markdown(bot_reply)\n\n # Save bot's message\n st.session_state.messages.append({\"role\": \"assistant\", \"content\": bot_reply})\n"}}}} |