2024-08-08 17:10:37 +08:00
|
|
|
"""
|
|
|
|
|
CLI entrance for all rdagent application.
|
|
|
|
|
|
|
|
|
|
This will
|
|
|
|
|
- make rdagent a nice entry and
|
|
|
|
|
- autoamtically load dotenv
|
|
|
|
|
"""
|
2024-08-09 17:23:45 +08:00
|
|
|
import subprocess
|
|
|
|
|
from importlib.resources import path as rpath
|
|
|
|
|
|
2024-08-08 17:10:37 +08:00
|
|
|
import fire
|
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
|
|
|
|
from rdagent.app.data_mining.model import main as med_model
|
|
|
|
|
from rdagent.app.general_model.general_model import (
|
|
|
|
|
extract_models_and_implement as general_model,
|
|
|
|
|
)
|
|
|
|
|
from rdagent.app.qlib_rd_loop.factor import main as fin_factor
|
|
|
|
|
from rdagent.app.qlib_rd_loop.factor_from_report import main as fin_factor_report
|
|
|
|
|
from rdagent.app.qlib_rd_loop.model import main as fin_model
|
|
|
|
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
|
|
|
|
|
2024-08-09 17:23:45 +08:00
|
|
|
def ui(port=80, log_dir="./log"):
|
|
|
|
|
"""
|
|
|
|
|
start web app to show the log traces.
|
|
|
|
|
"""
|
|
|
|
|
with rpath("rdagent.log.ui", "app.py") as app_path:
|
|
|
|
|
subprocess.run(["streamlit", "run", app_path, f"--server.port={port}", "--", f"--log_dir={log_dir}"])
|
|
|
|
|
|
|
|
|
|
|
2024-08-08 17:10:37 +08:00
|
|
|
def app():
|
|
|
|
|
fire.Fire(
|
|
|
|
|
{
|
|
|
|
|
"fin_factor": fin_factor,
|
|
|
|
|
"fin_factor_report": fin_factor_report,
|
|
|
|
|
"fin_model": fin_model,
|
|
|
|
|
"med_model": med_model,
|
|
|
|
|
"general_model": general_model,
|
2024-08-09 17:23:45 +08:00
|
|
|
"ui": ui,
|
2024-08-08 17:10:37 +08:00
|
|
|
}
|
|
|
|
|
)
|