| import streamlit as st |
| from agents.use_case_agent import get_use_case_agent |
| from agents.architecture_agent import get_architecture_agent |
| from langchain.agents import initialize_agent, AgentType |
| from langchain.llms import OpenAI |
|
|
| st.set_page_config(page_title="Wearable Diabetic Support AI Agents", layout="wide") |
| st.title("๐ง Wearable Diabetic Support System - Multi-Agent Simulator") |
|
|
| st.markdown("This app runs two LangChain-based AI agents:") |
| st.markdown("- ๐ง **Use Case Generator**") |
| st.markdown("- ๐๏ธ **Logical Architecture Generator**") |
|
|
| with st.sidebar: |
| st.header("Model Settings") |
| openai_api_key = st.text_input("Enter your OpenAI API Key", type="password") |
| temperature = st.slider("Model Temperature", 0.0, 1.0, 0.0) |
|
|
| |
| st.header("๐ System Configuration") |
| tasks = st.multiselect("Select Tasks", ["DietManagement", "ExerciseManagement", "MedicationManagement"], default=["DietManagement", "ExerciseManagement"]) |
| environments = st.multiselect("Select Environments", ["Home", "Outdoor"], default=["Home"]) |
| actors = st.multiselect("Select Actors", ["Patient", "Caregiver"], default=["Patient"]) |
|
|
| if st.button("โถ๏ธ Run Agents"): |
| if not openai_api_key: |
| st.error("Please enter your OpenAI API key in the sidebar.") |
| else: |
| llm = OpenAI(temperature=temperature, openai_api_key=openai_api_key) |
|
|
| |
| use_case_tool = get_use_case_agent(llm) |
| architecture_tool = get_architecture_agent(llm) |
|
|
| |
| st.subheader("๐ง Use Case Output") |
| use_case_input = f"Define use cases for tasks: {tasks}, environments: {environments}, actors: {actors}" |
| use_case_output = use_case_tool.run(use_case_input) |
| st.code(use_case_output, language="markdown") |
|
|
| |
| st.subheader("๐๏ธ Logical Architecture Output") |
| functions = [ |
| "LogMeal", "MonitorGlucose", "AnalyzeDiet", "ProvideDietFeedback", |
| "TrackActivity", "AnalyzeActivity", "ProvideExerciseFeedback", |
| "SendMedicationReminder", "LogMedicationIntake" |
| ] |
| arch_input = f"Define architecture with these functions: {functions}" |
| arch_output = architecture_tool.run(arch_input) |
| st.code(arch_output, language="markdown") |
|
|
|
|