Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -6,6 +6,7 @@ import glob
|
|
| 6 |
import json
|
| 7 |
import mistune
|
| 8 |
import pytz
|
|
|
|
| 9 |
|
| 10 |
from datetime import datetime
|
| 11 |
from openai import ChatCompletion
|
|
@@ -58,21 +59,12 @@ def create_file(filename, prompt, response):
|
|
| 58 |
with open(filename, 'w') as file:
|
| 59 |
file.write(f"# Prompt:\n{prompt}\n# Response:\n{response}")
|
| 60 |
|
| 61 |
-
def get_table_download_link_old(file_path):
|
| 62 |
-
with open(file_path, 'r') as file:
|
| 63 |
-
data = file.read()
|
| 64 |
-
b64 = base64.b64encode(data.encode()).decode()
|
| 65 |
-
href = f'<a href="data:file/htm;base64,{b64}" target="_blank" download="{os.path.basename(file_path)}">{os.path.basename(file_path)}</a>'
|
| 66 |
-
return href
|
| 67 |
-
|
| 68 |
def get_table_download_link(file_path):
|
| 69 |
-
import os
|
| 70 |
-
import base64
|
| 71 |
with open(file_path, 'r') as file:
|
| 72 |
data = file.read()
|
| 73 |
b64 = base64.b64encode(data.encode()).decode()
|
| 74 |
file_name = os.path.basename(file_path)
|
| 75 |
-
ext = os.path.splitext(file_name)[1]
|
| 76 |
|
| 77 |
if ext == '.txt':
|
| 78 |
mime_type = 'text/plain'
|
|
@@ -81,7 +73,7 @@ def get_table_download_link(file_path):
|
|
| 81 |
elif ext == '.md':
|
| 82 |
mime_type = 'text/markdown'
|
| 83 |
else:
|
| 84 |
-
mime_type = 'application/octet-stream'
|
| 85 |
|
| 86 |
href = f'<a href="data:{mime_type};base64,{b64}" target="_blank" download="{file_name}">{file_name}</a>'
|
| 87 |
return href
|
|
@@ -115,34 +107,40 @@ def read_file_content(file,max_length):
|
|
| 115 |
return ""
|
| 116 |
|
| 117 |
def main():
|
| 118 |
-
prompts = ['']
|
| 119 |
-
file_content = ""
|
| 120 |
user_prompt = st.text_area("Your question:", '', height=120)
|
| 121 |
uploaded_file = st.file_uploader("Choose a file", type=["xml", "json", "html", "htm", "md", "txt"])
|
| 122 |
|
| 123 |
-
if user_prompt:
|
| 124 |
-
prompts.append(user_prompt)
|
| 125 |
-
|
| 126 |
-
if uploaded_file is not None:
|
| 127 |
-
file_content = read_file_content(uploaded_file, max_length)
|
| 128 |
-
prompts.append(file_content)
|
| 129 |
-
|
| 130 |
if st.button('π¬ Chat'):
|
| 131 |
st.write('Thinking and Reasoning with your inputs...')
|
| 132 |
-
|
| 133 |
-
st.write('Response:')
|
| 134 |
-
st.write(response)
|
| 135 |
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
|
| 143 |
all_files = glob.glob("*.txt") + glob.glob("*.htm") + glob.glob("*.md")
|
| 144 |
for file in all_files:
|
| 145 |
-
col1, col2 = st.sidebar.columns([4,1])
|
| 146 |
with col1:
|
| 147 |
st.markdown(get_table_download_link(file), unsafe_allow_html=True)
|
| 148 |
with col2:
|
|
@@ -151,4 +149,4 @@ def main():
|
|
| 151 |
st.experimental_rerun()
|
| 152 |
|
| 153 |
if __name__ == "__main__":
|
| 154 |
-
main()
|
|
|
|
| 6 |
import json
|
| 7 |
import mistune
|
| 8 |
import pytz
|
| 9 |
+
import textwrap
|
| 10 |
|
| 11 |
from datetime import datetime
|
| 12 |
from openai import ChatCompletion
|
|
|
|
| 59 |
with open(filename, 'w') as file:
|
| 60 |
file.write(f"# Prompt:\n{prompt}\n# Response:\n{response}")
|
| 61 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
def get_table_download_link(file_path):
|
|
|
|
|
|
|
| 63 |
with open(file_path, 'r') as file:
|
| 64 |
data = file.read()
|
| 65 |
b64 = base64.b64encode(data.encode()).decode()
|
| 66 |
file_name = os.path.basename(file_path)
|
| 67 |
+
ext = os.path.splitext(file_name)[1]
|
| 68 |
|
| 69 |
if ext == '.txt':
|
| 70 |
mime_type = 'text/plain'
|
|
|
|
| 73 |
elif ext == '.md':
|
| 74 |
mime_type = 'text/markdown'
|
| 75 |
else:
|
| 76 |
+
mime_type = 'application/octet-stream'
|
| 77 |
|
| 78 |
href = f'<a href="data:{mime_type};base64,{b64}" target="_blank" download="{file_name}">{file_name}</a>'
|
| 79 |
return href
|
|
|
|
| 107 |
return ""
|
| 108 |
|
| 109 |
def main():
|
|
|
|
|
|
|
| 110 |
user_prompt = st.text_area("Your question:", '', height=120)
|
| 111 |
uploaded_file = st.file_uploader("Choose a file", type=["xml", "json", "html", "htm", "md", "txt"])
|
| 112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 113 |
if st.button('π¬ Chat'):
|
| 114 |
st.write('Thinking and Reasoning with your inputs...')
|
| 115 |
+
file_content = ""
|
|
|
|
|
|
|
| 116 |
|
| 117 |
+
if user_prompt:
|
| 118 |
+
prompts = textwrap.wrap(user_prompt, max_length)
|
| 119 |
+
for prompt in prompts:
|
| 120 |
+
response = chat_with_model([prompt])
|
| 121 |
+
st.write('Response:')
|
| 122 |
+
st.write(response)
|
| 123 |
+
filename = generate_filename(prompt, choice)
|
| 124 |
+
create_file(filename, prompt, response)
|
| 125 |
+
st.sidebar.markdown(get_table_download_link(filename), unsafe_allow_html=True)
|
| 126 |
+
|
| 127 |
+
if uploaded_file is not None:
|
| 128 |
+
file_content = read_file_content(uploaded_file, max_length)
|
| 129 |
+
document_parts = textwrap.wrap(file_content, max_length)
|
| 130 |
+
for part in document_parts:
|
| 131 |
+
response = chat_with_model([part])
|
| 132 |
+
st.write('Response:')
|
| 133 |
+
st.write(response)
|
| 134 |
+
filename = generate_filename(part, choice)
|
| 135 |
+
create_file(filename, part, response)
|
| 136 |
+
st.sidebar.markdown(get_table_download_link(filename), unsafe_allow_html=True)
|
| 137 |
+
|
| 138 |
+
if len(file_content) > 0:
|
| 139 |
+
st.text_area("File Content:", file_content, height=400) # Display file content in a scrollable text box
|
| 140 |
|
| 141 |
all_files = glob.glob("*.txt") + glob.glob("*.htm") + glob.glob("*.md")
|
| 142 |
for file in all_files:
|
| 143 |
+
col1, col2 = st.sidebar.columns([4,1])
|
| 144 |
with col1:
|
| 145 |
st.markdown(get_table_download_link(file), unsafe_allow_html=True)
|
| 146 |
with col2:
|
|
|
|
| 149 |
st.experimental_rerun()
|
| 150 |
|
| 151 |
if __name__ == "__main__":
|
| 152 |
+
main()
|