Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
#ref: https://github.com/kram254/Mixture-of-Agents-running-on-Groq/tree/main
|
2 |
import streamlit as st
|
3 |
import json
|
|
|
4 |
from typing import Iterable
|
5 |
from moa.agent import MOAgent
|
6 |
from moa.agent.moa import ResponseChunk
|
@@ -65,12 +66,18 @@ layer_agent_config_rec = {
|
|
65 |
|
66 |
def stream_response(messages: Iterable[ResponseChunk]):
|
67 |
layer_outputs = {}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
for message in messages:
|
69 |
if message['response_type'] == 'intermediate':
|
70 |
layer = message['metadata']['layer']
|
71 |
-
|
72 |
-
layer_outputs[layer] = []
|
73 |
-
layer_outputs[layer].append(message['delta'])
|
74 |
else:
|
75 |
# Display accumulated layer outputs
|
76 |
for layer, outputs in layer_outputs.items():
|
|
|
1 |
#ref: https://github.com/kram254/Mixture-of-Agents-running-on-Groq/tree/main
|
2 |
import streamlit as st
|
3 |
import json
|
4 |
+
import threading
|
5 |
from typing import Iterable
|
6 |
from moa.agent import MOAgent
|
7 |
from moa.agent.moa import ResponseChunk
|
|
|
66 |
|
67 |
def stream_response(messages: Iterable[ResponseChunk]):
|
68 |
layer_outputs = {}
|
69 |
+
lock = threading.Lock()
|
70 |
+
|
71 |
+
def safe_append(layer, delta):
|
72 |
+
with lock:
|
73 |
+
if layer not in layer_outputs:
|
74 |
+
layer_outputs[layer] = []
|
75 |
+
layer_outputs[layer].append(delta)
|
76 |
+
|
77 |
for message in messages:
|
78 |
if message['response_type'] == 'intermediate':
|
79 |
layer = message['metadata']['layer']
|
80 |
+
safe_append(layer, message['delta'])
|
|
|
|
|
81 |
else:
|
82 |
# Display accumulated layer outputs
|
83 |
for layer, outputs in layer_outputs.items():
|