Spaces:
Sleeping
Sleeping
| import os | |
| from fastrtc import ReplyOnPause, Stream, get_stt_model, get_tts_model | |
| from openai import OpenAI | |
| sambanova_client = OpenAI( | |
| api_key=os.getenv("SAMBANOVA_API_KEY"), base_url="https://api.sambanova.ai/v1" | |
| ) | |
| stt_model = get_stt_model() | |
| tts_model = get_tts_model() | |
| def echo(audio): | |
| prompt = stt_model.stt(audio) | |
| response = sambanova_client.chat.completions.create( | |
| model="Meta-Llama-3.2-3B-Instruct", | |
| messages=[{"role": "user", "content": prompt}], | |
| max_tokens=200, | |
| ) | |
| prompt = response.choices[0].message.content | |
| for audio_chunk in tts_model.stream_tts_sync(prompt): | |
| yield audio_chunk | |
| stream = Stream(ReplyOnPause(echo), modality="audio", mode="send-receive") | |
| stream.ui.launch() | |