Files
Mutual_Fund/agent/data_query/agent.py
T

28 lines
1023 B
Python

"""面向其他 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