Spaces:
Build error
Build error
| from fastapi import FastAPI | |
| from pydantic import BaseModel | |
| from src.models.openai_llm import run_query | |
| from src.models.openai_stt import speech_to_text | |
| from src.models.openai_tts import text_to_speech | |
| import yaml | |
| from openai import OpenAI | |
| import uvicorn | |
| from fastapi import FastAPI, File, UploadFile | |
| import io | |
| import aiofiles | |
| app = FastAPI() | |
| # read LLM config file | |
| with open("conf/train_llm.yaml", "r") as file_in: | |
| cfg = yaml.safe_load(file_in) | |
| # read system message | |
| # TODO: download from wandb | |
| with open("data/system_template.txt", "r") as file_in: | |
| system_message = file_in.read() | |
| # read STT config file | |
| with open("conf/speech_to_text.yaml", "r") as file_in: | |
| cfg_stt = yaml.safe_load(file_in) | |
| # init client | |
| openai_client = OpenAI() | |
| def root(): | |
| return "welcome" | |
| def llm_query(llm_query: str): | |
| res = run_query( | |
| query=llm_query, | |
| openai_params=cfg["openai_parameters"], | |
| system_message=system_message, | |
| client=openai_client, | |
| ) | |
| return res | |
| def stt_query(audio_file: UploadFile): | |
| contents = audio_file.file.read() | |
| buffer = io.BytesIO(contents) | |
| buffer.name = "file.mp3" | |
| return speech_to_text( | |
| audio=buffer, | |
| openai_client=openai_client, | |
| configuration=cfg_stt["openai_parameters"], | |
| ) | |
| def tts_query(input_text: str): | |
| output_path = text_to_speech(client=openai_client, input=input_text) | |
| return output_path | |