medical-chatbot / app.py
nagasaich123's picture
Upload 4 files
1980c8c verified
raw
history blame
1.08 kB
import streamlit as st
from llama_cpp import Llama
st.set_page_config(page_title="🩺 Medical Chatbot", layout="centered")
st.title("🩺 Medical Chatbot (Doctor Mistral)")
@st.cache_resource
def load_model():
return Llama(
model_path="./models/BioMistral-7B.Q4_K_M.gguf", # <- Update to your actual path
n_ctx=2048,
n_threads=8,
n_gpu_layers=0 # Use GPU if available
)
llm = load_model()
if "chat_history" not in st.session_state:
st.session_state.chat_history = []
prompt = st.text_input("Ask me a medical question:")
if st.button("Send") and prompt:
st.session_state.chat_history.append(("You", prompt))
full_prompt = f"You are a helpful medical assistant.\n\nUser: {prompt}\nDoctor:"
output = llm(full_prompt, max_tokens=512, stop=["User:", "Doctor:"])
reply = output["choices"][0]["text"].strip()
st.session_state.chat_history.append(("Doctor", reply))
# Show chat history
for role, message in st.session_state.chat_history:
st.markdown(f"**{role}:** {message}")