obs / app.py
yunuseduran's picture
Update app.py
1105632 verified
import streamlit as st
from tensorflow.keras.models import load_model
import numpy as np
from transformers import logging
# Hugging Face Transformers kütüphanesinden gelen hataları kapat
logging.set_verbosity_error()
# Streamlit başlık
st.title('Chat with Me')
# Model yükleme (burada dil modeli veya sohbet modeli olmalı)
model = load_model('text_classification_model.h5')
# Chat history
if 'chat_history' not in st.session_state:
st.session_state.chat_history = []
# Kullanıcıdan giriş alma
soru = st.text_input('Sor:')
# Yanıt üretme fonksiyonu (modelinize göre bu kısım değişebilir)
def generate_response(input_text):
# Örneğin, modelinize uygun şekilde giriş ve çıkışları dönüştürün
# Bu basit bir örnek, modelinizin gereksinimlerine göre düzenlemelisiniz
input_vector = np.array([input_text]) # Modelin beklediği giriş formatı
prediction = model.predict(input_vector)
response = "Bu bir örnek yanıttır." # Modelden gelen yanıtı buraya yazın
return response
# "Sor" butonuna tıklama olayını işleme
if st.button('Sor'):
if soru:
response = generate_response(soru)
st.session_state.chat_history.append({'role': 'user', 'text': soru})
st.session_state.chat_history.append({'role': 'model', 'text': response})
st.experimental_rerun()
# Sohbet geçmişini gösterme
for message in reversed(st.session_state.chat_history):
if message['role'] == 'user':
st.markdown(f'<div style="text-align: right; background-color: #2F2F2F; padding: 10px; border-radius: 10px; margin: 10px; width: fit-content;">👤 Sen: {message["text"]}</div>', unsafe_allow_html=True)
elif message['role'] == 'model':
st.markdown(f'<div style="text-align: left; background-color: #2E2E2E; padding: 10px; border-radius: 10px; margin: 10px; width: fit-content;">🤖 Bot: {message["text"]}</div>', unsafe_allow_html=True)
# "Yeni Sohbet" butonuna tıklama olayını işleme
if st.button('Yeni Sohbet'):
st.session_state.chat_history = []
st.experimental_rerun()