wip
This commit is contained in:
@@ -41,7 +41,7 @@ router = APIRouter()
|
||||
@router.get("/config")
|
||||
async def get_config(request: Request, user=Depends(get_admin_user)):
|
||||
return {
|
||||
"enabled": request.app.state.config.ENABLED,
|
||||
"enabled": request.app.state.config.ENABLE_IMAGE_GENERATION,
|
||||
"engine": request.app.state.config.ENGINE,
|
||||
"openai": {
|
||||
"OPENAI_API_BASE_URL": request.app.state.config.OPENAI_API_BASE_URL,
|
||||
@@ -94,7 +94,7 @@ async def update_config(
|
||||
request: Request, form_data: ConfigForm, user=Depends(get_admin_user)
|
||||
):
|
||||
request.app.state.config.ENGINE = form_data.engine
|
||||
request.app.state.config.ENABLED = form_data.enabled
|
||||
request.app.state.config.ENABLE_IMAGE_GENERATION = form_data.enabled
|
||||
|
||||
request.app.state.config.OPENAI_API_BASE_URL = form_data.openai.OPENAI_API_BASE_URL
|
||||
request.app.state.config.OPENAI_API_KEY = form_data.openai.OPENAI_API_KEY
|
||||
@@ -131,7 +131,7 @@ async def update_config(
|
||||
)
|
||||
|
||||
return {
|
||||
"enabled": request.app.state.config.ENABLED,
|
||||
"enabled": request.app.state.config.ENABLE_IMAGE_GENERATION,
|
||||
"engine": request.app.state.config.ENGINE,
|
||||
"openai": {
|
||||
"OPENAI_API_BASE_URL": request.app.state.config.OPENAI_API_BASE_URL,
|
||||
@@ -175,7 +175,7 @@ async def verify_url(request: Request, user=Depends(get_admin_user)):
|
||||
r.raise_for_status()
|
||||
return True
|
||||
except Exception:
|
||||
request.app.state.config.ENABLED = False
|
||||
request.app.state.config.ENABLE_IMAGE_GENERATION = False
|
||||
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.INVALID_URL)
|
||||
elif request.app.state.config.ENGINE == "comfyui":
|
||||
try:
|
||||
@@ -185,7 +185,7 @@ async def verify_url(request: Request, user=Depends(get_admin_user)):
|
||||
r.raise_for_status()
|
||||
return True
|
||||
except Exception:
|
||||
request.app.state.config.ENABLED = False
|
||||
request.app.state.config.ENABLE_IMAGE_GENERATION = False
|
||||
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.INVALID_URL)
|
||||
else:
|
||||
return True
|
||||
@@ -232,7 +232,7 @@ def get_image_model():
|
||||
options = r.json()
|
||||
return options["sd_model_checkpoint"]
|
||||
except Exception as e:
|
||||
request.app.state.config.ENABLED = False
|
||||
request.app.state.config.ENABLE_IMAGE_GENERATION = False
|
||||
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.DEFAULT(e))
|
||||
|
||||
|
||||
@@ -351,7 +351,7 @@ def get_models(request: Request, user=Depends(get_verified_user)):
|
||||
)
|
||||
)
|
||||
except Exception as e:
|
||||
request.app.state.config.ENABLED = False
|
||||
request.app.state.config.ENABLE_IMAGE_GENERATION = False
|
||||
raise HTTPException(status_code=400, detail=ERROR_MESSAGES.DEFAULT(e))
|
||||
|
||||
|
||||
|
||||
@@ -195,12 +195,12 @@ async def get_embedding_config(request: Request, user=Depends(get_admin_user)):
|
||||
"embedding_model": request.app.state.config.RAG_EMBEDDING_MODEL,
|
||||
"embedding_batch_size": request.app.state.config.RAG_EMBEDDING_BATCH_SIZE,
|
||||
"openai_config": {
|
||||
"url": request.app.state.config.OPENAI_API_BASE_URL,
|
||||
"key": request.app.state.config.OPENAI_API_KEY,
|
||||
"url": request.app.state.config.RAG_OPENAI_API_BASE_URL,
|
||||
"key": request.app.state.config.RAG_OPENAI_API_KEY,
|
||||
},
|
||||
"ollama_config": {
|
||||
"url": request.app.state.config.OLLAMA_BASE_URL,
|
||||
"key": request.app.state.config.OLLAMA_API_KEY,
|
||||
"url": request.app.state.config.RAG_OLLAMA_BASE_URL,
|
||||
"key": request.app.state.config.RAG_OLLAMA_API_KEY,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -244,14 +244,20 @@ async def update_embedding_config(
|
||||
|
||||
if request.app.state.config.RAG_EMBEDDING_ENGINE in ["ollama", "openai"]:
|
||||
if form_data.openai_config is not None:
|
||||
request.app.state.config.OPENAI_API_BASE_URL = (
|
||||
request.app.state.config.RAG_OPENAI_API_BASE_URL = (
|
||||
form_data.openai_config.url
|
||||
)
|
||||
request.app.state.config.OPENAI_API_KEY = form_data.openai_config.key
|
||||
request.app.state.config.RAG_OPENAI_API_KEY = (
|
||||
form_data.openai_config.key
|
||||
)
|
||||
|
||||
if form_data.ollama_config is not None:
|
||||
request.app.state.config.OLLAMA_BASE_URL = form_data.ollama_config.url
|
||||
request.app.state.config.OLLAMA_API_KEY = form_data.ollama_config.key
|
||||
request.app.state.config.RAG_OLLAMA_BASE_URL = (
|
||||
form_data.ollama_config.url
|
||||
)
|
||||
request.app.state.config.RAG_OLLAMA_API_KEY = (
|
||||
form_data.ollama_config.key
|
||||
)
|
||||
|
||||
request.app.state.config.RAG_EMBEDDING_BATCH_SIZE = (
|
||||
form_data.embedding_batch_size
|
||||
@@ -267,14 +273,14 @@ async def update_embedding_config(
|
||||
request.app.state.config.RAG_EMBEDDING_MODEL,
|
||||
request.app.state.ef,
|
||||
(
|
||||
request.app.state.config.OPENAI_API_BASE_URL
|
||||
request.app.state.config.RAG_OPENAI_API_BASE_URL
|
||||
if request.app.state.config.RAG_EMBEDDING_ENGINE == "openai"
|
||||
else request.app.state.config.OLLAMA_BASE_URL
|
||||
else request.app.state.config.RAG_OLLAMA_BASE_URL
|
||||
),
|
||||
(
|
||||
request.app.state.config.OPENAI_API_KEY
|
||||
request.app.state.config.RAG_OPENAI_API_KEY
|
||||
if request.app.state.config.RAG_EMBEDDING_ENGINE == "openai"
|
||||
else request.app.state.config.OLLAMA_API_KEY
|
||||
else request.app.state.config.RAG_OLLAMA_API_KEY
|
||||
),
|
||||
request.app.state.config.RAG_EMBEDDING_BATCH_SIZE,
|
||||
)
|
||||
@@ -285,12 +291,12 @@ async def update_embedding_config(
|
||||
"embedding_model": request.app.state.config.RAG_EMBEDDING_MODEL,
|
||||
"embedding_batch_size": request.app.state.config.RAG_EMBEDDING_BATCH_SIZE,
|
||||
"openai_config": {
|
||||
"url": request.app.state.config.OPENAI_API_BASE_URL,
|
||||
"key": request.app.state.config.OPENAI_API_KEY,
|
||||
"url": request.app.state.config.RAG_OPENAI_API_BASE_URL,
|
||||
"key": request.app.state.config.RAG_OPENAI_API_KEY,
|
||||
},
|
||||
"ollama_config": {
|
||||
"url": request.app.state.config.OLLAMA_BASE_URL,
|
||||
"key": request.app.state.config.OLLAMA_API_KEY,
|
||||
"url": request.app.state.config.RAG_OLLAMA_BASE_URL,
|
||||
"key": request.app.state.config.RAG_OLLAMA_API_KEY,
|
||||
},
|
||||
}
|
||||
except Exception as e:
|
||||
@@ -747,14 +753,14 @@ def save_docs_to_vector_db(
|
||||
request.app.state.config.RAG_EMBEDDING_MODEL,
|
||||
request.app.state.ef,
|
||||
(
|
||||
request.app.state.config.OPENAI_API_BASE_URL
|
||||
request.app.state.config.RAG_OPENAI_API_BASE_URL
|
||||
if request.app.state.config.RAG_EMBEDDING_ENGINE == "openai"
|
||||
else request.app.state.config.OLLAMA_BASE_URL
|
||||
else request.app.state.config.RAG_OLLAMA_BASE_URL
|
||||
),
|
||||
(
|
||||
request.app.state.config.OPENAI_API_KEY
|
||||
request.app.state.config.RAG_OPENAI_API_KEY
|
||||
if request.app.state.config.RAG_EMBEDDING_ENGINE == "openai"
|
||||
else request.app.state.config.OLLAMA_API_KEY
|
||||
else request.app.state.config.RAG_OLLAMA_API_KEY
|
||||
),
|
||||
request.app.state.config.RAG_EMBEDDING_BATCH_SIZE,
|
||||
)
|
||||
|
||||
@@ -5,7 +5,7 @@ from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
import logging
|
||||
|
||||
|
||||
from open_webui.utils.chat import generate_chat_completion
|
||||
from open_webui.utils.task import (
|
||||
title_generation_template,
|
||||
query_generation_template,
|
||||
@@ -193,7 +193,7 @@ Artificial Intelligence in Healthcare
|
||||
|
||||
# Handle pipeline filters
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -208,7 +208,7 @@ Artificial Intelligence in Healthcare
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
|
||||
@router.post("/tags/completions")
|
||||
@@ -282,7 +282,7 @@ JSON format: { "tags": ["tag1", "tag2", "tag3"] }
|
||||
|
||||
# Handle pipeline filters
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -297,7 +297,7 @@ JSON format: { "tags": ["tag1", "tag2", "tag3"] }
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
|
||||
@router.post("/queries/completions")
|
||||
@@ -363,7 +363,7 @@ async def generate_queries(
|
||||
|
||||
# Handle pipeline filters
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -378,7 +378,7 @@ async def generate_queries(
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
|
||||
@router.post("/auto/completions")
|
||||
@@ -449,7 +449,7 @@ async def generate_autocompletion(
|
||||
|
||||
# Handle pipeline filters
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -464,7 +464,7 @@ async def generate_autocompletion(
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
|
||||
@router.post("/emoji/completions")
|
||||
@@ -523,7 +523,7 @@ Message: """{{prompt}}"""
|
||||
|
||||
# Handle pipeline filters
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -538,7 +538,7 @@ Message: """{{prompt}}"""
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
|
||||
@router.post("/moa/completions")
|
||||
@@ -590,7 +590,7 @@ Responses from models: {{responses}}"""
|
||||
}
|
||||
|
||||
try:
|
||||
payload = process_pipeline_inlet_filter(payload, user, models)
|
||||
payload = process_pipeline_inlet_filter(request, payload, user, models)
|
||||
except Exception as e:
|
||||
if len(e.args) > 1:
|
||||
return JSONResponse(
|
||||
@@ -605,4 +605,4 @@ Responses from models: {{responses}}"""
|
||||
if "chat_id" in payload:
|
||||
del payload["chat_id"]
|
||||
|
||||
return await generate_chat_completions(form_data=payload, user=user)
|
||||
return await generate_chat_completion(request, form_data=payload, user=user)
|
||||
|
||||
Reference in New Issue
Block a user