Skip to main content

Conversational AI Agent for building AskTable demo scenarios

Project description

AskTable Advisor - AI场景构建助手

AskTable Advisor 是一个对话式 AI Agent,专门帮助用户快速创建和管理高质量的 AskTable 演示项目。

🎯 核心特点

💬 对话式交互

  • 自然语言沟通,无需记忆复杂命令
  • Agent 主动询问细节,引导场景构建
  • 多轮对话,循序渐进完成任务

🤖 AI 驱动

  • 使用阿里云百炼 qwen3-max 模型
  • 自动设计数据库结构
  • 生成真实感的业务数据
  • 智能配置 AskTable 资源

⚡ 一站式构建

只需一句话:"创建一个电商平台的演示场景",Agent 自动完成:

  1. 📊 设计数据库表结构
  2. 💾 生成虚拟业务数据
  3. 🗄️ 创建数据库和导入数据
  4. 🔗 创建 AskTable Datasource
  5. 🤖 配置智能 Bot(包含业务知识和示例问题)
  6. 💬 创建演示 Chat
  7. 🔐 配置权限管理(可选)

快速开始

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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asktable_advisor-1.4.0-py3-none-any.whl (68.8 kB view details)

Uploaded Python 3

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

Hashes for asktable_advisor-1.4.0.tar.gz
Algorithm Hash digest
SHA256 e3d11babac95ebdf49c37dea2f6f74bf72f8efaca41fb2076eafa37cb617c26e
MD5 66c7068c880cbca7ec115bd3e9b2b660
BLAKE2b-256 0c5fd4b21ebdbfb502e7279d0ee0647ac8851bff18514921384c7dafed23b289

See more details on using hashes here.

File details

Details for the file asktable_advisor-1.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for asktable_advisor-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a45e793943cc2de71432f3dd8e9844f5ae69b30da886fb8dc7810874bd35497
MD5 bf69ca72851edeec2b86a513cc1832a9
BLAKE2b-256 5ee39e816a593834b9e86d213c1870c9eb5fc3327fd8399660820e6f856f50b2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page