自然语言理解阿里云资源查询意图,规划并生成标准化的Aliyun CLI执行计划(JSON格式)。当用户查询阿里云资源(ECS、RDS、VPC、SLB、OSS等)、需要获取资源状态、查看资源详情、或分析资源关联关系时使用此技能。支持简单查询、关联查询、复合查询、诊断查询等多种场景。
Aliyun Planner 将用户的自然语言查询转换为标准化的 Aliyun CLI 执行计划。它通过意图分类、实体抽取、关系识别和API映射四个步骤,输出可执行的 JSON 格式 CLI 命令序列。
读取 意图分类词典库.md,分析用户查询确定:
如用户信息模糊,可进一步询问澄清。
读取 实体知识库.md,识别云资源实体:
读取 关系知识库.md,建立资源关联:
读取 API操作映射库.md,生成 CLI 命令:
["ecs", "DescribeInstances"](不包含 "aliyun" 前缀)使用 scripts/validate_json.py 对输出 JSON 进行 Pydantic 验证:
运行验证:
python3 scripts/validate_json.py your_output.json
或作为库使用:
from validate_json import validate_json_output
is_valid, message = validate_json_output(your_json_dict)
仅输出 JSON 格式,包含以下结构:
{
"intent_core": {
"primary_intent": "ASSOCIATION_QUERY",
"sub_intent": "ASSOC_HIERARCHICAL",
"complexity": "L3",
"business_scenario": "生产部署",
"confidence": 0.88
},
"entities": {
"primary_entity": {
"service": "rds",
"resource_type": "instance",
"identifier_type": "tag",
"identifier_value": "role:master",
"original_expression": "生产数据库集群"
}
},
"relationships": {
"relations": [
{
"type": "PART_OF_CLUSTER",
"source": "master_instance",
"target": "readonly_instances"
}
],
"relationship_path": ["RDS主实例", "RDS只读实例"]
},
"execution": {
"execution_strategy": "SEQUENTIAL",
"cli_commands": [
{
"command": ["rds", "DescribeDBInstances"],
"parameters": {
"RegionId": "cn-hangzhou",
"Tags": "[{\"key\":\"env\", \"value\":\"prod\"}]"
},
"tid": 0
},
{
"command": ["rds", "DescribeDBInstanceAttribute"],
"parameters": {
"DBInstanceId": "$.DBInstances.DBInstance[0].DBInstanceId"
},
"tid": 1,
"depends_on": [0],
"output_processing": "jq '.Items.DBInstanceAttribute[] | select(.Role == \"ReadOnly\")'"
}
]
}
}
| 用户查询 | 主意图 | 子意图 |
|---|---|---|
| "我的ECS实例有哪些" | SIMPLE_QUERY | SIMPLE_INSTANCE |
| "ECS i-123挂载了哪些磁盘" | ASSOCIATION_QUERY | ASSOC_DIRECT |
| "VPC vpc-xxx下的所有资源" | ASSOCIATION_QUERY | ASSOC_HIERARCHY |
| "生产环境所有数据库" | COMPOUND_QUERY | COMPOUND_CONDITIONAL |
| "检查安全组是否安全" | DIAGNOSTIC_QUERY | DIAG_SECURITY |
| "对比生产和测试环境" | COMPARISON_QUERY | COMPARE_CONFIG |
完整服务列表详见 实体知识库.md。