llama-stack/llama_stack/distribution/ui/app.py
Angel Nunez Mencias b174effe05
All checks were successful
Build and Push playground container / build-playground (push) Successful in 1m57s
Build and Push container / build (push) Successful in 4m33s
fix security update
2025-06-03 20:07:06 +02:00

91 lines
2.9 KiB
Python

# 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,
custom_labels={
"labelButton": "Sign in to kvant",
"labelLogin": "Please sign in to your kvant account.",
"errorNoPopup": "Unable to open the authentication popup. Allow popups and refresh the page to proceed.",
"errorPopupClosed": "Authentication popup was closed manually.",
"errorFatal": "Unable to connect to Keycloak using the current configuration."
},
auto_refresh=True,
)
if keycloak.authenticated:
st.session_state['access_token'] = keycloak.access_token
main()
# TBD - add other authentications
else:
main()