Spaces:
Running
Running
update streamlit-pdf-viewer, fix chat wobbling
Browse files- requirements.txt +2 -2
- streamlit_app.py +35 -21
requirements.txt
CHANGED
@@ -7,7 +7,7 @@ grobid_tei_xml==0.1.3
|
|
7 |
tqdm==4.66.2
|
8 |
pyyaml==6.0.1
|
9 |
pytest==8.1.1
|
10 |
-
streamlit==1.
|
11 |
lxml
|
12 |
Beautifulsoup4
|
13 |
python-dotenv
|
@@ -24,6 +24,6 @@ typing-inspect==0.9.0
|
|
24 |
typing_extensions==4.11.0
|
25 |
pydantic==2.6.4
|
26 |
sentence_transformers==2.6.1
|
27 |
-
streamlit-pdf-viewer==0.0.
|
28 |
umap-learn
|
29 |
plotly
|
|
|
7 |
tqdm==4.66.2
|
8 |
pyyaml==6.0.1
|
9 |
pytest==8.1.1
|
10 |
+
streamlit==1.37.0
|
11 |
lxml
|
12 |
Beautifulsoup4
|
13 |
python-dotenv
|
|
|
24 |
typing_extensions==4.11.0
|
25 |
pydantic==2.6.4
|
26 |
sentence_transformers==2.6.1
|
27 |
+
streamlit-pdf-viewer==0.0.17
|
28 |
umap-learn
|
29 |
plotly
|
streamlit_app.py
CHANGED
@@ -31,8 +31,8 @@ OPENAI_EMBEDDINGS = [
|
|
31 |
]
|
32 |
|
33 |
OPEN_MODELS = {
|
34 |
-
'
|
35 |
-
|
36 |
'Phi-3-mini-4k-instruct': "microsoft/Phi-3-mini-4k-instruct"
|
37 |
}
|
38 |
|
@@ -109,6 +109,20 @@ st.set_page_config(
|
|
109 |
}
|
110 |
)
|
111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
|
113 |
def new_file():
|
114 |
st.session_state['loaded_embeddings'] = None
|
@@ -154,8 +168,8 @@ def init_qa(model, embeddings_name=None, api_key=None):
|
|
154 |
chat = HuggingFaceEndpoint(
|
155 |
repo_id=OPEN_MODELS[model],
|
156 |
temperature=0.01,
|
157 |
-
max_new_tokens=
|
158 |
-
model_kwargs={"max_length":
|
159 |
)
|
160 |
embeddings = HuggingFaceEmbeddings(
|
161 |
model_name=OPEN_EMBEDDINGS[embeddings_name])
|
@@ -401,21 +415,21 @@ def generate_color_gradient(num_elements):
|
|
401 |
|
402 |
with right_column:
|
403 |
if st.session_state.loaded_embeddings and question and len(question) > 0 and st.session_state.doc_id:
|
|
|
|
|
|
|
404 |
for message in st.session_state.messages:
|
405 |
-
with messages.chat_message(message["role"]):
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
if model not in st.session_state['rqa']:
|
413 |
st.error("The API Key for the " + model + " is missing. Please add it before sending any query. `")
|
414 |
st.stop()
|
415 |
|
416 |
-
messages.chat_message("user").markdown(question)
|
417 |
-
st.session_state.messages.append({"role": "user", "mode": mode, "content": question})
|
418 |
-
|
419 |
text_response = None
|
420 |
if mode == "embeddings":
|
421 |
with placeholder:
|
@@ -472,10 +486,10 @@ with right_column:
|
|
472 |
|
473 |
with left_column:
|
474 |
if st.session_state['binary']:
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
|
|
31 |
]
|
32 |
|
33 |
OPEN_MODELS = {
|
34 |
+
'Mistral-Nemo-Instruct-2407': 'mistralai/Mistral-Nemo-Instruct-2407',
|
35 |
+
'mistral-7b-instruct-v0.3': 'mistralai/Mistral-7B-Instruct-v0.3',
|
36 |
'Phi-3-mini-4k-instruct': "microsoft/Phi-3-mini-4k-instruct"
|
37 |
}
|
38 |
|
|
|
109 |
}
|
110 |
)
|
111 |
|
112 |
+
st.markdown(
|
113 |
+
"""
|
114 |
+
<style>
|
115 |
+
.block-container {
|
116 |
+
padding-top: 3rem;
|
117 |
+
padding-bottom: 1rem;
|
118 |
+
padding-left: 1rem;
|
119 |
+
padding-right: 1rem;
|
120 |
+
}
|
121 |
+
</style>
|
122 |
+
""",
|
123 |
+
unsafe_allow_html=True
|
124 |
+
)
|
125 |
+
|
126 |
|
127 |
def new_file():
|
128 |
st.session_state['loaded_embeddings'] = None
|
|
|
168 |
chat = HuggingFaceEndpoint(
|
169 |
repo_id=OPEN_MODELS[model],
|
170 |
temperature=0.01,
|
171 |
+
max_new_tokens=4092,
|
172 |
+
model_kwargs={"max_length": 8192}
|
173 |
)
|
174 |
embeddings = HuggingFaceEmbeddings(
|
175 |
model_name=OPEN_EMBEDDINGS[embeddings_name])
|
|
|
415 |
|
416 |
with right_column:
|
417 |
if st.session_state.loaded_embeddings and question and len(question) > 0 and st.session_state.doc_id:
|
418 |
+
# messages.chat_message("user").markdown(question)
|
419 |
+
st.session_state.messages.append({"role": "user", "mode": mode, "content": question})
|
420 |
+
|
421 |
for message in st.session_state.messages:
|
422 |
+
# with messages.chat_message(message["role"]):
|
423 |
+
if message['mode'] == "llm":
|
424 |
+
messages.chat_message(message["role"]).markdown(message["content"], unsafe_allow_html=True)
|
425 |
+
elif message['mode'] == "embeddings":
|
426 |
+
messages.chat_message(message["role"]).write(message["content"])
|
427 |
+
elif message['mode'] == "question_coefficient":
|
428 |
+
messages.chat_message(message["role"]).markdown(message["content"], unsafe_allow_html=True)
|
429 |
if model not in st.session_state['rqa']:
|
430 |
st.error("The API Key for the " + model + " is missing. Please add it before sending any query. `")
|
431 |
st.stop()
|
432 |
|
|
|
|
|
|
|
433 |
text_response = None
|
434 |
if mode == "embeddings":
|
435 |
with placeholder:
|
|
|
486 |
|
487 |
with left_column:
|
488 |
if st.session_state['binary']:
|
489 |
+
with st.container(height=600):
|
490 |
+
pdf_viewer(
|
491 |
+
input=st.session_state['binary'],
|
492 |
+
annotation_outline_size=2,
|
493 |
+
annotations=st.session_state['annotations'],
|
494 |
+
render_text=True
|
495 |
+
)
|