Spaces:
Runtime error
Runtime error
Update src/streamlit_app.py
Browse files- src/streamlit_app.py +22 -6
src/streamlit_app.py
CHANGED
|
@@ -29,7 +29,18 @@ def stream_claude_response(prompt, text):
|
|
| 29 |
|
| 30 |
output_text = ""
|
| 31 |
progress_bar = st.progress(0, text="Starting...")
|
| 32 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
# Streaming response
|
| 35 |
with client.messages.stream(
|
|
@@ -37,18 +48,23 @@ def stream_claude_response(prompt, text):
|
|
| 37 |
max_tokens=64000,
|
| 38 |
messages=[{"role": "user", "content": user_content}],
|
| 39 |
) as stream:
|
| 40 |
-
|
| 41 |
-
for event in stream:
|
| 42 |
if event.type == "content_block_delta" and event.delta.type == "text_delta":
|
| 43 |
delta = event.delta.text
|
| 44 |
output_text += delta
|
| 45 |
-
|
| 46 |
-
progress_bar.progress(min(
|
| 47 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 48 |
|
| 49 |
progress_bar.progress(1.0, text="✅ Done")
|
| 50 |
return output_text
|
| 51 |
|
|
|
|
| 52 |
# === DOCX Creation ===
|
| 53 |
def create_docx(text, doc_name):
|
| 54 |
cleaned_output = "\n".join(
|
|
|
|
| 29 |
|
| 30 |
output_text = ""
|
| 31 |
progress_bar = st.progress(0, text="Starting...")
|
| 32 |
+
|
| 33 |
+
# Create a placeholder and one text_area (fixed key)
|
| 34 |
+
if "output_box_text" not in st.session_state:
|
| 35 |
+
st.session_state.output_box_text = ""
|
| 36 |
+
|
| 37 |
+
output_box = st.empty()
|
| 38 |
+
output_box.text_area(
|
| 39 |
+
"Claude Output",
|
| 40 |
+
value=st.session_state.output_box_text,
|
| 41 |
+
height=400,
|
| 42 |
+
key="output_box_display",
|
| 43 |
+
)
|
| 44 |
|
| 45 |
# Streaming response
|
| 46 |
with client.messages.stream(
|
|
|
|
| 48 |
max_tokens=64000,
|
| 49 |
messages=[{"role": "user", "content": user_content}],
|
| 50 |
) as stream:
|
| 51 |
+
for i, event in enumerate(stream):
|
|
|
|
| 52 |
if event.type == "content_block_delta" and event.delta.type == "text_delta":
|
| 53 |
delta = event.delta.text
|
| 54 |
output_text += delta
|
| 55 |
+
st.session_state.output_box_text = output_text
|
| 56 |
+
progress_bar.progress(min(i / 400, 0.95), text="Generating...")
|
| 57 |
+
output_box.text_area(
|
| 58 |
+
"Claude Output",
|
| 59 |
+
value=st.session_state.output_box_text,
|
| 60 |
+
height=400,
|
| 61 |
+
key="output_box_display",
|
| 62 |
+
)
|
| 63 |
|
| 64 |
progress_bar.progress(1.0, text="✅ Done")
|
| 65 |
return output_text
|
| 66 |
|
| 67 |
+
|
| 68 |
# === DOCX Creation ===
|
| 69 |
def create_docx(text, doc_name):
|
| 70 |
cleaned_output = "\n".join(
|