import streamlit as st from transformers import AutoModelForCausalLM, AutoTokenizer import torch # Titolo dell'app st.title("🤖 Chatbot DeepSeek Transformers + Streamlit") @st.cache_resource def load_model(): model_name = "deepseek-ai/DeepSeek-Coder-V2-Instruct" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float16, device_map="auto") return tokenizer, model tokenizer, model = load_model() if "chat_history" not in st.session_state: st.session_state.chat_history = [] user_input = st.text_input("Scrivi il tuo messaggio:") if user_input: st.session_state.chat_history.append(("🧑", user_input)) inputs = tokenizer(user_input, return_tensors="pt").to(model.device) outputs = model.generate(**inputs, max_new_tokens=256, do_sample=True, temperature=0.7) response = tokenizer.decode(outputs[0], skip_special_tokens=True) st.session_state.chat_history.append(("🤖", response)) for speaker, msg in st.session_state.chat_history: st.markdown(f"**{speaker}**: {msg}")