Semantic Layer + Multi-Agent Analytics Platform
ไธญๆ | English
ๅคๆบ่ฝไฝๅฏน่ฏๅผ BI ๅนณๅฐ โ ่ฏญไนๅฑ + VQR + NL2SQL ไธๅฑ็กฎๅฎๆงๆถๆ๏ผ้่ฟ่ช็ถ่ฏญ่จๅฏน่ฏ่ฟๆฅๅค็งๆฐๆฎๆบ่ฟ่กๆบ่ฝๅๆใ
Agentic Data ๆฏไธไธชๅบไบ AI Agent ็ไผไธ็บงๆฐๆฎๅๆๅนณๅฐ๏ผๆฏๆ็จๆท้่ฟ่ช็ถ่ฏญ่จๆ้ฎ๏ผ่ชๅจ่ทฏ็ฑๅฐๅ้็ๆฐๆฎๆบ๏ผAthena / PostgreSQL / MySQL / Snowflake๏ผ๏ผ็ๆ SQL ๅนถ่ฟๅๅฏ่งๅ็ปๆใ
ๆ ธๅฟ่ฝๅ๏ผ
- ่ช็ถ่ฏญ่จๆฅ่ฏข๏ผ็จไธญๆๆ่ฑๆๆ้ฎ๏ผ่ชๅจ็ๆ SQL ๅนถๆง่ก
- ๅคๆฐๆฎๆบๆฏๆ๏ผAthenaใPostgreSQLใMySQLใSnowflakeใS3
- ๅค Agent ๅไฝ๏ผSupervisor ๆบ่ฝ่ทฏ็ฑ + ไธไธ Sub-Agent ๅนถ่กๅๆ
- ่ฏญไนๅฑ๏ผ้ขๅฎไนๆๆ ใ็ปดๅบฆใๅไน่ฏ๏ผๆๅๆฅ่ฏขๅ็กฎ็
- VQR๏ผVerified Query Repository๏ผ๏ผ้ช่ฏ่ฟ็ SQL ไผๅ ๅน้ ๏ผ้ฟๅ ้ๅค็ๆ
- ๅฎๆถๆตๅผ่พๅบ๏ผSSE ๆจ้ๅๆ่ฟ็จๅ็ปๆ
- ่ชๅจๅฏ่งๅ๏ผๆฅ่ฏข็ปๆ่ชๅจ็ๆ ECharts ๅพ่กจ
- ๅ่ญฆไธ KPI๏ผ่ช็ถ่ฏญ่จ้ ็ฝฎๅ่ญฆ่งๅๅ็ๆฟๆๆ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ALB (HTTPS:443) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ECS Fargate (ARM64) โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ FastAPI (uvicorn) โ โ
โ โ โโโ /api/chat (SSE streaming) โ โ
โ โ โโโ /api/config, /api/cost, /api/data-catalogโ โ
โ โ โโโ Static Web (React SPA) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค โ
โ โ Agentic Core โ โ
โ โ โโโ Supervisor Agent (่ทฏ็ฑ + ็ผๆ) โ โ
โ โ โโโ DataAnalyst Agent (SQL ็ๆ + ๆง่ก) โ โ
โ โ โโโ Orchestrator (direct/parallel/pipeline) โ โ
โ โ โโโ Semantic Layer (ๆๆ /็ปดๅบฆ/ๆจกๆฟ) โ โ
โ โ โโโ VQR (้ช่ฏๆฅ่ฏข็ผๅญ) โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ AWS Services โ
โ โโโ DynamoDB ร 5 (config/chat/cost/events/feedback)โ
โ โโโ S3 (ๆฐๆฎๆน + ๆฅๅๅญๅจ) โ
โ โโโ Athena (ๆฐๆฎๆนๆฅ่ฏข) โ
โ โโโ Bedrock / OpenAI Compatible (LLM) โ
โ โโโ RDS PostgreSQL/MySQL (ๅฏ้) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| ๅฑ็บง | ๆๆฏ |
|---|---|
| ๅ็ซฏ | React (CDN) + ECharts + Leaflet |
| ๅ็ซฏ | Python 3.12 + FastAPI + Uvicorn |
| AI Agent | Strands Agents SDK |
| LLM | Bedrock (Claude) / OpenAI Compatible / SiliconFlow / LiteLLM |
| ๅบ็ก่ฎพๆฝ | AWS CDK (TypeScript) |
| ๅฎนๅจ | ECS Fargate (ARM64) |
| ๅญๅจ | DynamoDB + S3 + Athena |
| ่ฎค่ฏ | Local Auth / Cognito / Authing |
- AWS CLI โ ๅทฒ้ ็ฝฎ credentials ๅ region
- Node.js 18+ โ CDK ๅๅ็ซฏๆๅปบ
- Docker โ ๅฎนๅจ้ๅๆๅปบ
- AWS CDK CLI โ ๅบ็ก่ฎพๆฝ้จ็ฝฒ
# ้ช่ฏ็ฏๅข
aws sts get-caller-identity
node --version # >= 18
docker info
cdk --version # ๅฆๆชๅฎ่ฃ
: npm install -g aws-cdkcd cdk
npm install
npx cdk bootstrapๅฆ้ๆๅฎๅบๅ๏ผ
npx cdk bootstrap aws://<ACCOUNT_ID>/<REGION>
bash deploy.sh่ๆฌไผๅผๅฏผไฝ ้ ็ฝฎ๏ผ
| ้ ็ฝฎ้กน | ่ฏดๆ | ้ป่ฎคๅผ |
|---|---|---|
| Region | ้จ็ฝฒๅบๅ | AWS CLI ้ป่ฎค region |
| Admin ๅฏ็ | ็ฎก็ๅ็ปๅฝๅฏ็ | Admin@2026 |
| ๅฎๅ จ็ป็ฝๅๅ | ALB ๅ ่ฎธ่ฎฟ้ฎ็ IP | 10.0.0.0/8 |
| VPC | ไฝฟ็จๅทฒๆ VPC ๆๆฐๅปบ | ๆฐๅปบ |
| ๆจกๅ | LLM ๆไพๅ้ ็ฝฎ | Global: Bedrock / ไธญๅฝๅบ: ๆๅจ้ ็ฝฎ |
| RDS | ๆฏๅฆๅฏ็จ PostgreSQL | ๅฆ |
cd cdk
npm install
npx cdk deploy \
--parameters AdminPassword=<YOUR_PASSWORD> \
--parameters AllowedCIDRs="1.2.3.4/32" \
--require-approval broadening# ไธญๅฝๅบ + OpenAI ๅ
ผๅฎนๆจกๅ
npx cdk deploy \
-c model_provider=openai \
-c openai_base_url=https://api.siliconflow.cn/v1 \
-c openai_api_key=sk-xxx \
-c openai_model=Pro/Qwen/Qwen2.5-72B-Instruct \
--parameters AdminPassword=<YOUR_PASSWORD> \
--parameters AllowedCIDRs="1.2.3.4/32"
# ไฝฟ็จๅทฒๆ VPC + ๅฏ็จ RDS
npx cdk deploy \
-c vpc_id=vpc-xxx \
-c enable_rds=true \
--parameters AdminPassword=<YOUR_PASSWORD> \
--parameters AllowedCIDRs="1.2.3.4/32"
# ๆๅฎ Bedrock ๅบๅ๏ผๅบ็จๅจ ap-southeast-1๏ผBedrock ๅจ us-east-1๏ผ
npx cdk deploy \
-c bedrock_region=us-east-1 \
--parameters AdminPassword=<YOUR_PASSWORD> \
--parameters AllowedCIDRs="1.2.3.4/32"้จ็ฝฒๅฎๆๅ CDK ่พๅบ๏ผ
Outputs:
AgenticDataStack.ApplicationURL = http://Agenti-ALB-xxxxx.elb.amazonaws.com
AgenticDataStack.AdminUser = admin
AgenticDataStack.ConfigTableName = agentic-data-config
AgenticDataStack.DataBucketName = agenticdatastack-databucket-xxxxx
ๆๅผ ApplicationURL๏ผไฝฟ็จ admin / ไฝ ่ฎพ็ฝฎ็ๅฏ็ ็ปๅฝใ
่ฟๅ ฅ ็ฎก็ๅๅฐ โ ๆจกๅ็ฎก็๏ผๆทปๅ LLM๏ผ
| ๅบๅ | ๆจ่ๆจกๅ |
|---|---|
| Global | Bedrock Claude Sonnet 4.6๏ผ้ป่ฎคๅทฒ้ ็ฝฎ๏ผ |
| ไธญๅฝๅบ | SiliconFlow / ZhipuAI (GLM) / DeepSeek |
่ฟๅ ฅ ็ฎก็ๅๅฐ โ ๆฐๆฎๆบ็ฎก็๏ผๆฏๆ๏ผ
- Athena โ S3 ๆฐๆฎๆนๆฅ่ฏข๏ผ้ๆไพ databaseใtablesใoutput location๏ผ
- PostgreSQL / MySQL โ RDS ๆ่ชๅปบๆฐๆฎๅบ
- Snowflake โ ไบๆฐๆฎไปๅบ
- S3 โ CSV/JSON ๆไปถ็ดๆฅๅๆ
่ฟๅ ฅ ็ฎก็ๅๅฐ โ ่ฏญไนๅฑ๏ผๅฎไน๏ผ
- ๆๆ ๏ผๅฆ"ๆฅไบง้"=
SUM(output_qty) - ็ปดๅบฆ๏ผๅฆ"ๅทฅๅ"=
factory_name - ๅไน่ฏ๏ผๅฆ"ไบง้" โ "ๆฅไบง้"
- ๆฅ่ฏขๆจกๆฟ๏ผ้ขๅฎไนๅธธ็จๆฅ่ฏข็ SQL
# ๅฎ่ฃ
ไพ่ต
pip install -r requirements.txt
# ่ฎพ็ฝฎ็ฏๅขๅ้
export AGENTIC_AUTO_REGION=us-east-1
export AGENTIC_AUTO_CONFIG_TABLE=agentic-data-config
export AGENTIC_AUTO_CHAT_TABLE=agentic-data-chat-history
export AGENTIC_AUTO_COST_TABLE=agentic-data-cost
export AGENTIC_AUTO_EVENTS_TABLE=agentic-data-events
export AGENTIC_AUTO_FEEDBACK_TABLE=agentic-data-feedback
export AGENTIC_AUTO_DATA_BUCKET=your-data-bucket
# ๅฏๅจ
python -m uvicorn api.main:app --host 0.0.0.0 --port 8501 --reload่ฎฟ้ฎ http://localhost:8501
โโโ api/
โ โโโ main.py # FastAPI ๅ
ฅๅฃ (REST + SSE)
โโโ agentic_core/
โ โโโ agents.py # Supervisor + Sub-Agent ๅฎไน
โ โโโ orchestrator.py # ็ผๆๅผๆ (direct/parallel/pipeline/supervisor)
โ โโโ tools.py # Agent ๅทฅๅ
ท (NL2SQL, ่ฏญไนๆฅ่ฏข, ๆฅๅ็ญ)
โ โโโ semantic_layer.py # ่ฏญไนๅฑ (ๆๆ /็ปดๅบฆ/ๆจกๆฟ)
โ โโโ dynamic_context.py # ๅจๆ Prompt ๆๅปบ
โ โโโ vqr.py # Verified Query Repository
โ โโโ db_engine.py # ๅคๆฐๆฎๅบๅผๆๆฝ่ฑก
โ โโโ agent_registry.py # Agent ๅฎไนๆณจๅ
โ โโโ alert_rules.py # ๅ่ญฆ/KPI ่งๅๅผๆ
โ โโโ sql_cache.py # SQL ็ผๅญ
โ โโโ user_memory.py # ็จๆท่ฎฐๅฟ
โ โโโ local_auth.py # ๆฌๅฐ่ฎค่ฏ
โ โโโ cognito_auth.py # Cognito ่ฎค่ฏ
โ โโโ authing_auth.py # Authing ่ฎค่ฏ
โโโ web/
โ โโโ index.html # React SPA (ๅๆไปถ)
โโโ cdk/
โ โโโ lib/
โ โ โโโ agentic-data-stack.ts # CDK ๅบ็ก่ฎพๆฝๅฎไน
โ โโโ bin/cdk.ts # CDK ๅ
ฅๅฃ
โ โโโ deploy.sh # ไบคไบๅผ้จ็ฝฒ่ๆฌ
โโโ config.py # ้ไธญ้
็ฝฎ (็ฏๅขๅ้)
โโโ auth.py # ่ฎค่ฏไธญ้ดไปถ
โโโ Dockerfile # ็ไบง้ๅ
โโโ requirements.txt # Python ไพ่ต
| ๅ้ | ่ฏดๆ | ้ป่ฎคๅผ |
|---|---|---|
AGENTIC_AUTO_REGION |
AWS ๅบๅ | us-east-1 |
BEDROCK_REGION |
Bedrock ๅบๅ๏ผๅฏไธๅบ็จๅบๅไธๅ๏ผ | ๅ REGION |
AGENTIC_AUTO_MODEL_PROVIDER |
ๆจกๅๆไพๅ (bedrock / openai) |
bedrock |
AGENTIC_AUTO_SUP_MODEL |
Supervisor ๆจกๅ ID | Claude Sonnet 4.6 |
AGENTIC_AUTO_SUB_MODEL |
Sub-Agent ๆจกๅ ID | Claude Haiku 4.5 |
SQL_ENGINE |
SQL ๅผๆ (sqlite / postgresql / snowflake) |
sqlite |
AGENTIC_AUTO_AUTH_ENABLED |
ๆฏๅฆๅฏ็จ่ฎค่ฏ | false |
AGENTIC_AUTO_PORT |
ๅบ็จ็ซฏๅฃ | 8501 |
ๅฎๆดๅ้ๅ่กจ่ง config.pyใ
- ALB ๅฎๅ
จ็ป็ฆๆญข
0.0.0.0/0๏ผๅฟ ้กปๆๅฎ็ฝๅๅ IP - ๆฏๆ Local Auth / Cognito / Authing ไธ็ง่ฎค่ฏๆนๅผ
- DynamoDB ่กจ่ฎพ็ฝฎ
RETAINๅ ้คไฟๆค - S3 Bucket ้ป่ฎค Block All Public Access
- ๆฏๆ Bedrock Guardrails ๅ ๅฎนๅฎๅ จ่ฟๆปค
cd cdk
npx cdk destroyๆณจๆ๏ผDynamoDB ่กจๅ S3 Bucket ่ฎพ็ฝฎไบ
RETAIN๏ผไธไผ้ Stack ๅ ้คใ้ๆๅจๆธ ็ใ
Private โ All rights reserved.