Skip to main content

sql-analysis

Operate ai-data-science-team SQL database querying, metadata inspection, read-only SQL safety, and SQLDatabaseAgent workflows.

설치로 이동

소스 정보

저장소
VectorSpaceLab/AREX-Skill
최근 소스 활동
2026년 8월 26일 16:31
감지된 SKILL.md 언어
영어
스타
12
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
6 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
sql-analysis
description
Operate ai-data-science-team SQL database querying, metadata inspection, read-only SQL safety, and SQLDatabaseAgent workflows.
disable-model-invocation
true
metadata
{"disco-role":"operating"}
license
MIT
# SQL Analysis 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. ## Route here for - SQLAlchemy engine or connection setup for a database that will be queried by `SQLDatabaseAgent`. - Metadata summaries with `ai_data_science_team.tools.sql.get_database_metadata`. - Natural-language-to-SQL workflows where the caller supplies an already configured LLM object. - Checking that generated SQL is read-only with the package's `_validate_sql` implementation or the bundled smoke script. - Interpreting `SQLDatabaseAgent` response fields such as `sql_query_code`, `data_sql`, `sql_database_function`, and `sql_database_error`. ## Route away - For `SQLDataAnalyst` composition, supervisor workflows, or Streamlit app launching, use the sibling `multiagent-and-app-workflows` sub-skill. - For charting or Plotly visualization of SQL results, use the sibling `dataframe-code-agents` sub-skill after converting the SQL result dict to a DataFrame. - For file loading, direct DataFrame EDA, or optional EDA reports, use the sibling `data-access-and-eda` sub-skill. - For H2O AutoML, model evaluation, or MLflow tools, use the sibling `modeling-and-mlflow` sub-skill. ## Safe operating defaults 1. Use a read-only database account or a disposable database copy whenever possible. 2. Keep `safe_mode=True` unless the user explicitly accepts the risk and the database account itself is read-only. 3. Start with `n_samples=1` for metadata; increase only when sample values are necessary and safe to share. 4. Do not launch Streamlit apps, call external LLM providers, download data, or write generated SQL logs unless the user asked for that side effect. 5. Redact hostnames, database names, usernames, and connection URLs before sharing metadata or logs outside the local task. ## Core workflow ```python 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](references/workflows.md#metadata-only-no-llm-call). ## References and bundled checks - [API reference](references/api-reference.md): signatures, imports, response fields, and public/private boundary notes. - [Workflows](references/workflows.md): metadata-only inspection, direct agent use, factory graph use, large-schema handling, and app-derived cues. - [SQL safety and metadata](references/sql-safety-and-metadata.md): what `_validate_sql` does and does not guarantee, and how metadata is sampled. - [Troubleshooting](references/troubleshooting.md): symptom/cause/recovery table for imports, validation, token pressure, connection errors, and app/provider issues. - [Smoke script](scripts/smoke_sql_safety.py): local in-memory SQLite metadata and read-only safety check with no LLM call or external service.
GitHub에서 보기