File size: 801 Bytes
7b786dd c3ca602 7b786dd c3ca602 7b786dd c3ca602 7b786dd 8eef934 29e4c2a 8eef934 be8583c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
import os
from fastrtc import (ReplyOnPause, Stream, get_stt_model, get_tts_model)
from openai import OpenAI
sambanova_client = OpenAI(
api_key=os.getenv("key"), base_url="https://api.deepinfra.com/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="mistralai/Mistral-Small-24B-Instruct-2501",
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(
handler=...,
rtc_configuration=get_cloudflare_turn_credentials,
modality="audio",
mode="send-receive"
)
stream.fastphone() |