Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,7 +2,6 @@ import streamlit as st
|
|
| 2 |
import streamlit.components.v1 as components
|
| 3 |
import huggingface_hub
|
| 4 |
import gradio_client as gc
|
| 5 |
-
|
| 6 |
import os
|
| 7 |
import json
|
| 8 |
import random
|
|
@@ -17,7 +16,6 @@ import textract
|
|
| 17 |
import time
|
| 18 |
import zipfile
|
| 19 |
import dotenv
|
| 20 |
-
|
| 21 |
from gradio_client import Client
|
| 22 |
from audio_recorder_streamlit import audio_recorder
|
| 23 |
from bs4 import BeautifulSoup
|
|
@@ -33,26 +31,11 @@ from xml.etree import ElementTree as ET
|
|
| 33 |
from PIL import Image
|
| 34 |
from urllib.parse import quote # Ensure this import is included
|
| 35 |
|
| 36 |
-
|
| 37 |
-
## Show examples
|
| 38 |
-
sample_outputs = {
|
| 39 |
-
'output_placeholder': 'The LLM will provide an answer to your question here...',
|
| 40 |
-
'search_placeholder': '1. What is MoE, Multi Agent Systems, Self Rewarding AI, Semantic and Episodic memory, What is AutoGen, ChatDev, Omniverse, Lumiere, SORA?'
|
| 41 |
-
}
|
| 42 |
-
|
| 43 |
-
def save_file(content, file_type):
|
| 44 |
-
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
|
| 45 |
-
file_name = f"{file_type}_{timestamp}.md"
|
| 46 |
-
with open(file_name, "w") as file:
|
| 47 |
-
file.write(content)
|
| 48 |
-
return file_name
|
| 49 |
-
|
| 50 |
def load_file(file_name):
|
| 51 |
with open(file_name, "r") as file:
|
| 52 |
content = file.read()
|
| 53 |
return content
|
| 54 |
|
| 55 |
-
|
| 56 |
# HTML5 based Speech Synthesis (Text to Speech in Browser)
|
| 57 |
@st.cache_resource
|
| 58 |
def SpeechSynthesis(result):
|
|
@@ -84,33 +67,22 @@ def SpeechSynthesis(result):
|
|
| 84 |
components.html(documentHTML5, width=1280, height=300)
|
| 85 |
|
| 86 |
def parse_to_markdown(text):
|
| 87 |
-
# Split text into fields by | character
|
| 88 |
fields = text.split("|")
|
| 89 |
-
|
| 90 |
markdown = ""
|
| 91 |
for field in fields:
|
| 92 |
-
# Remove leading/trailing quotes and whitespace
|
| 93 |
field = field.strip(" '")
|
| 94 |
-
|
| 95 |
-
# Add field to markdown with whitespace separator
|
| 96 |
markdown += field + "\n\n"
|
| 97 |
-
|
| 98 |
return markdown
|
| 99 |
|
| 100 |
def search_arxiv(query):
|
| 101 |
-
|
| 102 |
# Show ArXiv Scholary Articles! ----------------*************-------------***************----------------------------------------
|
| 103 |
-
# st.title("βΆοΈ Semantic and Episodic Memory System")
|
| 104 |
client = Client("awacke1/Arxiv-Paper-Search-And-QA-RAG-Pattern")
|
| 105 |
-
|
| 106 |
search_query = query
|
| 107 |
#top_n_results = st.slider(key='topnresults', label="Top n results as context", min_value=4, max_value=100, value=100)
|
| 108 |
#search_source = st.sidebar.selectbox(key='searchsource', label="Search Source", ["Semantic Search - up to 10 Mar 2024", "Arxiv Search - Latest - (EXPERIMENTAL)"])
|
| 109 |
search_source = "Arxiv Search - Latest - (EXPERIMENTAL)" # "Semantic Search - up to 10 Mar 2024"
|
| 110 |
#llm_model = st.sidebar.selectbox(key='llmmodel', label="LLM Model", ["mistralai/Mixtral-8x7B-Instruct-v0.1", "mistralai/Mistral-7B-Instruct-v0.2", "google/gemma-7b-it", "None"])
|
| 111 |
llm_model = "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
| 112 |
-
|
| 113 |
-
|
| 114 |
st.sidebar.markdown('### π ' + query)
|
| 115 |
result = client.predict(
|
| 116 |
search_query,
|
|
@@ -127,16 +99,8 @@ def search_arxiv(query):
|
|
| 127 |
SpeechSynthesis(result) # Search History Reader / Writer IO Memory - Audio at Same time as Reading.
|
| 128 |
filename=generate_filename(result, "md")
|
| 129 |
create_file(filename, query, result, should_save)
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
#file_type = st.radio("Select Which Type of Memory You Prefer:", ("Semantic", "Episodic"))
|
| 133 |
-
#if st.button("Save"):
|
| 134 |
-
# file_name = save_file(result, file_type)
|
| 135 |
-
# st.success(f"File saved: {file_name}")
|
| 136 |
-
|
| 137 |
saved_files = [f for f in os.listdir(".") if f.endswith(".md")]
|
| 138 |
selected_file = st.sidebar.selectbox("Saved Files", saved_files)
|
| 139 |
-
|
| 140 |
if selected_file:
|
| 141 |
file_content = load_file(selected_file)
|
| 142 |
st.sidebar.markdown(file_content)
|
|
@@ -177,7 +141,6 @@ def display_glossary_grid(roleplaying_glossary):
|
|
| 177 |
"π": lambda k: f"https://huggingface.co/spaces/awacke1/World-Ship-Design?q={quote(k)}-{quote(PromptPrefix2)}", # this url plus query!
|
| 178 |
"π¬": lambda k: f"https://huggingface.co/spaces/awacke1/World-Ship-Design?q={quote(k)}-{quote(PromptPrefix3)}", # this url plus query!
|
| 179 |
}
|
| 180 |
-
|
| 181 |
for category, details in roleplaying_glossary.items():
|
| 182 |
st.write(f"### {category}")
|
| 183 |
cols = st.columns(len(details)) # Create dynamic columns based on the number of games
|
|
@@ -187,7 +150,6 @@ def display_glossary_grid(roleplaying_glossary):
|
|
| 187 |
for term in terms:
|
| 188 |
gameterm = category + ' - ' + game + ' - ' + term
|
| 189 |
links_md = ' '.join([f"[{emoji}]({url(gameterm)})" for emoji, url in search_urls.items()])
|
| 190 |
-
#links_md = ' '.join([f"[{emoji}]({url(term)})" for emoji, url in search_urls.items()])
|
| 191 |
st.markdown(f"{term} {links_md}", unsafe_allow_html=True)
|
| 192 |
|
| 193 |
def display_glossary_entity(k):
|
|
@@ -206,10 +168,6 @@ def display_glossary_entity(k):
|
|
| 206 |
links_md = ' '.join([f"[{emoji}]({url(k)})" for emoji, url in search_urls.items()])
|
| 207 |
st.markdown(f"{k} {links_md}", unsafe_allow_html=True)
|
| 208 |
|
| 209 |
-
|
| 210 |
-
|
| 211 |
-
#st.markdown('''### πβ¨π Arxiv-Paper-Search-QA-RAG-Streamlit-Gradio-AP ''')
|
| 212 |
-
|
| 213 |
roleplaying_glossary = {
|
| 214 |
"π€ AI Concepts": {
|
| 215 |
"MoE (Mixture of Experts) π§ ": [
|
|
@@ -383,7 +341,6 @@ def get_table_download_link(file_path):
|
|
| 383 |
href = f'<a href="data:{mime_type};base64,{b64}" target="_blank" download="{file_name}">{file_name}</a>'
|
| 384 |
return href
|
| 385 |
|
| 386 |
-
|
| 387 |
@st.cache_resource
|
| 388 |
def create_zip_of_files(files): # ----------------------------------
|
| 389 |
zip_name = "Arxiv-Paper-Search-QA-RAG-Streamlit-Gradio-AP.zip"
|
|
@@ -402,7 +359,6 @@ def get_zip_download_link(zip_file):
|
|
| 402 |
|
| 403 |
def FileSidebar():
|
| 404 |
# ----------------------------------------------------- File Sidebar for Jump Gates ------------------------------------------
|
| 405 |
-
# Compose a file sidebar of markdown md files:
|
| 406 |
all_files = glob.glob("*.md")
|
| 407 |
all_files = [file for file in all_files if len(os.path.splitext(file)[0]) >= 10] # exclude files with short names
|
| 408 |
all_files.sort(key=lambda x: (os.path.splitext(x)[1], x), reverse=True) # sort by file type and file name in descending order
|
|
@@ -438,19 +394,16 @@ def FileSidebar():
|
|
| 438 |
if st.button("π", key="delete_"+file):
|
| 439 |
os.remove(file)
|
| 440 |
st.experimental_rerun()
|
| 441 |
-
|
| 442 |
|
| 443 |
if len(file_contents) > 0:
|
| 444 |
if next_action=='open':
|
| 445 |
file_content_area = st.text_area("File Contents:", file_contents, height=500)
|
| 446 |
-
#try:
|
| 447 |
if st.button("π", key="filecontentssearch"):
|
| 448 |
#search_glossary(file_content_area)
|
| 449 |
filesearch = PromptPrefix + file_content_area
|
| 450 |
st.markdown(filesearch)
|
| 451 |
if st.button(key=rerun, label='πRe-Spec' ):
|
| 452 |
search_glossary(filesearch)
|
| 453 |
-
#except:
|
| 454 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 455 |
|
| 456 |
if next_action=='md':
|
|
@@ -458,28 +411,21 @@ def FileSidebar():
|
|
| 458 |
buttonlabel = 'πRun'
|
| 459 |
if st.button(key='Runmd', label = buttonlabel):
|
| 460 |
user_prompt = file_contents
|
| 461 |
-
#try:
|
| 462 |
search_glossary(file_contents)
|
| 463 |
-
#except:
|
| 464 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 465 |
|
| 466 |
if next_action=='search':
|
| 467 |
file_content_area = st.text_area("File Contents:", file_contents, height=500)
|
| 468 |
user_prompt = file_contents
|
| 469 |
-
#try:
|
| 470 |
-
#search_glossary(file_contents)
|
| 471 |
filesearch = PromptPrefix2 + file_content_area
|
| 472 |
st.markdown(filesearch)
|
| 473 |
if st.button(key=rerun, label='πRe-Code' ):
|
| 474 |
search_glossary(filesearch)
|
| 475 |
-
|
| 476 |
-
#except:
|
| 477 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 478 |
# ----------------------------------------------------- File Sidebar for Jump Gates ------------------------------------------
|
| 479 |
FileSidebar()
|
| 480 |
|
| 481 |
-
|
| 482 |
-
|
| 483 |
# ---- Art Card Sidebar with Random Selection of image:
|
| 484 |
def get_image_as_base64(url):
|
| 485 |
response = requests.get(url)
|
|
@@ -794,8 +740,6 @@ def clear_query_params():
|
|
| 794 |
|
| 795 |
# My Inference API Copy
|
| 796 |
API_URL = 'https://qe55p8afio98s0u3.us-east-1.aws.endpoints.huggingface.cloud' # Dr Llama
|
| 797 |
-
# Meta's Original - Chat HF Free Version:
|
| 798 |
-
#API_URL = "https://api-inference.huggingface.co/models/meta-llama/Llama-2-7b-chat-hf"
|
| 799 |
API_KEY = os.getenv('API_KEY')
|
| 800 |
MODEL1="meta-llama/Llama-2-7b-chat-hf"
|
| 801 |
MODEL1URL="https://huggingface.co/meta-llama/Llama-2-7b-chat-hf"
|
|
@@ -809,8 +753,6 @@ prompt = "...."
|
|
| 809 |
should_save = st.sidebar.checkbox("πΎ Save", value=True, help="Save your session data.")
|
| 810 |
|
| 811 |
|
| 812 |
-
|
| 813 |
-
|
| 814 |
# 3. Stream Llama Response
|
| 815 |
# @st.cache_resource
|
| 816 |
def StreamLLMChatResponse(prompt):
|
|
@@ -1253,28 +1195,11 @@ if 'action' in st.query_params:
|
|
| 1253 |
clear_query_params()
|
| 1254 |
st.experimental_rerun()
|
| 1255 |
|
| 1256 |
-
# Handling repeated keys
|
| 1257 |
-
#if 'multi' in st.query_params:
|
| 1258 |
-
# multi_values = get_all_query_params('multi')
|
| 1259 |
-
# st.write("Values for 'multi':", multi_values)
|
| 1260 |
-
|
| 1261 |
-
# Manual entry for demonstration
|
| 1262 |
-
#st.write("Enter query parameters in the URL like this: ?action=show_message&multi=1&multi=2")
|
| 1263 |
-
|
| 1264 |
if 'query' in st.query_params:
|
| 1265 |
query = st.query_params['query'][0] # Get the query parameter
|
| 1266 |
-
# Display content or image based on the query
|
| 1267 |
display_content_or_image(query)
|
| 1268 |
|
| 1269 |
-
# Add a clear query parameters button for convenience
|
| 1270 |
-
#if st.button("Clear Query Parameters", key='ClearQueryParams'):
|
| 1271 |
-
# This will clear the browser URL's query parameters
|
| 1272 |
-
# st.experimental_set_query_params
|
| 1273 |
-
# st.experimental_rerun()
|
| 1274 |
-
|
| 1275 |
-
|
| 1276 |
st.markdown("### π²πΊοΈ Arxiv Paper Search QA RAG MAS using Streamlit and Gradio API")
|
| 1277 |
-
|
| 1278 |
filename = save_and_play_audio(audio_recorder)
|
| 1279 |
if filename is not None:
|
| 1280 |
transcription = transcribe_audio(filename)
|
|
@@ -1308,8 +1233,6 @@ if filename is not None:
|
|
| 1308 |
os.remove(filename)
|
| 1309 |
|
| 1310 |
|
| 1311 |
-
|
| 1312 |
-
|
| 1313 |
prompt = '''
|
| 1314 |
What is MoE?
|
| 1315 |
What are Multi Agent Systems?
|
|
@@ -1355,10 +1278,6 @@ if openai.api_key == None: openai.api_key = st.secrets['OPENAI_API_KEY']
|
|
| 1355 |
menu = ["txt", "htm", "xlsx", "csv", "md", "py"]
|
| 1356 |
choice = st.sidebar.selectbox("Output File Type:", menu)
|
| 1357 |
|
| 1358 |
-
#model_choice = st.sidebar.radio("Select Model:", ('gpt-3.5-turbo', 'gpt-3.5-turbo-0301'))
|
| 1359 |
-
#user_prompt = st.text_area("Enter prompts, instructions & questions:", '', height=100)
|
| 1360 |
-
|
| 1361 |
-
|
| 1362 |
collength, colupload = st.columns([2,3]) # adjust the ratio as needed
|
| 1363 |
with collength:
|
| 1364 |
max_length = st.slider(key='maxlength', label="File section length for large files", min_value=1000, max_value=128000, value=12000, step=1000)
|
|
@@ -1391,20 +1310,6 @@ if len(document_sections) > 0:
|
|
| 1391 |
create_file(filename, user_prompt, response, should_save)
|
| 1392 |
st.sidebar.markdown(get_table_download_link(filename), unsafe_allow_html=True)
|
| 1393 |
|
| 1394 |
-
#if st.button('π¬ Chat'):
|
| 1395 |
-
# st.write('Reasoning with your inputs...')
|
| 1396 |
-
# user_prompt_sections = divide_prompt(user_prompt, max_length)
|
| 1397 |
-
# full_response = ''
|
| 1398 |
-
# for prompt_section in user_prompt_sections:
|
| 1399 |
-
# response = chat_with_model(prompt_section, ''.join(list(document_sections)), model_choice)
|
| 1400 |
-
# full_response += response + '\n' # Combine the responses
|
| 1401 |
-
# response = full_response
|
| 1402 |
-
# st.write('Response:')
|
| 1403 |
-
# st.write(response)
|
| 1404 |
-
# filename = generate_filename(user_prompt, choice)
|
| 1405 |
-
# create_file(filename, user_prompt, response, should_save)
|
| 1406 |
-
|
| 1407 |
display_glossary_grid(roleplaying_glossary) # Word Glossary Jump Grid
|
| 1408 |
display_videos_and_links() # Video Jump Grid
|
| 1409 |
display_images_and_wikipedia_summaries() # Image Jump Grid
|
| 1410 |
-
#display_buttons_with_scores() # Feedback Jump Grid
|
|
|
|
| 2 |
import streamlit.components.v1 as components
|
| 3 |
import huggingface_hub
|
| 4 |
import gradio_client as gc
|
|
|
|
| 5 |
import os
|
| 6 |
import json
|
| 7 |
import random
|
|
|
|
| 16 |
import time
|
| 17 |
import zipfile
|
| 18 |
import dotenv
|
|
|
|
| 19 |
from gradio_client import Client
|
| 20 |
from audio_recorder_streamlit import audio_recorder
|
| 21 |
from bs4 import BeautifulSoup
|
|
|
|
| 31 |
from PIL import Image
|
| 32 |
from urllib.parse import quote # Ensure this import is included
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
def load_file(file_name):
|
| 35 |
with open(file_name, "r") as file:
|
| 36 |
content = file.read()
|
| 37 |
return content
|
| 38 |
|
|
|
|
| 39 |
# HTML5 based Speech Synthesis (Text to Speech in Browser)
|
| 40 |
@st.cache_resource
|
| 41 |
def SpeechSynthesis(result):
|
|
|
|
| 67 |
components.html(documentHTML5, width=1280, height=300)
|
| 68 |
|
| 69 |
def parse_to_markdown(text):
|
|
|
|
| 70 |
fields = text.split("|")
|
|
|
|
| 71 |
markdown = ""
|
| 72 |
for field in fields:
|
|
|
|
| 73 |
field = field.strip(" '")
|
|
|
|
|
|
|
| 74 |
markdown += field + "\n\n"
|
|
|
|
| 75 |
return markdown
|
| 76 |
|
| 77 |
def search_arxiv(query):
|
|
|
|
| 78 |
# Show ArXiv Scholary Articles! ----------------*************-------------***************----------------------------------------
|
|
|
|
| 79 |
client = Client("awacke1/Arxiv-Paper-Search-And-QA-RAG-Pattern")
|
|
|
|
| 80 |
search_query = query
|
| 81 |
#top_n_results = st.slider(key='topnresults', label="Top n results as context", min_value=4, max_value=100, value=100)
|
| 82 |
#search_source = st.sidebar.selectbox(key='searchsource', label="Search Source", ["Semantic Search - up to 10 Mar 2024", "Arxiv Search - Latest - (EXPERIMENTAL)"])
|
| 83 |
search_source = "Arxiv Search - Latest - (EXPERIMENTAL)" # "Semantic Search - up to 10 Mar 2024"
|
| 84 |
#llm_model = st.sidebar.selectbox(key='llmmodel', label="LLM Model", ["mistralai/Mixtral-8x7B-Instruct-v0.1", "mistralai/Mistral-7B-Instruct-v0.2", "google/gemma-7b-it", "None"])
|
| 85 |
llm_model = "mistralai/Mixtral-8x7B-Instruct-v0.1"
|
|
|
|
|
|
|
| 86 |
st.sidebar.markdown('### π ' + query)
|
| 87 |
result = client.predict(
|
| 88 |
search_query,
|
|
|
|
| 99 |
SpeechSynthesis(result) # Search History Reader / Writer IO Memory - Audio at Same time as Reading.
|
| 100 |
filename=generate_filename(result, "md")
|
| 101 |
create_file(filename, query, result, should_save)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 102 |
saved_files = [f for f in os.listdir(".") if f.endswith(".md")]
|
| 103 |
selected_file = st.sidebar.selectbox("Saved Files", saved_files)
|
|
|
|
| 104 |
if selected_file:
|
| 105 |
file_content = load_file(selected_file)
|
| 106 |
st.sidebar.markdown(file_content)
|
|
|
|
| 141 |
"π": lambda k: f"https://huggingface.co/spaces/awacke1/World-Ship-Design?q={quote(k)}-{quote(PromptPrefix2)}", # this url plus query!
|
| 142 |
"π¬": lambda k: f"https://huggingface.co/spaces/awacke1/World-Ship-Design?q={quote(k)}-{quote(PromptPrefix3)}", # this url plus query!
|
| 143 |
}
|
|
|
|
| 144 |
for category, details in roleplaying_glossary.items():
|
| 145 |
st.write(f"### {category}")
|
| 146 |
cols = st.columns(len(details)) # Create dynamic columns based on the number of games
|
|
|
|
| 150 |
for term in terms:
|
| 151 |
gameterm = category + ' - ' + game + ' - ' + term
|
| 152 |
links_md = ' '.join([f"[{emoji}]({url(gameterm)})" for emoji, url in search_urls.items()])
|
|
|
|
| 153 |
st.markdown(f"{term} {links_md}", unsafe_allow_html=True)
|
| 154 |
|
| 155 |
def display_glossary_entity(k):
|
|
|
|
| 168 |
links_md = ' '.join([f"[{emoji}]({url(k)})" for emoji, url in search_urls.items()])
|
| 169 |
st.markdown(f"{k} {links_md}", unsafe_allow_html=True)
|
| 170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 171 |
roleplaying_glossary = {
|
| 172 |
"π€ AI Concepts": {
|
| 173 |
"MoE (Mixture of Experts) π§ ": [
|
|
|
|
| 341 |
href = f'<a href="data:{mime_type};base64,{b64}" target="_blank" download="{file_name}">{file_name}</a>'
|
| 342 |
return href
|
| 343 |
|
|
|
|
| 344 |
@st.cache_resource
|
| 345 |
def create_zip_of_files(files): # ----------------------------------
|
| 346 |
zip_name = "Arxiv-Paper-Search-QA-RAG-Streamlit-Gradio-AP.zip"
|
|
|
|
| 359 |
|
| 360 |
def FileSidebar():
|
| 361 |
# ----------------------------------------------------- File Sidebar for Jump Gates ------------------------------------------
|
|
|
|
| 362 |
all_files = glob.glob("*.md")
|
| 363 |
all_files = [file for file in all_files if len(os.path.splitext(file)[0]) >= 10] # exclude files with short names
|
| 364 |
all_files.sort(key=lambda x: (os.path.splitext(x)[1], x), reverse=True) # sort by file type and file name in descending order
|
|
|
|
| 394 |
if st.button("π", key="delete_"+file):
|
| 395 |
os.remove(file)
|
| 396 |
st.experimental_rerun()
|
|
|
|
| 397 |
|
| 398 |
if len(file_contents) > 0:
|
| 399 |
if next_action=='open':
|
| 400 |
file_content_area = st.text_area("File Contents:", file_contents, height=500)
|
|
|
|
| 401 |
if st.button("π", key="filecontentssearch"):
|
| 402 |
#search_glossary(file_content_area)
|
| 403 |
filesearch = PromptPrefix + file_content_area
|
| 404 |
st.markdown(filesearch)
|
| 405 |
if st.button(key=rerun, label='πRe-Spec' ):
|
| 406 |
search_glossary(filesearch)
|
|
|
|
| 407 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 408 |
|
| 409 |
if next_action=='md':
|
|
|
|
| 411 |
buttonlabel = 'πRun'
|
| 412 |
if st.button(key='Runmd', label = buttonlabel):
|
| 413 |
user_prompt = file_contents
|
|
|
|
| 414 |
search_glossary(file_contents)
|
|
|
|
| 415 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 416 |
|
| 417 |
if next_action=='search':
|
| 418 |
file_content_area = st.text_area("File Contents:", file_contents, height=500)
|
| 419 |
user_prompt = file_contents
|
|
|
|
|
|
|
| 420 |
filesearch = PromptPrefix2 + file_content_area
|
| 421 |
st.markdown(filesearch)
|
| 422 |
if st.button(key=rerun, label='πRe-Code' ):
|
| 423 |
search_glossary(filesearch)
|
| 424 |
+
|
|
|
|
| 425 |
st.markdown('GPT is sleeping. Restart ETA 30 seconds.')
|
| 426 |
# ----------------------------------------------------- File Sidebar for Jump Gates ------------------------------------------
|
| 427 |
FileSidebar()
|
| 428 |
|
|
|
|
|
|
|
| 429 |
# ---- Art Card Sidebar with Random Selection of image:
|
| 430 |
def get_image_as_base64(url):
|
| 431 |
response = requests.get(url)
|
|
|
|
| 740 |
|
| 741 |
# My Inference API Copy
|
| 742 |
API_URL = 'https://qe55p8afio98s0u3.us-east-1.aws.endpoints.huggingface.cloud' # Dr Llama
|
|
|
|
|
|
|
| 743 |
API_KEY = os.getenv('API_KEY')
|
| 744 |
MODEL1="meta-llama/Llama-2-7b-chat-hf"
|
| 745 |
MODEL1URL="https://huggingface.co/meta-llama/Llama-2-7b-chat-hf"
|
|
|
|
| 753 |
should_save = st.sidebar.checkbox("πΎ Save", value=True, help="Save your session data.")
|
| 754 |
|
| 755 |
|
|
|
|
|
|
|
| 756 |
# 3. Stream Llama Response
|
| 757 |
# @st.cache_resource
|
| 758 |
def StreamLLMChatResponse(prompt):
|
|
|
|
| 1195 |
clear_query_params()
|
| 1196 |
st.experimental_rerun()
|
| 1197 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1198 |
if 'query' in st.query_params:
|
| 1199 |
query = st.query_params['query'][0] # Get the query parameter
|
|
|
|
| 1200 |
display_content_or_image(query)
|
| 1201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1202 |
st.markdown("### π²πΊοΈ Arxiv Paper Search QA RAG MAS using Streamlit and Gradio API")
|
|
|
|
| 1203 |
filename = save_and_play_audio(audio_recorder)
|
| 1204 |
if filename is not None:
|
| 1205 |
transcription = transcribe_audio(filename)
|
|
|
|
| 1233 |
os.remove(filename)
|
| 1234 |
|
| 1235 |
|
|
|
|
|
|
|
| 1236 |
prompt = '''
|
| 1237 |
What is MoE?
|
| 1238 |
What are Multi Agent Systems?
|
|
|
|
| 1278 |
menu = ["txt", "htm", "xlsx", "csv", "md", "py"]
|
| 1279 |
choice = st.sidebar.selectbox("Output File Type:", menu)
|
| 1280 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1281 |
collength, colupload = st.columns([2,3]) # adjust the ratio as needed
|
| 1282 |
with collength:
|
| 1283 |
max_length = st.slider(key='maxlength', label="File section length for large files", min_value=1000, max_value=128000, value=12000, step=1000)
|
|
|
|
| 1310 |
create_file(filename, user_prompt, response, should_save)
|
| 1311 |
st.sidebar.markdown(get_table_download_link(filename), unsafe_allow_html=True)
|
| 1312 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1313 |
display_glossary_grid(roleplaying_glossary) # Word Glossary Jump Grid
|
| 1314 |
display_videos_and_links() # Video Jump Grid
|
| 1315 |
display_images_and_wikipedia_summaries() # Image Jump Grid
|
|
|