Spaces:
Running
Running
update streamlit and other libs; better caching; fix graphical appearance
Browse files- README.md +1 -1
- Rock_fact_checker.py +2 -1
- app_utils/backend_utils.py +4 -8
- app_utils/frontend_utils.py +3 -0
README.md
CHANGED
|
@@ -4,7 +4,7 @@ emoji: 🎸
|
|
| 4 |
colorFrom: purple
|
| 5 |
colorTo: blue
|
| 6 |
sdk: streamlit
|
| 7 |
-
sdk_version: 1.
|
| 8 |
app_file: Rock_fact_checker.py
|
| 9 |
pinned: true
|
| 10 |
models: [sentence-transformers/msmarco-distilbert-base-tas-b, microsoft/deberta-v2-xlarge-mnli, google/flan-t5-large]
|
|
|
|
| 4 |
colorFrom: purple
|
| 5 |
colorTo: blue
|
| 6 |
sdk: streamlit
|
| 7 |
+
sdk_version: 1.19.0
|
| 8 |
app_file: Rock_fact_checker.py
|
| 9 |
pinned: true
|
| 10 |
models: [sentence-transformers/msmarco-distilbert-base-tas-b, microsoft/deberta-v2-xlarge-mnli, google/flan-t5-large]
|
Rock_fact_checker.py
CHANGED
|
@@ -109,7 +109,8 @@ def main():
|
|
| 109 |
col1, col2 = st.columns([2, 1])
|
| 110 |
fig = create_ternary_plot(agg_entailment_info)
|
| 111 |
with col1:
|
| 112 |
-
|
|
|
|
| 113 |
with col2:
|
| 114 |
st.write(agg_entailment_info)
|
| 115 |
|
|
|
|
| 109 |
col1, col2 = st.columns([2, 1])
|
| 110 |
fig = create_ternary_plot(agg_entailment_info)
|
| 111 |
with col1:
|
| 112 |
+
# theme=None helps to preserve default plotly colors
|
| 113 |
+
st.plotly_chart(fig, use_container_width=True, theme=None)
|
| 114 |
with col2:
|
| 115 |
st.write(agg_entailment_info)
|
| 116 |
|
app_utils/backend_utils.py
CHANGED
|
@@ -18,7 +18,7 @@ from app_utils.config import (
|
|
| 18 |
)
|
| 19 |
|
| 20 |
|
| 21 |
-
@st.
|
| 22 |
def load_statements():
|
| 23 |
"""Load statements from file"""
|
| 24 |
with open(STATEMENTS_PATH) as fin:
|
|
@@ -29,9 +29,7 @@ def load_statements():
|
|
| 29 |
|
| 30 |
|
| 31 |
# cached to make index and models load only at start
|
| 32 |
-
@st.
|
| 33 |
-
hash_funcs={"builtins.SwigPyObject": lambda _: None}, allow_output_mutation=True
|
| 34 |
-
)
|
| 35 |
def start_haystack():
|
| 36 |
"""
|
| 37 |
load document store, retriever, entailment checker and create pipeline
|
|
@@ -66,16 +64,14 @@ pipe, prompt_node = start_haystack()
|
|
| 66 |
|
| 67 |
# the pipeline is not included as parameter of the following function,
|
| 68 |
# because it is difficult to cache
|
| 69 |
-
@st.
|
| 70 |
def check_statement(statement: str, retriever_top_k: int = 5):
|
| 71 |
"""Run query and verify statement"""
|
| 72 |
params = {"retriever": {"top_k": retriever_top_k}}
|
| 73 |
return pipe.run(statement, params=params)
|
| 74 |
|
| 75 |
|
| 76 |
-
@st.
|
| 77 |
-
hash_funcs={"tokenizers.Tokenizer": lambda _: None}, allow_output_mutation=True
|
| 78 |
-
)
|
| 79 |
def explain_using_llm(
|
| 80 |
statement: str, documents: List[Document], entailment_or_contradiction: str
|
| 81 |
) -> str:
|
|
|
|
| 18 |
)
|
| 19 |
|
| 20 |
|
| 21 |
+
@st.cache_data
|
| 22 |
def load_statements():
|
| 23 |
"""Load statements from file"""
|
| 24 |
with open(STATEMENTS_PATH) as fin:
|
|
|
|
| 29 |
|
| 30 |
|
| 31 |
# cached to make index and models load only at start
|
| 32 |
+
@st.cache_resource
|
|
|
|
|
|
|
| 33 |
def start_haystack():
|
| 34 |
"""
|
| 35 |
load document store, retriever, entailment checker and create pipeline
|
|
|
|
| 64 |
|
| 65 |
# the pipeline is not included as parameter of the following function,
|
| 66 |
# because it is difficult to cache
|
| 67 |
+
@st.cache_resource
|
| 68 |
def check_statement(statement: str, retriever_top_k: int = 5):
|
| 69 |
"""Run query and verify statement"""
|
| 70 |
params = {"retriever": {"top_k": retriever_top_k}}
|
| 71 |
return pipe.run(statement, params=params)
|
| 72 |
|
| 73 |
|
| 74 |
+
@st.cache_resource
|
|
|
|
|
|
|
| 75 |
def explain_using_llm(
|
| 76 |
statement: str, documents: List[Document], entailment_or_contradiction: str
|
| 77 |
) -> str:
|
app_utils/frontend_utils.py
CHANGED
|
@@ -1,7 +1,10 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
import pandas as pd
|
| 3 |
import plotly.graph_objects as go
|
|
|
|
| 4 |
|
|
|
|
|
|
|
| 5 |
|
| 6 |
entailment_html_messages = {
|
| 7 |
"entailment": 'The knowledge base seems to <span style="color:green">confirm</span> your statement',
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
import pandas as pd
|
| 3 |
import plotly.graph_objects as go
|
| 4 |
+
import plotly.io as pio
|
| 5 |
|
| 6 |
+
# this helps to preserve default plotly colors
|
| 7 |
+
pio.templates.default = "plotly"
|
| 8 |
|
| 9 |
entailment_html_messages = {
|
| 10 |
"entailment": 'The knowledge base seems to <span style="color:green">confirm</span> your statement',
|