技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
sql-analysis【数据与研究】Operate ai-data-science-team SQL database querying, metadata inspection, read-only SQL safety, and SQLDatabaseAgent workflows.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the task is to query a SQL database with ai-data-science-team, summarize database metadata, validate generated SQL for read-only safety, or operate SQLDatabaseAgent / make_sql_database_agent directly.
SQLDatabaseAgent.ai_data_science_team.tools.sql.get_database_metadata._validate_sql implementation or the bundled smoke script.SQLDatabaseAgent response fields such as sql_query_code, data_sql, sql_database_function, and sql_database_error.SQLDataAnalyst composition, supervisor workflows, or Streamlit app launching, use the sibling multiagent-and-app-workflows sub-skill.dataframe-code-agents sub-skill after converting the SQL result dict to a DataFrame.data-access-and-eda sub-skill.modeling-and-mlflow sub-skill.safe_mode=True unless the user explicitly accepts the risk and the database account itself is read-only.n_samples=1 for metadata; increase only when sample values are necessary and safe to share.import pandas as pd
import sqlalchemy as sql
from ai_data_science_team.agents import SQLDatabaseAgent
engine = sql.create_engine("sqlite:///example.db")
llm = ... # caller-provided LangChain-compatible chat model
agent = SQLDatabaseAgent(
model=llm,
connection=engine,
n_samples=1,
safe_mode=True,
log=False,
bypass_recommended_steps=True,
bypass_explain_code=True,
)
agent.invoke_agent("Return sales by month for 2024", max_retries=3, retry_count=0)
query = agent.get_sql_query_code()
data = agent.get_data_sql()
frame = pd.DataFrame(data) if isinstance(data, dict) else data
error = agent.get_response().get("sql_database_error") if agent.get_response() else None
If the user only needs schema understanding, avoid LLM calls and use get_database_metadata as shown in workflows.
_validate_sql does and does not guarantee, and how metadata is sampled.