llm-leaderboard / streamlit_app.py
Ludwig Stumpp
Move from markdown table to csv table as easier to maintain for larger tables
24a15c0
raw
history blame
1.35 kB
import io
import pandas as pd
import requests
import streamlit as st
REPO_URL = "https://github.com/LudwigStumpp/llm-leaderboard"
def grab_file_from_repo(repo_url: str, filename: str) -> str:
"""Grabs a file from a GitHub repository.
Args:
repo_url (str): URL of the GitHub repository.
filename (str): Name of the file to grab.
Returns:
str: Content of the file.
"""
url = repo_url.replace("github.com", "raw.githubusercontent.com") + f"/main/{filename}"
return requests.get(url).text
def setup_basic():
title = "LLM-Leaderboard"
st.set_page_config(
page_title=title,
page_icon="πŸ†",
)
st.title(title)
st.markdown(
"""
A joint community effort to create one central leaderboard for LLMs.
Visit [llm-leaderboard](https://github.com/LudwigStumpp/llm-leaderboard) to contribute.
"""
)
def setup_table():
csv_table = grab_file_from_repo(REPO_URL, "leaderboard.csv")
df = pd.read_csv(io.StringIO(csv_table), index_col=0)
st.dataframe(df)
def setup_footer():
st.markdown(
"""
---
Made with ❀️ by the awesome open-source community from all over 🌍.
"""
)
def main():
setup_basic()
setup_table()
setup_footer()
if __name__ == "__main__":
main()