|
|
import streamlit as st |
|
|
from dotenv import load_dotenv |
|
|
import os |
|
|
from langchain_openai import ChatOpenAI |
|
|
|
|
|
|
|
|
load_dotenv("apiroute.env") |
|
|
api_key = os.getenv("OPENAI_API_KEY") |
|
|
api_base = os.getenv("OPENAI_API_BASE") |
|
|
|
|
|
|
|
|
if not api_key or not api_base: |
|
|
st.error("β Missing API credentials in apiroute.env.") |
|
|
st.stop() |
|
|
|
|
|
|
|
|
os.environ["OPENAI_API_KEY"] = api_key |
|
|
os.environ["OPENAI_API_BASE"] = api_base |
|
|
|
|
|
|
|
|
llm = ChatOpenAI(model_name="google/gemma-3n-e2b-it:free", temperature=0.7) |
|
|
|
|
|
|
|
|
st.set_page_config(page_title="Chatbot", layout="centered") |
|
|
st.title("π¬ Chat with LLM") |
|
|
|
|
|
|
|
|
if "history" not in st.session_state: |
|
|
st.session_state.history = [] |
|
|
|
|
|
|
|
|
for sender, msg in st.session_state.history: |
|
|
st.markdown(f"**{sender}:** {msg}") |
|
|
|
|
|
user_input = st.text_input("Type your message and press Enter", key="input") |
|
|
|
|
|
|
|
|
if user_input: |
|
|
st.session_state.history.append(("You", user_input)) |
|
|
response = llm.invoke(user_input) |
|
|
st.session_state.history.append(("Bot", response.content)) |
|
|
st.experimental_rerun() |
|
|
|