# Copyright (c) Meta Platforms, Inc. and affiliates. # All rights reserved. # # This source code is licensed under the terms described in the LICENSE file in # the root directory of this source tree. import streamlit as st def main(): # Evaluation pages application_evaluation_page = st.Page( "page/evaluations/app_eval.py", title="Evaluations (Scoring)", icon="📊", default=False, ) native_evaluation_page = st.Page( "page/evaluations/native_eval.py", title="Evaluations (Generation + Scoring)", icon="📊", default=False, ) # Playground pages chat_page = st.Page("page/playground/chat.py", title="Chat", icon="💬", default=True) rag_page = st.Page("page/playground/rag.py", title="RAG", icon="💬", default=False) tool_page = st.Page("page/playground/tools.py", title="Tools", icon="🛠", default=False) # Distribution pages resources_page = st.Page("page/distribution/resources.py", title="Resources", icon="🔍", default=False) provider_page = st.Page( "page/distribution/providers.py", title="API Providers", icon="🔍", default=False, ) pg = st.navigation( { "Playground": [ chat_page, rag_page, tool_page, application_evaluation_page, native_evaluation_page, ], "Inspect": [provider_page, resources_page], }, expanded=False, ) pg.run() def main2(): from dataclasses import asdict st.subheader(f"Welcome {keycloak.user_info['preferred_username']}!") st.write(f"Here is your user information:") st.write(asdict(keycloak)) def get_access_token() -> str|None: return st.session_state.get('access_token') if __name__ == "__main__": from streamlit_keycloak import login import os keycloak_url = os.environ.get("KEYCLOAK_URL") keycloak_realm = os.environ.get("KEYCLOAK_REALM", "default") keycloak_client_id = os.environ.get("KEYCLOAK_CLIENT_ID") if keycloak_url and keycloak_client_id: keycloak = login( url=keycloak_url, realm=keycloak_realm, client_id=keycloak_client_id, auto_refresh=True, init_options={"checkLoginIframe": False}, ) if keycloak.authenticated: st.session_state['access_token'] = keycloak.access_token main() # TBD - add other authentications else: main()