Compare commits

..

No commits in common. "baab95660b8b066732576f5e5747d456192d0e6e" and "c8fa61e0c3f1cac13dcd83255e159816a58a74a6" have entirely different histories.

3 changed files with 4 additions and 25 deletions

2
.gitignore vendored
View File

@ -1,4 +1,2 @@
**/.venv/ **/.venv/
**/__pycache__/ **/__pycache__/
**/audio
*.mp3

View File

@ -1,7 +1,5 @@
from openai import OpenAI from openai import OpenAI
from fastapi import FastAPI, File, Response, Request from fastapi import FastAPI, File, Response, Request
from fastapi.middleware.cors import CORSMiddleware
from fastapi.responses import FileResponse
from pydantic import BaseModel from pydantic import BaseModel
import whisper import whisper
@ -10,13 +8,6 @@ app = FastAPI()
openAI_clinet = OpenAI() openAI_clinet = OpenAI()
model = whisper.load_model("base") model = whisper.load_model("base")
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["*"],
allow_headers=["*"],
)
class ConversationMessege(BaseModel): class ConversationMessege(BaseModel):
role: str role: str
@ -29,6 +20,7 @@ class Conversation(BaseModel):
@app.post("/get-text") @app.post("/get-text")
def get_text(response: Response, audio: bytes = File()): def get_text(response: Response, audio: bytes = File()):
response.headers["Access-Control-Allow-Origin"] = "*"
with open("audio", "wb") as f: with open("audio", "wb") as f:
f.write(audio) f.write(audio)
# transcript = openAI_clinet.audio.transcriptions.create( # transcript = openAI_clinet.audio.transcriptions.create(
@ -44,8 +36,9 @@ def get_text(response: Response, audio: bytes = File()):
@app.post("/conversation") @app.post("/conversation")
async def get_next_response(request: Request, response: Response): async def get_next_response(request: Request, response: Response):
# role = "test" response.headers["Access-Control-Allow-Origin"] = "*"
# res_msg = "temp test response" #role = "test"
#res_msg = "temp test response"
messages = await request.json() messages = await request.json()
res = openAI_clinet.chat.completions.create( res = openAI_clinet.chat.completions.create(
model="gpt-3.5-turbo", model="gpt-3.5-turbo",
@ -56,15 +49,3 @@ async def get_next_response(request: Request, response: Response):
print(messages) print(messages)
print(res_msg) print(res_msg)
return {"role": role, "content": res_msg} return {"role": role, "content": res_msg}
@app.post("/speak", response_class=FileResponse)
def tts(text: str, response: Response):
res = openAI_clinet.audio.speech.create(
model="tts-1",
voice="nova",
input=text,
)
# this works for now but I need to find a way to stream this to response
res.stream_to_file("tts.mp3")
return "tts.mp3"

BIN
speech-speech/backend/audio Normal file

Binary file not shown.