Files
NexQuant/rdagent/log/ui/dsapp.py
T
XianBW 67ee1a90bd chore: split dsapp to pages & add llm_logs showing (#733)
* split dsapp to pages & add llm_logs showing

* some changes

* small bug

* add time info

* do not test UI in test_import

* cache stdout
2025-04-01 20:55:10 +08:00

34 lines
1.2 KiB
Python

from pathlib import Path
import streamlit as st
from streamlit import session_state as state
from rdagent.app.data_science.loop import DataScienceRDLoop
from rdagent.log.ui.conf import UI_SETTING
# 设置主日志路径
if "log_folder" not in state:
state.log_folder = Path("./log")
if "log_folders" not in state:
state.log_folders = UI_SETTING.default_log_folders
summary_page = st.Page("ds_summary.py", title="Summary", icon="📊")
trace_page = st.Page("ds_trace.py", title="Trace", icon="📈")
st.set_page_config(layout="wide", page_title="RD-Agent", page_icon="🎓", initial_sidebar_state="expanded")
st.navigation([summary_page, trace_page]).run()
# UI - Sidebar
with st.sidebar:
st.subheader("Pages", divider="rainbow")
st.page_link(summary_page, icon="📊")
st.page_link(trace_page, icon="📈")
st.subheader("Settings", divider="rainbow")
with st.form("log_folder_form", border=False):
log_folder_str = st.text_area(
"**Log Folders**(split by ';')", placeholder=state.log_folder, value=";".join(state.log_folders)
)
if st.form_submit_button("Confirm"):
state.log_folders = [folder.strip() for folder in log_folder_str.split(";") if folder.strip()]
st.rerun()