

# 人工智能代理的技能资产
<a name="catalog-skill-assets"></a>

**注意**  
业务上下文和语义搜索目前为预览 AWS Glue 状态，可能会发生更改。

## 什么是技能资产
<a name="catalog-skill-assets-overview"></a>

技能资产是指向一个 URI 位置的目录资产，该位置包含人工智能代理在处理您的数据时使用的上下文。URI 可以引用一个可访问的位置，例如 Amazon S3 中的 markdown 文件、git 存储库中的文档或 wiki 页面，您可以在其中存储组织和域知识、参考资料以及特定于一个或多个数据集的说明。

技能内容的常见用途包括：
+ 组织上下文（例如，哪些团队拥有哪些数据域、团队如何定义关键指标以及哪些业务流程生成数据）
+ 组织特有的数据使用规则和限制
+ 数据集的常见查询模式和 SQL 示例

您可以使用 `amazon::RelatedTo` 表单将技能与数据资产关联起来。当代理检索资产时，它会找到相关的技能 ID，获取技能，然后将 URI 内容加载到其推理上下文中。

有两种技能：
+ **自定义技能**–由您创建，可通过 `SearchAssets` API 进行搜索。标识符不能以 `amazon.` 开头
+ **内置技能**–Amazon 所有、不可变、可通过 ID 直接访问（例如 `amazon.skill::querying-aws-s3`）。

## 创建和关联技能
<a name="catalog-skill-assets-create"></a>

### 第 1 步：创建技能
<a name="catalog-skill-assets-create-skill"></a>

```
aws glue put-asset \
    --asset-type-id "amazon::Skill" \
    --identifier "sales-table-skill" \
    --name "sales-table-skill" \
    --forms '{"amazon::Skill":{"FormTypeId":"amazon::Skill","Content":"{\"uri\": \"s3://my-bucket/skills/sales-table-skill.md\"}"}}'
```

### 第 2 步：将技能与表格关联
<a name="catalog-skill-assets-create-associate"></a>

```
aws glue put-attachment \
    --asset-identifier "arn:aws:glue:us-east-1:123456789012:table/mydb/sales_transactions" \
    --attachment-name relatedTo \
    --form-type-id "amazon::RelatedTo" \
    --content '{"assetIdentifiers":["sales-table-skill"]}'
```

## 如何定义关系
<a name="catalog-skill-assets-relationships"></a>

关系使用内置 `amazon::RelatedTo` 表单。在基于关系的搜索中，在任一资产上声明的关系都会对称地显示出来。

```
{ "assetIdentifiers": ["<related-asset-id>"] }
```

内联附加操作可在资产创建期间（`PutAsset --forms`）执行，亦可在创建完成后（`PutAttachment`）执行。

## 搜索技能资产
<a name="catalog-skill-assets-list"></a>

```
aws glue search-assets \
    --filter-clause '{"AttributeFilter":{"Attribute":"type","Operator":"equals","Value":{"StringValue":"Skill"}}}' \
    --max-results 20
```

## 内置技能
<a name="catalog-skill-assets-builtin"></a>

按 ID 引用以下 Amazon 拥有的技能：
+ `amazon.skill::querying-aws-s3`
+ `amazon.skill::querying-aws-cloudwatch`
+ `amazon.skill::querying-aws-sagemaker-catalog`

## 删除技能资产
<a name="catalog-skill-assets-delete"></a>

```
aws glue delete-asset \
    --identifier {{skill-asset-id}}
```

**注意**  
删除技能资产不会删除引用 URI 中的内容。

## 注意事项
<a name="catalog-skill-assets-considerations"></a>
+ 重命名列、弃用表格或修改指标时，请查看技能内容。
+ 在预览期间，访问权限通过 IAM 角色进行管理，没有资产级别的访问控制。
+ 代理必须有权访问技能 URI（例如，用于 Amazon S3 URI 的 `s3:GetObject`）。
+ 技能内容应简明扼要，以尽量减少上下文窗口的使用。