(prompt_text: str)
| 219 | |
| 220 | |
| 221 | def main(prompt_text: str): |
| 222 | global client |
| 223 | assert client is not None |
| 224 | |
| 225 | if prompt_text: |
| 226 | prompt_text = prompt_text.strip() |
| 227 | |
| 228 | # Append uploaded files |
| 229 | uploaded_texts = st.session_state.get("uploaded_texts") |
| 230 | if page == Mode.LONG_CTX and uploaded_texts and first_round: |
| 231 | meta_msg = "{} files uploaded.\n".format(st.session_state.uploaded_file_nums) |
| 232 | prompt_text = uploaded_texts + "\n\n\n" + meta_msg + prompt_text |
| 233 | # Clear after first use |
| 234 | st.session_state.files_uploaded = True |
| 235 | st.session_state.uploaded_texts = "" |
| 236 | st.session_state.uploaded_file_nums = 0 |
| 237 | |
| 238 | image = st.session_state.get("uploaded_image") |
| 239 | if page == Mode.VLM and image and first_round: |
| 240 | st.session_state.uploaded_image = None |
| 241 | |
| 242 | role = Role.USER |
| 243 | append_conversation(Conversation(role, prompt_text, image=image), history) |
| 244 | |
| 245 | placeholder = st.container() |
| 246 | message_placeholder = placeholder.chat_message(name="assistant", avatar="assistant") |
| 247 | markdown_placeholder = message_placeholder.empty() |
| 248 | |
| 249 | def add_new_block(): |
| 250 | nonlocal message_placeholder, markdown_placeholder |
| 251 | message_placeholder = placeholder.chat_message(name="assistant", avatar="assistant") |
| 252 | markdown_placeholder = message_placeholder.empty() |
| 253 | |
| 254 | def commit_conversation( |
| 255 | role: Role, |
| 256 | text: str, |
| 257 | metadata: str | None = None, |
| 258 | image: str | None = None, |
| 259 | new: bool = False, |
| 260 | ): |
| 261 | processed_text = postprocess_text(text, role.value == Role.ASSISTANT.value) |
| 262 | conversation = Conversation(role, text, processed_text, metadata, image) |
| 263 | |
| 264 | # Use different placeholder for new block |
| 265 | placeholder = message_placeholder if new else markdown_placeholder |
| 266 | |
| 267 | append_conversation( |
| 268 | conversation, |
| 269 | history, |
| 270 | placeholder, |
| 271 | ) |
| 272 | |
| 273 | response = "" |
| 274 | for _ in range(10): |
| 275 | last_response = None |
| 276 | history_len = None |
| 277 | |
| 278 | try: |
no test coverage detected