mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-26 12:04:39 +00:00
chore: Merge latest code
This commit is contained in:
@@ -133,7 +133,10 @@ async def create(
|
||||
Returns:
|
||||
ServerResponse: The response
|
||||
"""
|
||||
return Result.succ(service.create_and_save_dag(request))
|
||||
res = await blocking_func_to_async(
|
||||
global_system_app, service.create_and_save_dag, request
|
||||
)
|
||||
return Result.succ(res)
|
||||
|
||||
|
||||
@router.put(
|
||||
@@ -154,7 +157,10 @@ async def update(
|
||||
ServerResponse: The response
|
||||
"""
|
||||
try:
|
||||
return Result.succ(service.update_flow(request))
|
||||
res = await blocking_func_to_async(
|
||||
global_system_app, service.update_flow, request
|
||||
)
|
||||
return Result.succ(res)
|
||||
except Exception as e:
|
||||
return Result.failed(msg=str(e))
|
||||
|
||||
@@ -176,9 +182,7 @@ async def delete(
|
||||
|
||||
|
||||
@router.get("/flows/{uid}")
|
||||
async def get_flows(
|
||||
uid: str, service: Service = Depends(get_service)
|
||||
) -> Result[ServerResponse]:
|
||||
async def get_flows(uid: str, service: Service = Depends(get_service)):
|
||||
"""Get a Flow entity by uid
|
||||
|
||||
Args:
|
||||
@@ -191,7 +195,7 @@ async def get_flows(
|
||||
flow = service.get({"uid": uid})
|
||||
if not flow:
|
||||
raise HTTPException(status_code=404, detail=f"Flow {uid} not found")
|
||||
return Result.succ(flow)
|
||||
return Result.succ(flow.model_dump())
|
||||
|
||||
|
||||
@router.get(
|
||||
@@ -467,7 +471,10 @@ async def import_flow(
|
||||
status_code=400, detail=f"invalid file extension {file_extension}"
|
||||
)
|
||||
if save_flow:
|
||||
return Result.succ(service.create_and_save_dag(flow))
|
||||
res = await blocking_func_to_async(
|
||||
global_system_app, service.create_and_save_dag, flow
|
||||
)
|
||||
return Result.succ(res)
|
||||
else:
|
||||
return Result.succ(flow)
|
||||
|
||||
|
@@ -27,7 +27,7 @@ from dbgpt.core.schema.api import (
|
||||
ChatCompletionStreamResponse,
|
||||
DeltaMessage,
|
||||
)
|
||||
from dbgpt.serve.core import BaseService
|
||||
from dbgpt.serve.core import BaseService, blocking_func_to_async
|
||||
from dbgpt.storage.metadata import BaseDao
|
||||
from dbgpt.storage.metadata._base_dao import QUERY_SPEC
|
||||
from dbgpt.util.dbgpts.loader import DBGPTsLoader
|
||||
@@ -590,7 +590,11 @@ class Service(BaseService[ServeEntity, ServeRequest, ServerResponse]):
|
||||
"""
|
||||
from dbgpt.core.awel.dag.dag_manager import DAGMetadata, _parse_metadata
|
||||
|
||||
dag = self._flow_factory.build(request.flow)
|
||||
dag = await blocking_func_to_async(
|
||||
self._system_app,
|
||||
self._flow_factory.build,
|
||||
request.flow,
|
||||
)
|
||||
leaf_nodes = dag.leaf_nodes
|
||||
if len(leaf_nodes) != 1:
|
||||
raise ValueError("Chat Flow just support one leaf node in dag")
|
||||
|
Reference in New Issue
Block a user