File size: 2,193 Bytes
cbfd993 cae214c 90d9239 cbfd993 cae214c 90d9239 cbfd993 90d9239 cae214c 90d9239 cae214c 95bc6ed cbfd993 90d9239 cbfd993 cae214c e5c2552 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
import argparse
import streamlit as st
from streamlit_option_menu import option_menu
from openfactcheck.core.base import OpenFactCheck, OpenFactCheckConfig
from openfactcheck.app.evaluate_response import evaluate_response
def parse_args():
parser = argparse.ArgumentParser(description='Initialize OpenFactCheck with custom configuration.')
# Add arguments here, example:
parser.add_argument("--config-path",
type=str,
help="Config File Path",
default="config.json")
# Parse arguments from command line
args = parser.parse_args()
return args
class App:
def __init__(self):
pass
def run(self, config_path: str = "config.json"):
# Initialize OpenFactCheck
config = OpenFactCheckConfig(config_path)
ofc = OpenFactCheck(config)
# Set up Dashboard
st.set_page_config(page_title="OpenFactCheck Dashboard",
page_icon=":bar_chart:",
layout="wide")
# Title
st.markdown("<h1 style='text-align: center;'>OpenFactCheck Dashboard</h1>", unsafe_allow_html=True)
st.markdown("<h5 style='text-align: center;'>An Open-source Factuality Evaluation Demo for LLMs</h3>", unsafe_allow_html=True)
# Selection Menu
selected = option_menu(None, ["Evaluate LLM Response", "Evaluate LLM", "Evaluate FactChecker", "Leaderboards", "About"],
icons=['card-checklist', 'check-square', "check2-all", "trophy", "info-circle"],
menu_icon="cast",
default_index=0,
orientation="horizontal"
)
# Load the selected page
if selected == "Evaluate LLM Response":
evaluate_response(ofc)
# elif selected == "Evaluate LLM":
# evaluate_llm()
# elif selected == "Evaluate FactChecker":
# evaluate_factchecker()
# elif selected == "Leaderboards":
# leaderboards()
# else:
# about()
if __name__ == "__main__":
args = parse_args()
app = App()
app.run("configs/production.json") |