szili2011's picture
Update app.py
b694fa5 verified
import numpy as np
import pickle
from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences
from sklearn.preprocessing import LabelEncoder
from keras.models import load_model
import gradio as gr
# Load model and encoders
model = load_model('doctor_ai_model.h5')
with open('tokenizer.pkl', 'rb') as f:
tokenizer = pickle.load(f)
with open('label_encoder.pkl', 'rb') as f:
label_encoder = pickle.load(f)
# Function to get response from model
def get_response(input_text):
# Preprocess input text
input_sequences = tokenizer.texts_to_sequences([input_text])
input_tensor = pad_sequences(input_sequences, maxlen=100) # Adjust maxlen as necessary
# Make prediction
predicted_label = model.predict(input_tensor)
decoded_label = label_encoder.inverse_transform([np.argmax(predicted_label)])
return decoded_label[0]
# Create Gradio interface
iface = gr.Interface(fn=get_response, inputs="text", outputs="text", title="Doctor AI",
description="Ask your health-related questions and get advice!")
# Launch the interface
iface.launch()