MCPcopy
hub / github.com/zai-org/GLM-4 / main

Function main

demo/composite_demo/src/main.py:221–330  ·  view source on GitHub ↗
(prompt_text: str)

Source from the content-addressed store, hash-verified

219
220
221def 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:

Callers 1

main.pyFile · 0.70

Calls 8

ConversationClass · 0.90
postprocess_textFunction · 0.90
response_to_strFunction · 0.90
dispatch_toolFunction · 0.90
append_conversationFunction · 0.85
commit_conversationFunction · 0.85
add_new_blockFunction · 0.85
generate_streamMethod · 0.45

Tested by

no test coverage detected