Skip to content
Andrew9603Public

About

Text2SQL application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Olist Agentic RAG Text2SQL

基于 Olist 真实电商业务数据库构建的可控 Text2SQL 项目。Olist 本身不是 Text2SQL 标注数据集;本项目在其上构建语义层、检索和 SQL 安全边界。

当前第一批已实现 Phase 1–5,使用说明见 backend/README.md。

启动

后端:

cd backend
uvicorn app.main:app --reload

前端:

cd frontend
npm install
npm run dev

Phase 13: Role-aware SQL Guardrail

右上角身份选择器支持 Viewer / Analyst / Finance / Admin。角色会随普通请求通过 X-User-Role、X-User-Id Header 传递,SSE 则通过 role、user_id query 参数传递。 这是轻量演示身份,不是登录系统;真正的表级、字段级和输出级校验由后端 SQLGlot Guardrail 强制执行。

curl -X POST http://127.0.0.1:8000/api/query \
  -H "Content-Type: application/json" \
  -H "X-User-Role: analyst" \
  -H "X-User-Id: demo_user" \
  -d '{"question":"信用卡支付下销售额最高的商品类别是什么?","mode":"mock"}'

curl -N "http://127.0.0.1:8000/api/query/stream?question=每月订单量趋势&mode=mock&role=analyst&user_id=demo_user"

Phase 15 Evaluation Commands

python -m app.eval.validate_eval_sets --eval-dir backend/eval_data --role analyst
python -m app.eval.evaluator --suite official --provider mock
python -m app.eval.evaluator --suite permission --provider mock
python -m app.eval.evaluator --suite retrieval
python -m app.eval.evaluator --suite all --provider mock
python -m app.eval.evaluator --suite official --provider llm --limit 20
python -m app.eval.evaluator --ablation all --limit 20

The official suite is the reviewed main benchmark. The stress suite is generated pressure data and should be reported separately.

About

Text2SQL application

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages