Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
@@ -14,9 +14,9 @@ import uuid
|
|
14 |
from TTS.api import TTS
|
15 |
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v1", gpu=True)
|
16 |
|
17 |
-
title = "
|
18 |
|
19 |
-
DESCRIPTION = """#
|
20 |
css = """.toast-wrap { display: none !important } """
|
21 |
|
22 |
from huggingface_hub import HfApi
|
@@ -26,7 +26,7 @@ api = HfApi(token=HF_TOKEN)
|
|
26 |
|
27 |
repo_id = "ylacombe/voice-chat-with-lama"
|
28 |
|
29 |
-
system_message = "\nYou are a helpful, respectful and honest assistant.
|
30 |
temperature = 0.9
|
31 |
top_p = 0.6
|
32 |
repetition_penalty = 1.2
|
@@ -41,9 +41,49 @@ from transformers import pipeline
|
|
41 |
import numpy as np
|
42 |
|
43 |
from gradio_client import Client
|
|
|
|
|
44 |
|
45 |
whisper_client = Client("https://sanchit-gandhi-whisper-large-v2.hf.space/")
|
46 |
-
text_client =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
|
49 |
def transcribe(wav_path):
|
@@ -82,15 +122,7 @@ def bot(history, system_prompt=""):
|
|
82 |
system_prompt = system_message
|
83 |
|
84 |
history[-1][1] = ""
|
85 |
-
for character in
|
86 |
-
history,
|
87 |
-
system_prompt,
|
88 |
-
temperature,
|
89 |
-
4096,
|
90 |
-
temperature,
|
91 |
-
repetition_penalty,
|
92 |
-
api_name="/chat"
|
93 |
-
):
|
94 |
history[-1][1] = character
|
95 |
yield history
|
96 |
|
@@ -177,12 +209,10 @@ with gr.Blocks(title=title) as demo:
|
|
177 |
This Space demonstrates how to speak to a chatbot, based solely on open-source models.
|
178 |
It relies on 3 models:
|
179 |
1. [Whisper-large-v2](https://huggingface.co/spaces/sanchit-gandhi/whisper-large-v2) as an ASR model, to transcribe recorded audio to text. It is called through a [gradio client](https://www.gradio.app/docs/client).
|
180 |
-
2. [
|
181 |
3. [Coqui's XTTS](https://huggingface.co/spaces/coqui/xtts) as a TTS model, to generate the chatbot answers. This time, the model is hosted locally.
|
182 |
|
183 |
Note:
|
184 |
-
- As a derivate work of [Llama-2-70b-chat](https://huggingface.co/meta-llama/Llama-2-70b-chat-hf) by Meta,
|
185 |
-
this demo is governed by the original [license](https://huggingface.co/spaces/ysharma/Explore_llamav2_with_TGI/blob/main/LICENSE.txt) and [acceptable use policy](https://huggingface.co/spaces/ysharma/Explore_llamav2_with_TGI/blob/main/USE_POLICY.md).
|
186 |
- By using this demo you agree to the terms of the Coqui Public Model License at https://coqui.ai/cpml""")
|
187 |
demo.queue()
|
188 |
demo.launch(debug=True)
|
|
|
14 |
from TTS.api import TTS
|
15 |
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v1", gpu=True)
|
16 |
|
17 |
+
title = "Voice chat with Mistral 7B Instruct"
|
18 |
|
19 |
+
DESCRIPTION = """# Voice chat with Mistral 7B Instruct"""
|
20 |
css = """.toast-wrap { display: none !important } """
|
21 |
|
22 |
from huggingface_hub import HfApi
|
|
|
26 |
|
27 |
repo_id = "ylacombe/voice-chat-with-lama"
|
28 |
|
29 |
+
system_message = "\nYou are a helpful, respectful and honest assistant. Your answers are short, ideally a few words long, if it is possible. Always answer as helpfully as possible, while being safe.\n\nIf a question does not make any sense, or is not factually coherent, explain why instead of answering something not correct. If you don't know the answer to a question, please don't share false information."
|
30 |
temperature = 0.9
|
31 |
top_p = 0.6
|
32 |
repetition_penalty = 1.2
|
|
|
41 |
import numpy as np
|
42 |
|
43 |
from gradio_client import Client
|
44 |
+
from huggingface_hub import InferenceClient
|
45 |
+
|
46 |
|
47 |
whisper_client = Client("https://sanchit-gandhi-whisper-large-v2.hf.space/")
|
48 |
+
text_client = InferenceClient(
|
49 |
+
"mistralai/Mistral-7B-Instruct-v0.1"
|
50 |
+
)
|
51 |
+
|
52 |
+
|
53 |
+
def format_prompt(message, history):
|
54 |
+
prompt = "<s>"
|
55 |
+
for user_prompt, bot_response in history:
|
56 |
+
prompt += f"[INST] {user_prompt} [/INST]"
|
57 |
+
prompt += f" {bot_response}</s> "
|
58 |
+
prompt += f"[INST] {message} [/INST]"
|
59 |
+
return prompt
|
60 |
+
|
61 |
+
def generate(
|
62 |
+
prompt, history, temperature=0.9, max_new_tokens=256, top_p=0.95, repetition_penalty=1.0,
|
63 |
+
):
|
64 |
+
temperature = float(temperature)
|
65 |
+
if temperature < 1e-2:
|
66 |
+
temperature = 1e-2
|
67 |
+
top_p = float(top_p)
|
68 |
+
|
69 |
+
generate_kwargs = dict(
|
70 |
+
temperature=temperature,
|
71 |
+
max_new_tokens=max_new_tokens,
|
72 |
+
top_p=top_p,
|
73 |
+
repetition_penalty=repetition_penalty,
|
74 |
+
do_sample=True,
|
75 |
+
seed=42,
|
76 |
+
)
|
77 |
+
|
78 |
+
formatted_prompt = format_prompt(prompt, history)
|
79 |
+
|
80 |
+
stream = client.text_generation(formatted_prompt, **generate_kwargs, stream=True, details=True, return_full_text=False)
|
81 |
+
output = ""
|
82 |
+
|
83 |
+
for response in stream:
|
84 |
+
output += response.token.text
|
85 |
+
yield output
|
86 |
+
return output
|
87 |
|
88 |
|
89 |
def transcribe(wav_path):
|
|
|
122 |
system_prompt = system_message
|
123 |
|
124 |
history[-1][1] = ""
|
125 |
+
for character in generate(system_prompt, history):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
history[-1][1] = character
|
127 |
yield history
|
128 |
|
|
|
209 |
This Space demonstrates how to speak to a chatbot, based solely on open-source models.
|
210 |
It relies on 3 models:
|
211 |
1. [Whisper-large-v2](https://huggingface.co/spaces/sanchit-gandhi/whisper-large-v2) as an ASR model, to transcribe recorded audio to text. It is called through a [gradio client](https://www.gradio.app/docs/client).
|
212 |
+
2. [Mistral-7b-instruct](https://huggingface.co/spaces/osanseviero/mistral-super-fast) as the chat model, the actual chat model. It is called from [huggingface_hub](https://huggingface.co/docs/huggingface_hub/guides/inference).
|
213 |
3. [Coqui's XTTS](https://huggingface.co/spaces/coqui/xtts) as a TTS model, to generate the chatbot answers. This time, the model is hosted locally.
|
214 |
|
215 |
Note:
|
|
|
|
|
216 |
- By using this demo you agree to the terms of the Coqui Public Model License at https://coqui.ai/cpml""")
|
217 |
demo.queue()
|
218 |
demo.launch(debug=True)
|