| import streamlit as st |
| from transformers import pipeline |
|
|
| |
| |
| |
| st.set_page_config( |
| page_title="AI Chatbot", |
| layout="centered" |
| ) |
|
|
| st.title("🤖 AI Chatbot") |
|
|
| st.write("Chat with MiniCPM 1B model") |
|
|
| |
| |
| |
| @st.cache_resource |
| def load_model(): |
|
|
| generator = pipeline( |
| "text-generation", |
| model="openbmb/MiniCPM5-1B" |
| ) |
|
|
| return generator |
|
|
| |
| generator = load_model() |
|
|
| |
| |
| |
| user_input = st.text_area( |
| "Enter your prompt:" |
| ) |
|
|
| |
| |
| |
| if st.button("Generate Response"): |
|
|
| if user_input.strip() != "": |
|
|
| with st.spinner("Generating response..."): |
|
|
| try: |
|
|
| result = generator( |
| user_input, |
| max_new_tokens=100, |
| do_sample=True, |
| temperature=0.7 |
| ) |
|
|
| answer = result[0]["generated_text"] |
|
|
| st.success(answer) |
|
|
| except Exception as e: |
|
|
| st.error(f"Error: {str(e)}") |
|
|
| else: |
| st.warning("Please enter a prompt.") |