Conversational AI Agent for building AskTable demo scenarios
Project description
AskTable Advisor - AI场景构建助手
AskTable Advisor 是一个对话式 AI Agent,专门帮助用户快速创建和管理高质量的 AskTable 演示项目。
🎯 核心特点
💬 对话式交互
- 自然语言沟通,无需记忆复杂命令
- Agent 主动询问细节,引导场景构建
- 多轮对话,循序渐进完成任务
🤖 AI 驱动
- 使用阿里云百炼 qwen3-max 模型
- 自动设计数据库结构
- 生成真实感的业务数据
- 智能配置 AskTable 资源
⚡ 一站式构建
只需一句话:"创建一个电商平台的演示场景",Agent 自动完成:
- 📊 设计数据库表结构
- 💾 生成虚拟业务数据
- 🗄️ 创建数据库和导入数据
- 🔗 创建 AskTable Datasource
- 🤖 配置智能 Bot(包含业务知识和示例问题)
- 💬 创建演示 Chat
- 🔐 配置权限管理(可选)
快速开始
1. 安装
方式 1:使用 uv(推荐)
cd asktable-advisor
# 安装 uv(如果还没有)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 一键设置(创建虚拟环境 + 安装依赖)
./scripts/setup.sh
# 或手动设置
uv venv
source .venv/bin/activate # Linux/Mac
uv pip install -e .
方式 2:使用 pip
cd asktable-advisor
pip install -e .
2. 配置
复制 .env.example 到 .env 并填入配置:
# AskTable API
ASKTABLE_API_KEY=your_api_key_here
ASKTABLE_API_BASE=https://api.asktable.com
# LLM API(阿里云百炼)
ANTHROPIC_BASE_URL=https://dashscope.aliyuncs.com/apps/anthropic
ANTHROPIC_API_KEY=your_dashscope_api_key_here
# MySQL 数据库
MYSQL_HOST=mysql8.test.dminfra.cn
MYSQL_PORT=3006
MYSQL_USER=at_admin
MYSQL_PASSWORD=2546b7c367e4be0045369fdF
MYSQL_DATABASE=asktable_advisor
3. 启动对话
python -m asktable_advisor
使用示例
示例 1:创建新场景
你: 创建一个在线教育平台的演示场景
Advisor: 好的!让我帮你创建在线教育平台场景。
为了生成更贴合需求的方案,请告诉我:
1. 平台规模:小型(< 1000学生)/ 中型(1-5万)/ 大型(> 5万)
2. 核心业务:需要包含哪些模块?
- 课程管理 ✓(默认包含)
- 学生管理 ✓(默认包含)
- 在线支付?
- 作业/考试系统?
你: 中型,包含支付和作业系统
Advisor: 收到!开始创建...
📊 [1/6] 设计数据库结构
✓ 设计完成:8 张表
- students, courses, enrollments, lessons
- assignments, submissions, payments, instructors
💾 [2/6] 生成虚拟数据
✓ 生成 20,000 名学生
✓ 生成 150 门课程
✓ 生成 45,000 条选课记录
...
🎉 场景创建完成!
示例 2:查看现有场景
你: 看看我现在有哪些场景
Advisor: 正在检查你的 AskTable 项目...
发现 2 个场景:
📚 1. 在线教育平台
└─ Datasource: edu_platform (8 张表, 128,000 行数据)
└─ Bot: 教育数据分析师 (20 个示例问题)
└─ Chats: 1 个演示对话
🛒 2. 电商数据分析
└─ Datasource: ecommerce_db (7 张表, 61,000 行数据)
└─ Bot: 电商分析师 (15 个示例问题)
└─ Chats: 2 个对话
示例 3:增强场景
你: 给教育平台的 Bot 增加一些权限相关的示例
Advisor: 好主意!为"教育数据分析师"Bot 添加权限示例。
我将创建 3 个角色:
• 平台管理员(全部数据)
• 教师(只能看自己的课程)
• 学生(只能看自己的学习数据)
开始配置...
✓ 完成!已添加:
• 3 个 Role 配置
• 8 条 Policy 规则
• 12 个权限相关示例问题
项目结构
asktable_advisor/ # 新架构
├── __init__.py
├── __main__.py # CLI 入口
├── config.py # 配置管理
│
├── agent/ # AI Agent 核心
│ ├── advisor.py # 主 Agent(对话 + 工具执行)
│ ├── llm_client.py # LLM 客户端(qwen3-max)
│ ├── tools.py # Agent 工具定义
│ └── prompts.py # System prompts
│
├── asktable/ # AskTable API 封装
│ ├── client.py # AskTable 客户端
│ ├── inspector.py # 项目检查器
│ └── resources/ # 资源管理模块
│
├── database/ # 数据库管理
│ ├── manager.py # 数据库连接管理
│ ├── schema_generator.py # LLM 生成 Schema
│ └── data_generator.py # LLM 生成数据
│
└── utils/ # 工具函数
└── console.py # Rich console
Agent 工具
Advisor 可以使用以下工具:
- inspect_asktable_project - 检查项目现有资源
- design_database_schema - AI 设计数据库结构
- generate_sample_data - AI 生成真实感数据
- execute_sql - 执行 SQL 语句
- create_asktable_datasource - 创建数据源
- create_asktable_bot - 创建智能 Bot
- create_asktable_chat - 创建演示对话
- enhance_bot - 增强现有 Bot
- create_permissions - 配置权限(占位)
技术栈
- LLM: 阿里云百炼 qwen3-max(通过 Anthropic 兼容接口)
- AskTable SDK: Python SDK for AskTable API
- Database: MySQL with SQLAlchemy
- CLI: Rich library for beautiful terminal output
- Configuration: Pydantic Settings
开发
代码格式化
black asktable_advisor/
ruff check --fix asktable_advisor/
运行测试
pytest
License
见 LICENSE 文件
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
asktable_advisor-1.4.0.tar.gz
(66.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asktable_advisor-1.4.0.tar.gz.
File metadata
- Download URL: asktable_advisor-1.4.0.tar.gz
- Upload date:
- Size: 66.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3d11babac95ebdf49c37dea2f6f74bf72f8efaca41fb2076eafa37cb617c26e
|
|
| MD5 |
66c7068c880cbca7ec115bd3e9b2b660
|
|
| BLAKE2b-256 |
0c5fd4b21ebdbfb502e7279d0ee0647ac8851bff18514921384c7dafed23b289
|
File details
Details for the file asktable_advisor-1.4.0-py3-none-any.whl.
File metadata
- Download URL: asktable_advisor-1.4.0-py3-none-any.whl
- Upload date:
- Size: 68.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a45e793943cc2de71432f3dd8e9844f5ae69b30da886fb8dc7810874bd35497
|
|
| MD5 |
bf69ca72851edeec2b86a513cc1832a9
|
|
| BLAKE2b-256 |
5ee39e816a593834b9e86d213c1870c9eb5fc3327fd8399660820e6f856f50b2
|