Spaces:
Runtime error
Runtime error
import gradio as gr | |
import tensorflow as tf | |
import numpy as np | |
import pickle | |
# Paths to model and tokenizer | |
model_path = "doctor_ai_model.h5" | |
tokenizer_path = "tokenizer.pkl" | |
label_encoder_path = "label_encoder.pkl" | |
# Load the trained model | |
try: | |
model = tf.keras.models.load_model(model_path) | |
except Exception as e: | |
print(f"Error loading model: {e}") | |
# Load the tokenizer and label encoder | |
with open(tokenizer_path, 'rb') as handle: | |
tokenizer = pickle.load(handle) | |
with open(label_encoder_path, 'rb') as handle: | |
label_encoder = pickle.load(handle) | |
# Define the prediction function | |
def predict_answer(question): | |
try: | |
# Tokenize the input question | |
seq = tokenizer.texts_to_sequences([question]) | |
padded_seq = tf.keras.preprocessing.sequence.pad_sequences(seq, maxlen=27) # Adjust maxlen to match your model | |
# Make prediction | |
prediction = model.predict(padded_seq) | |
# Convert prediction to label | |
predicted_label = label_encoder.inverse_transform(np.argmax(prediction, axis=1)) | |
return predicted_label[0] | |
except Exception as e: | |
return f"Error during prediction: {e}" | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=predict_answer, | |
inputs=gr.inputs.Textbox(lines=2, placeholder="Enter your question..."), | |
outputs="text", | |
title="Doctor AI Chatbot", | |
description="This AI chatbot provides answers based on your medical-related questions. Works completely offline." | |
) | |
# Launch the Gradio app | |
if __name__ == "__main__": | |
iface.launch() | |