mirror of
https://github.com/open-webui/open-webui.git
synced 2025-12-16 11:57:51 +01:00
feat: switch to config proxy, remove config_get/set
This commit is contained in:
@@ -45,8 +45,7 @@ from config import (
|
||||
AUDIO_OPENAI_API_KEY,
|
||||
AUDIO_OPENAI_API_MODEL,
|
||||
AUDIO_OPENAI_API_VOICE,
|
||||
config_get,
|
||||
config_set,
|
||||
AppConfig,
|
||||
)
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@@ -61,11 +60,11 @@ app.add_middleware(
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
|
||||
app.state.OPENAI_API_BASE_URL = AUDIO_OPENAI_API_BASE_URL
|
||||
app.state.OPENAI_API_KEY = AUDIO_OPENAI_API_KEY
|
||||
app.state.OPENAI_API_MODEL = AUDIO_OPENAI_API_MODEL
|
||||
app.state.OPENAI_API_VOICE = AUDIO_OPENAI_API_VOICE
|
||||
app.state.config = AppConfig()
|
||||
app.state.config.OPENAI_API_BASE_URL = AUDIO_OPENAI_API_BASE_URL
|
||||
app.state.config.OPENAI_API_KEY = AUDIO_OPENAI_API_KEY
|
||||
app.state.config.OPENAI_API_MODEL = AUDIO_OPENAI_API_MODEL
|
||||
app.state.config.OPENAI_API_VOICE = AUDIO_OPENAI_API_VOICE
|
||||
|
||||
# setting device type for whisper model
|
||||
whisper_device_type = DEVICE_TYPE if DEVICE_TYPE and DEVICE_TYPE == "cuda" else "cpu"
|
||||
@@ -85,10 +84,10 @@ class OpenAIConfigUpdateForm(BaseModel):
|
||||
@app.get("/config")
|
||||
async def get_openai_config(user=Depends(get_admin_user)):
|
||||
return {
|
||||
"OPENAI_API_BASE_URL": config_get(app.state.OPENAI_API_BASE_URL),
|
||||
"OPENAI_API_KEY": config_get(app.state.OPENAI_API_KEY),
|
||||
"OPENAI_API_MODEL": config_get(app.state.OPENAI_API_MODEL),
|
||||
"OPENAI_API_VOICE": config_get(app.state.OPENAI_API_VOICE),
|
||||
"OPENAI_API_BASE_URL": app.state.config.OPENAI_API_BASE_URL,
|
||||
"OPENAI_API_KEY": app.state.config.OPENAI_API_KEY,
|
||||
"OPENAI_API_MODEL": app.state.config.OPENAI_API_MODEL,
|
||||
"OPENAI_API_VOICE": app.state.config.OPENAI_API_VOICE,
|
||||
}
|
||||
|
||||
|
||||
@@ -99,22 +98,17 @@ async def update_openai_config(
|
||||
if form_data.key == "":
|
||||
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.API_KEY_NOT_FOUND)
|
||||
|
||||
config_set(app.state.OPENAI_API_BASE_URL, form_data.url)
|
||||
config_set(app.state.OPENAI_API_KEY, form_data.key)
|
||||
config_set(app.state.OPENAI_API_MODEL, form_data.model)
|
||||
config_set(app.state.OPENAI_API_VOICE, form_data.speaker)
|
||||
|
||||
app.state.OPENAI_API_BASE_URL.save()
|
||||
app.state.OPENAI_API_KEY.save()
|
||||
app.state.OPENAI_API_MODEL.save()
|
||||
app.state.OPENAI_API_VOICE.save()
|
||||
app.state.config.OPENAI_API_BASE_URL = form_data.url
|
||||
app.state.config.OPENAI_API_KEY = form_data.key
|
||||
app.state.config.OPENAI_API_MODEL = form_data.model
|
||||
app.state.config.OPENAI_API_VOICE = form_data.speaker
|
||||
|
||||
return {
|
||||
"status": True,
|
||||
"OPENAI_API_BASE_URL": config_get(app.state.OPENAI_API_BASE_URL),
|
||||
"OPENAI_API_KEY": config_get(app.state.OPENAI_API_KEY),
|
||||
"OPENAI_API_MODEL": config_get(app.state.OPENAI_API_MODEL),
|
||||
"OPENAI_API_VOICE": config_get(app.state.OPENAI_API_VOICE),
|
||||
"OPENAI_API_BASE_URL": app.state.config.OPENAI_API_BASE_URL,
|
||||
"OPENAI_API_KEY": app.state.config.OPENAI_API_KEY,
|
||||
"OPENAI_API_MODEL": app.state.config.OPENAI_API_MODEL,
|
||||
"OPENAI_API_VOICE": app.state.config.OPENAI_API_VOICE,
|
||||
}
|
||||
|
||||
|
||||
@@ -131,13 +125,13 @@ async def speech(request: Request, user=Depends(get_verified_user)):
|
||||
return FileResponse(file_path)
|
||||
|
||||
headers = {}
|
||||
headers["Authorization"] = f"Bearer {app.state.OPENAI_API_KEY}"
|
||||
headers["Authorization"] = f"Bearer {app.state.config.OPENAI_API_KEY}"
|
||||
headers["Content-Type"] = "application/json"
|
||||
|
||||
r = None
|
||||
try:
|
||||
r = requests.post(
|
||||
url=f"{app.state.OPENAI_API_BASE_URL}/audio/speech",
|
||||
url=f"{app.state.config.OPENAI_API_BASE_URL}/audio/speech",
|
||||
data=body,
|
||||
headers=headers,
|
||||
stream=True,
|
||||
|
||||
Reference in New Issue
Block a user