feat:新增投顾agent和nl2sqlagent
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
"""NL2SQL 查询结果的基础 Markdown 渲染。"""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Any
|
||||
|
||||
|
||||
def _cell(value: Any) -> str:
|
||||
"""将单元格转换为不会破坏 Markdown 表格的文本。"""
|
||||
if value is None:
|
||||
return ""
|
||||
return str(value).replace("|", "\\|").replace("\r", " ").replace("\n", " ")
|
||||
|
||||
|
||||
def render_markdown(columns: list[str], rows: list[dict[str, Any]]) -> str:
|
||||
"""将列和行渲染成 Markdown 表格,空结果返回固定提示。"""
|
||||
if not rows:
|
||||
return "暂无数据。"
|
||||
header = "| " + " | ".join(_cell(column) for column in columns) + " |"
|
||||
divider = "| " + " | ".join("---" for _ in columns) + " |"
|
||||
body = [
|
||||
"| " + " | ".join(_cell(row.get(column)) for column in columns) + " |"
|
||||
for row in rows
|
||||
]
|
||||
return "\n".join([header, divider, *body])
|
||||
Reference in New Issue
Block a user