袁聪的第一次提交,包含nl2sql,行情数据,场外申购
This commit is contained in:
@@ -88,13 +88,27 @@ class ToolExecutor:
|
||||
record = ToolCallRecord(
|
||||
tool_name=name, status="succeeded",
|
||||
input_summary={key: "[redacted]" for key in arguments},
|
||||
output_summary={"result_type": type(output).__name__},
|
||||
output_summary=self._output_summary(output),
|
||||
)
|
||||
await self._audit(name, intent, context, "succeeded", "ok")
|
||||
reference = SourceReference(source_type="tool", source_id=f"{context.trace_id}:{name}",
|
||||
title=name)
|
||||
return ToolExecution(output=output, record=record, references=(reference,))
|
||||
|
||||
@staticmethod
|
||||
def _output_summary(output: Any) -> dict[str, Any]:
|
||||
summary: dict[str, Any] = {"result_type": type(output).__name__}
|
||||
if not isinstance(output, dict):
|
||||
return summary
|
||||
summary["status"] = output.get("status")
|
||||
audit = output.get("audit")
|
||||
if isinstance(audit, dict):
|
||||
summary["query_plan"] = audit.get("query_plan")
|
||||
summary["generated_sql"] = audit.get("generated_sql")
|
||||
summary["permission_check"] = audit.get("permission_check")
|
||||
summary["execution"] = audit.get("execution")
|
||||
return summary
|
||||
|
||||
async def _audit(
|
||||
self, name: str, intent: str, context: RequestContext, status: str, reason: str
|
||||
) -> None:
|
||||
|
||||
Reference in New Issue
Block a user