Spaces:
Paused
Paused
Helw150
commited on
Commit
·
5d37f08
1
Parent(s):
4898006
No CUDA?
Browse files
README.md
CHANGED
|
@@ -4,10 +4,10 @@ emoji: 💬
|
|
| 4 |
colorFrom: gray
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: 5.0
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mpl-2.0
|
| 11 |
---
|
| 12 |
|
| 13 |
-
An example chatbot using [Gradio](https://gradio.app), [`huggingface_hub`](https://huggingface.co/docs/huggingface_hub/v0.22.2/en/index), and the [Hugging Face Inference API](https://huggingface.co/docs/api-inference/index).
|
|
|
|
| 4 |
colorFrom: gray
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 5.1.0
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mpl-2.0
|
| 11 |
---
|
| 12 |
|
| 13 |
+
An example chatbot using [Gradio](https://gradio.app), [`huggingface_hub`](https://huggingface.co/docs/huggingface_hub/v0.22.2/en/index), and the [Hugging Face Inference API](https://huggingface.co/docs/api-inference/index).
|
app.py
CHANGED
|
@@ -72,20 +72,36 @@ def response(state: AppState, audio: tuple):
|
|
| 72 |
state.conversation.append(
|
| 73 |
{"role": "user", "content": {"path": file_name, "mime_type": "audio/wav"}}
|
| 74 |
)
|
| 75 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 76 |
start = False
|
| 77 |
for resp, outs in diva_audio(
|
| 78 |
-
(state.sampling_rate, state.stream),
|
|
|
|
| 79 |
):
|
| 80 |
-
print(resp)
|
| 81 |
if not start:
|
| 82 |
state.conversation.append({"role": "assistant", "content": resp})
|
| 83 |
start = True
|
| 84 |
else:
|
| 85 |
state.conversation[-1]["content"] = resp
|
| 86 |
-
yield state, state.conversation
|
| 87 |
|
| 88 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
|
| 90 |
|
| 91 |
def start_recording_user(state: AppState):
|
|
|
|
| 72 |
state.conversation.append(
|
| 73 |
{"role": "user", "content": {"path": file_name, "mime_type": "audio/wav"}}
|
| 74 |
)
|
| 75 |
+
if spaces.config.Config.zero_gpu:
|
| 76 |
+
if state.model_outs is not None:
|
| 77 |
+
state.model_outs.past_key_values = tuple(
|
| 78 |
+
tuple(vec.cuda() for vec in tup)
|
| 79 |
+
for tup in state.model_outs.past_key_values
|
| 80 |
+
)
|
| 81 |
+
prev_outs = state.model_outs
|
| 82 |
start = False
|
| 83 |
for resp, outs in diva_audio(
|
| 84 |
+
(state.sampling_rate, state.stream),
|
| 85 |
+
prev_outs=(prev_out if state.model_outs is not None is not None else None),
|
| 86 |
):
|
|
|
|
| 87 |
if not start:
|
| 88 |
state.conversation.append({"role": "assistant", "content": resp})
|
| 89 |
start = True
|
| 90 |
else:
|
| 91 |
state.conversation[-1]["content"] = resp
|
| 92 |
+
# yield state, state.conversation
|
| 93 |
|
| 94 |
+
del outs.logits
|
| 95 |
+
del outs.hidden_states
|
| 96 |
+
if spaces.config.Config.zero_gpu:
|
| 97 |
+
outs.past_key_values = tuple(
|
| 98 |
+
tuple(vec.cpu() for vec in tup) for tup in outs.past_key_values
|
| 99 |
+
)
|
| 100 |
+
print(outs)
|
| 101 |
+
return (
|
| 102 |
+
AppState(conversation=state.conversation, model_outs=outs),
|
| 103 |
+
state.conversation,
|
| 104 |
+
)
|
| 105 |
|
| 106 |
|
| 107 |
def start_recording_user(state: AppState):
|