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()