feat:新增投顾agent和nl2sqlagent
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
"""面向其他 Agent 的数据查询适配器。"""
|
||||
from __future__ import annotations
|
||||
|
||||
from uuid import uuid4
|
||||
|
||||
from nl2sql.contracts import DataQueryRequest
|
||||
from nl2sql.streaming import stream_query_events
|
||||
from service.nl2sql.query_service import execute_query
|
||||
|
||||
|
||||
class DataQueryAgent:
|
||||
"""只依赖公共查询服务,不直接调用其他 Agent 或基础设施。"""
|
||||
|
||||
async def query(self, request: DataQueryRequest, **dependencies):
|
||||
"""转发查询请求,缺省生成内部查询 ID。"""
|
||||
dependencies.setdefault("query_id", uuid4().hex)
|
||||
return await execute_query(request, **dependencies)
|
||||
|
||||
async def stream(self, request: DataQueryRequest, **dependencies):
|
||||
"""以结构化事件流转发查询,不暴露 SQL、结果行和异常消息。"""
|
||||
dependencies.setdefault("query_id", uuid4().hex)
|
||||
async for event in stream_query_events(
|
||||
request,
|
||||
query_runner=execute_query,
|
||||
**dependencies,
|
||||
):
|
||||
yield event
|
||||
Reference in New Issue
Block a user