Aventra / app.py
Tpayne101's picture
Create app.py
087adcb verified
import gradio as gr
from response_scoring import score_response
from roi_calculator import calculate_roi, Model
from semantic_memory import SemanticMemory
memory_system = SemanticMemory()
class Scenario:
def __init__(self, expected, context):
self.expected = expected
self.context = context
def evaluate(ai_response, scenario_text, expected_text,
usage, current_cost, recommended_cost):
scenario = Scenario(expected_text, scenario_text)
scores = score_response(ai_response, scenario)
current_model = Model("CurrentModel", current_cost)
recommended_model = Model("RecommendedModel", recommended_cost)
roi = calculate_roi(usage, current_model, recommended_model)
memory_system.store_memory(f"Scenario: {scenario_text}\nResponse: {ai_response}")
retrieved = memory_system.retrieve_relevant(scenario_text)
return scores, roi, retrieved
iface = gr.Interface(
fn=evaluate,
inputs=[
gr.Textbox(label="AI Response", lines=3),
gr.Textbox(label="Scenario Context", lines=2),
gr.Textbox(label="Expected Output", lines=2),
gr.Number(label="Customer Usage per Day"),
gr.Number(label="Current Model Cost per Call ($)"),
gr.Number(label="Recommended Model Cost per Call ($)")
],
outputs=[
gr.JSON(label="Response Scores"),
gr.JSON(label="ROI Calculation"),
gr.JSON(label="Relevant Memories")
],
title="AI Evaluator + ROI + Memory Demo"
)
iface.launch()