sushant09 commited on
Commit
5f5c438
·
verified ·
1 Parent(s): fed8203

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. 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
- progress_step = 0
 
 
 
 
 
 
 
 
 
 
 
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
- placeholder = st.empty()
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
- progress_step += 1
46
- progress_bar.progress(min(progress_step / 400, 0.95), text="Generating...")
47
- placeholder.text_area("Claude Output", value=output_text, height=400, key="output_box", label_visibility="collapsed")
 
 
 
 
 
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(