import gradio as gr | |
import autokeras as ak | |
import numpy as np | |
from tensorflow.keras.models import load_model | |
loaded_model = load_model("text_model", custom_objects=ak.CUSTOM_OBJECTS) | |
def tweet_tester(tweet1, tweet2): | |
pred1 = loaded_model.predict(np.array([[tweet1]]))[0][0] | |
pred2 = loaded_model.predict(np.array([[tweet2]]))[0][0] | |
print(pred1, pred2) | |
diff_pct = (pred1 - pred2) / pred1 * 100 | |
# truncate diff_pct to 2 decimal places | |
diff_pct = round(diff_pct, 3) | |
if diff_pct > 0: | |
return f"tweet2 is {diff_pct}% better than tweet1" | |
else: | |
return f"tweet2 is {abs(diff_pct)}% worse than tweet1" | |
interface = gr.Interface( | |
title="Tweet A/B Test", | |
description="Enter the text of two tweets you'd like to A/B test. The output number represents the percent difference in expected likes between the two tweets.", | |
fn=tweet_tester, | |
inputs=["text", "text"], | |
outputs=["text"] | |
) | |
interface.launch() | |