Pular para o conteúdo principal

Referência da API e do SDK de Skills

info

Beta

Este recurso está em Beta. Os administradores da account podem gerenciar o acesso a este recurso na página Previews do console da account. Consulte Gerenciar prévias no nível da account.

Use estes exemplos para automatizar o gerenciamento de habilidades. A API representa cada habilidade como um recurso Skill chamado skills/{catalog}.{schema}.{skill}. Para criar e publicar uma habilidade com um agente, consulte Criar e compartilhar habilidades. Para ver os privilégios e a governança, consulte Governar habilidades. As habilidades não têm recursos do Terraform nem dos Pacotes de Automação Declarativa.

Pré-requisitos​

Operações da API​

A API REST de Skills fornece estas operações. Cada um também exige USE CATALOG e USE SCHEMA no recurso pai. Consulte cada link para ver seus campos, permissões e respostas.

Operação

Caso de uso

Permissões obrigatórias

Criar

Crie uma habilidade e provisione o armazenamento do pacote dela.

CREATE VOLUME no esquema

Upload

Faça upload de SKILL.md e de quaisquer arquivos de suporte por meio da API Files.

WRITE VOLUME e READ VOLUME na habilidade

Finalizar

Leia e valide SKILL.md e, em seguida, defina o nome e a descrição do bundle da habilidade.

READ VOLUME na habilidade

Lista

Encontre as habilidades às quais você pode ter acesso em um esquema.

READ VOLUME, READ METADATA, ou MANAGE na habilidade

Get

Leia os metadados da habilidade e o etag atual.

READ VOLUME, READ METADATA, ou MANAGE na habilidade

Atualizar

Altere o comentário da habilidade.

MANAGE na habilidade

Deletar

Remova uma habilidade e seu pacote.

MANAGE na habilidade

Operação

Caso de uso

Permissões obrigatórias

Criar

Crie uma habilidade e provisione o armazenamento do pacote dela.

CREATE VOLUME no esquema

Upload

Faça upload de SKILL.md e de quaisquer arquivos de suporte por meio da API Files.

WRITE VOLUME e READ VOLUME na habilidade

Finalizar

Leia e valide SKILL.md e, em seguida, defina o nome e a descrição do bundle da habilidade.

READ VOLUME na habilidade

Lista

Encontre as habilidades às quais você pode ter acesso em um esquema.

READ VOLUME, READ METADATA, ou MANAGE na habilidade

Get

Leia os metadados da habilidade e o etag atual.

READ VOLUME, READ METADATA, ou MANAGE na habilidade

Atualizar

Altere o comentário da habilidade.

MANAGE na habilidade

Deletar

Remova uma habilidade e seu pacote.

MANAGE na habilidade

O proprietário da habilidade detém todas estas permissões na habilidade. Consulte Conceder acesso às habilidades.

Criar uma habilidade​

A criação de uma habilidade envolve três passos: criar a habilidade, fazer upload do pacote dela e, em seguida, finalizá-la. Até que você finalize uma habilidade, o nome e a descrição do pacote dela ficarão vazios.

O passo 1: criar a habilidade​

Crie a habilidade em um esquema. comment é o único campo que você pode definir. O Databricks deriva name, bundle_name e description.

Substitua main.default.my_skill e data-team pelos seus próprios valores.

Envie um POST para /api/2.1/unity-catalog/skills, passando parent e skill_id como parâmetros de query:

Bash
databricks api post \
"/api/2.1/unity-catalog/skills?parent=schemas/main.default&skill_id=my_skill" \
--json '{"comment": "Team-shared math helper skill"}'

o passo 2: fazer upload do pacote​

Faça upload de SKILL.md e de quaisquer arquivos de suporte para o caminho de armazenamento da habilidade, /Skills/<catalog>/<schema>/<skill>/, por meio da API Files. SKILL.md deve começar com front matter YAML que define name e description. Salvar este exemplo como SKILL.md:

Markdown
---
name: my-skill
description: A team-shared skill that helps with basic math.
---

# My Skill

Step-by-step guidance the agent follows when this skill is loaded.

Envie um PUT para a API de arquivos. Defina DATABRICKS_HOST como a URL do seu workspace, como https://my-workspace.cloud.databricks.com, e DATABRICKS_TOKEN como um token. Este exemplo transmite o token para curl pela entrada padrão para que ele não apareça na lista de processos:

Bash
curl --request PUT --config - --data-binary @SKILL.md \
--header "Content-Type: application/octet-stream" \
"${DATABRICKS_HOST}/api/2.0/fs/files/Skills/main/default/my_skill/SKILL.md?overwrite=true" \
<<< "header = \"Authorization: Bearer ${DATABRICKS_TOKEN}\""

o passo 3: Finalizar a habilidade​

A finalização lê e valida SKILL.md e, em seguida, define bundle_name e description da skill a partir do frontmatter dela. Se você alterar o pacote mais tarde, finalize-o novamente.

Bash
databricks api post "/api/2.1/unity-catalog/skills/main.default.my_skill/finalize" --json '{}'

Encontre uma habilidade​

Liste as habilidades às quais você tem acesso em um esquema e, em seguida, obtenha os metadados de uma habilidade pelo nome do recurso.

Bash
databricks api get "/api/2.1/unity-catalog/skills?parent=schemas/main.default"

databricks api get "/api/2.1/unity-catalog/skills/main.default.my_skill"

Quando a resposta da lista incluir next_page_token, passe como page_token na próxima solicitação. Continue até que next_page_token esteja ausente ou vazio.

A CLI e o iterador do Python gerenciam a paginação para você.

Conceder acesso​

Estes exemplos concedem READ VOLUME à skill, permitindo que o principal leia a skill e faça download do pacote. Para ver os outros privilégios da skill, consulte Conceder acesso a skills.

Bash
databricks api patch \
"/api/2.1/unity-catalog/permissions/skill/main.default.my_skill" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["READ_VOLUME"] }
]
}'

Atualizar uma habilidade​

Estes exemplos atualizam o comentário da habilidade, o único campo que você pode alterar. O nome da habilidade não pode ser alterado. Para alterar o conteúdo de uma habilidade, faça upload do novo pacote e finalize a habilidade novamente.

Para fazer uma atualização condicional, primeiro recupere a habilidade e passe seu etag junto com a atualização. A atualização só será bem-sucedida se a habilidade não tiver sido alterada desde essa leitura. Codifique o etag para URL ao adicioná-lo a uma string de query REST.

Bash
databricks api patch \
"/api/2.1/unity-catalog/skills/main.default.my_skill?update_mask=comment" \
--json '{"comment": "Updated: team-shared math helper"}'

Excluir uma habilidade​

Excluir uma habilidade remove essa habilidade e seu pacote. Os agentes não podem mais carregá-lo.

Você também pode passar o etag atual da habilidade para tornar a exclusão condicional a ele não ter sido alterado desde a última leitura. Codifique o etag para URL nas strings de query REST.

Bash
databricks api delete "/api/2.1/unity-catalog/skills/main.default.my_skill"

Outros recursos​