Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Tato funkce je v beta verzi. Správci účtu mohou spravovat přístup k této funkci na stránce Previews v konzoli účtu. Viz Správa náhledů na úrovni účtu.
Použijte tyto příklady k automatizaci správy dovedností. API reprezentuje každou dovednost jako zdroj nazvaný Skillskills/{catalog}.{schema}.{skill}. Chcete-li napsat a publikovat dovednost s agentem, viz Vytvořit a sdílet dovednosti. Pro privilegia a správu viz Dovednosti vlády. Dovednosti nemají zdroje z Terraform nebo Declarative Automation Bundles.
Požadavky
Nastavte si řízené schéma pro dovednosti.
Nainstalujte a ověřte klienta, kterého plánujete použít. REST API nemá požadavek na verzi; každý nástroj a SDK má minimální verzi:
- Databricks CLI: v1.20.0 a výše
-
Python SDK:
databricks-sdk0.142.0 a výše -
Go SDK:
databricks-sdk-gov0.184.0 a výše -
Go Modular SDK:
github.com/databricks/sdk-go/aigatewayv0.1.0 a výše -
Java SDK:
databricks-sdk-java0.157.0 a výše - JavaScript SDK:
@databricks/sdk-aigateway0.23.0 a výše
Útržky SDK předpokládají autentizovaného klienta pracovního prostoru,
w; Modulární útržky SDK předpokládají autentizovaného klienta Unity Gateway,ca to v Go iclientv JavaScriptu.
Operace rozhraní API
Skills REST API poskytuje tyto operace. Každý také vyžaduje USE CATALOG a je USE SCHEMA na rodiči. Sledujte každý odkaz pro jeho pole, oprávnění a odpovědi.
| Operation | Případ použití | Požadována oprávnění |
|---|---|---|
| Vytvářet | Vytvořte dovednost a zpřístupněte její úložiště v balíčku. |
CREATE VOLUME ve schématu |
| Nahrát | Nahrávejte a všechny podpůrné soubory přes SKILL.md Files API. |
WRITE VOLUME a READ VOLUME na dovednosti |
| Dokončit | Přečti a ověř SKILL.md, pak nastav název balíčku a popis dovednosti. |
READ VOLUME na dovednosti |
| Seznam | Najděte dovednosti, ke kterým se můžete dostat ve schématu. |
READ VOLUME, READ METADATA, nebo MANAGE na dovednosti |
| Získejte | Přečti si metadata dovednosti a její aktuální etag. |
READ VOLUME, READ METADATA, nebo MANAGE na dovednosti |
| Aktualizace | Změňte komentář ke schopnosti. |
MANAGE na dovednosti |
| Odstranit | Odeberte dovednost a její svazek. |
MANAGE na dovednosti |
Majitel dovednosti drží všechny tyto vlastnosti na dovednosti. Viz Grant access to skills.
Vytvoření dovednosti
Vytvoření dovednosti zahrnuje tři kroky: vytvořit dovednost, nahrát její balíček a pak ji dokončit. Dokud nedokončíte dovednost, její název balíčku a popis jsou prázdné.
Krok 1: Vytvořte dovednost
Vytvořte dovednost ve schématu.
comment je jediné pole, které můžete nastavit. Azure Databricks derives name, bundle_name, a description.
Nahraďte main.default.my_skill a data-team nahraďte vlastními hodnotami.
REST API
Pošlete a POST na /api/2.1/unity-catalog/skills, předejte parent a skill_id jako parametry dotazu:
databricks api post \
"/api/2.1/unity-catalog/skills?parent=schemas/main.default&skill_id=my_skill" \
--json '{"comment": "Team-shared math helper skill"}'
CLI
Předejte rodičovské schéma a název dovednosti a do komentáře --jsondodajte:
databricks ai-gateway create-skill schemas/main.default my_skill \
--json '{"comment": "Team-shared math helper skill"}'
Python SDK
Vytvořte a spravujte dovednost pomocí Databricks SDK pro Python:
from databricks.sdk import WorkspaceClient
from databricks.sdk.service import catalog as c
w = WorkspaceClient()
skill = w.ai_gateway.create_skill(
parent="schemas/main.default",
skill_id="my_skill",
skill=c.Skill(comment="Team-shared math helper skill"),
)
Go SDK (vývojová sada pro Go)
Vytvořte a spravujte dovednost pomocí Databricks SDK pro Go:
skill, err := w.AiGateway.CreateSkill(ctx, catalog.CreateSkillRequest{
Parent: "schemas/main.default",
SkillId: "my_skill",
Skill: catalog.Skill{Comment: "Team-shared math helper skill"},
})
Go Modular SDK
Vytvořte a spravujte dovednost pomocí Go Modular SDK. Volitelné pole jsou ukazatele, takže příklad používá jednořádkový pomocník, func ptr[T any](v T) *T { return &v }.
skill, err := c.CreateSkill(ctx, aigateway.CreateSkillRequest{
Parent: ptr("schemas/main.default"),
SkillId: ptr("my_skill"),
Skill: &aigateway.Skill{Comment: ptr("Team-shared math helper skill")},
})
Java SDK
Vytvořte a spravujte dovednost pomocí Databricks SDK pro Java:
Skill skill =
w.aiGateway()
.createSkill(
new CreateSkillRequest()
.setParent("schemas/main.default")
.setSkillId("my_skill")
.setSkill(new Skill().setComment("Team-shared math helper skill")));
JS Modular SDK
Vytvořte a spravujte dovednost pomocí JavaScript SDK:
const created = await client.createSkill({
parent: 'schemas/main.default',
skillId: 'my_skill',
skill: { comment: 'Team-shared math helper skill' },
});
Krok 2: Nahrajte balíček
Nahrajte SKILL.md, a všechny podpůrné soubory na cestu úložiště dovednosti, /Skills/<catalog>/<schema>/<skill>/, přes Files API.
SKILL.md musí začít s YAML frontmatter, který nastavuje name a description. Uložte tento příklad jako SKILL.md:
---
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.
REST API
Pošlete a PUT do API Files. Nastavte DATABRICKS_HOST URL vašeho pracovního prostoru, například https://my-workspace.cloud.databricks.com, a DATABRICKS_TOKEN token. Tento příklad předává token na curl standardní vstup, aby se neobjevil v seznamu procesů:
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}\""
CLI
Vytvořte složku dovednosti a pak soubor do ní zkopírujte:
databricks fs mkdir dbfs:/Skills/main/default/my_skill
databricks fs cp SKILL.md dbfs:/Skills/main/default/my_skill/SKILL.md --overwrite
Python SDK
with open("SKILL.md", "rb") as f:
w.files.upload("/Skills/main/default/my_skill/SKILL.md", f, overwrite=True)
Go SDK (vývojová sada pro Go)
f, err := os.Open("SKILL.md")
if err != nil {
return err
}
defer f.Close()
err = w.Files.Upload(ctx, files.UploadRequest{
FilePath: "/Skills/main/default/my_skill/SKILL.md",
Contents: f,
Overwrite: true,
})
Go Modular SDK
Go Modular SDK neobsahuje API Files. Nahrajte místo toho pomocí Files SDK pro Go :
fc, err := files.NewClient(ctx)
if err != nil {
return err
}
f, err := os.Open("SKILL.md")
if err != nil {
return err
}
defer f.Close()
_, err = fc.Upload(ctx, "/Skills/main/default/my_skill/SKILL.md", f, files.WithOverwrite(true))
Java SDK
try (InputStream contents = Files.newInputStream(Paths.get("SKILL.md"))) {
w.files()
.upload(
new UploadRequest()
.setFilePath("/Skills/main/default/my_skill/SKILL.md")
.setOverwrite(true)
.setContents(contents));
}
JS Modular SDK
JavaScript Modular SDK neobsahuje Files API, takže tento příklad volá REST endpoint přímo. Čte URL pracovního prostoru, například https://my-workspace.cloud.databricks.com, a token z DATABRICKS_HOSTDATABRICKS_TOKEN proměnných a prostředí:
import { readFile } from 'node:fs/promises';
const response = await fetch(
`${process.env.DATABRICKS_HOST}/api/2.0/fs/files/Skills/main/default/my_skill/SKILL.md?overwrite=true`,
{
method: 'PUT',
headers: {
'Content-Type': 'application/octet-stream',
Authorization: `Bearer ${process.env.DATABRICKS_TOKEN}`,
},
body: await readFile('SKILL.md'),
},
);
if (!response.ok) {
throw new Error(`Upload failed: ${response.status} ${response.statusText}`);
}
Krok 3: Dokončit dovednost
Finalizace čte a validuje SKILL.md, poté nastavuje dovednosti bundle_name a description z úvodní části. Pokud později balíček změníte, znovu to dokončite.
REST API
databricks api post "/api/2.1/unity-catalog/skills/main.default.my_skill/finalize" --json '{}'
CLI
databricks ai-gateway finalize-skill skills/main.default.my_skill
Python SDK
finalized = w.ai_gateway.finalize_skill(name="skills/main.default.my_skill")
print(finalized.bundle_name, finalized.description)
Go SDK (vývojová sada pro Go)
finalized, err := w.AiGateway.FinalizeSkill(ctx, catalog.FinalizeSkillRequest{
Name: "skills/main.default.my_skill",
})
Go Modular SDK
finalized, err := c.FinalizeSkill(ctx, aigateway.FinalizeSkillRequest{
Name: ptr("skills/main.default.my_skill"),
})
Java SDK
Skill finalized =
w.aiGateway().finalizeSkill(new FinalizeSkillRequest().setName("skills/main.default.my_skill"));
JS Modular SDK
const finalized = await client.finalizeSkill({ name: 'skills/main.default.my_skill' });
Najděte si dovednost
Uveďte dovednosti, ke kterým máte přístup, ve schématu, a pak získejte metadata dovednosti podle názvu zdroje.
REST API
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"
Když seznam obsahuje odpověď , next_page_tokenpředáme ji jako page_token v dalším požadavku. Pokračujte, dokud next_page_token nebude chybět nebo nebude prázdná.
CLI
databricks ai-gateway list-skills schemas/main.default
databricks ai-gateway get-skill skills/main.default.my_skill
Python SDK
for skill in w.ai_gateway.list_skills(parent="schemas/main.default"):
print(skill.name)
skill = w.ai_gateway.get_skill(name="skills/main.default.my_skill")
Stránkování za vás zvládnou CLI a Python iterátor.
Udělení přístupu
Tyto příklady poskytují READ VOLUME dovednost, která umožňuje principálovi dovednost přečíst a stáhnout její balíček. Pro ostatní výhody dovedností viz Udělit přístup ke schopnostem.
REST API
databricks api patch \
"/api/2.1/unity-catalog/permissions/skill/main.default.my_skill" \
--json '{
"changes": [
{ "principal": "data-team", "add": ["READ_VOLUME"] }
]
}'
CLI
Grant READ VOLUME s Databricks CLI:
databricks grants update skill main.default.my_skill \
--json '{"changes": [{"principal": "data-team", "add": ["READ_VOLUME"]}]}'
Python SDK
Grant READ VOLUME pomocí Databricks SDK pro jazyk Python:
from databricks.sdk.service import catalog as c
w.grants.update(
securable_type="skill",
full_name="main.default.my_skill",
changes=[c.PermissionsChange(principal="data-team", add=[c.Privilege.READ_VOLUME])],
)
Go SDK (vývojová sada pro Go)
Udělení READ VOLUME pomocí sady Databricks SDK pro Go:
_, err := w.Grants.Update(ctx, catalog.UpdatePermissions{
SecurableType: "skill",
FullName: "main.default.my_skill",
Changes: []catalog.PermissionsChange{{
Principal: "data-team",
Add: []catalog.Privilege{catalog.PrivilegeReadVolume},
}},
})
Java SDK
Udělení READ VOLUME pomocí Databricks SDK pro Javu:
w.grants()
.update(
new UpdatePermissions()
.setSecurableType("skill")
.setFullName("main.default.my_skill")
.setChanges(
Arrays.asList(
new PermissionsChange()
.setPrincipal("data-team")
.setAdd(Arrays.asList(Privilege.READ_VOLUME)))));
Aktualizuj dovednost
Tyto příklady aktualizují komentář ke schopnosti, což je jediné pole, které můžete změnit. Název dovednosti nelze změnit. Chcete-li změnit obsah dovednosti, nahrajte nový balíček a znovu ji dokončit .
Pro podmíněnou aktualizaci nejdřív získejte dovednost a projděte etag s ní s aktualizací. Aktualizace uspěje jen tehdy, pokud se dovednost od té doby nezměnila. URL enkódování při etag přidávání do dotazovacího řetězce REST.
REST API
databricks api patch \
"/api/2.1/unity-catalog/skills/main.default.my_skill?update_mask=comment" \
--json '{"comment": "Updated: team-shared math helper"}'
CLI
databricks ai-gateway update-skill skills/main.default.my_skill comment \
--json '{"comment": "Updated: team-shared math helper"}'
Python SDK
from databricks.sdk.service import catalog as c
from databricks.sdk.common.types.fieldmask import FieldMask
updated = w.ai_gateway.update_skill(
name="skills/main.default.my_skill",
update_mask=FieldMask(["comment"]),
skill=c.Skill(comment="Updated: team-shared math helper"),
)
Go SDK (vývojová sada pro Go)
updated, err := w.AiGateway.UpdateSkill(ctx, catalog.UpdateSkillRequest{
Name: "skills/main.default.my_skill",
UpdateMask: *fieldmask.New([]string{"comment"}),
Skill: catalog.Skill{Comment: "Updated: team-shared math helper"},
})
Go Modular SDK
mask, err := types.NewFieldMask[aigateway.Skill]("comment")
updated, err := c.UpdateSkill(ctx, aigateway.UpdateSkillRequest{
Skill: &aigateway.Skill{
Name: ptr("skills/main.default.my_skill"),
Comment: ptr("Updated: team-shared math helper"),
},
UpdateMask: mask,
})
Java SDK
Skill updated =
w.aiGateway()
.updateSkill(
new UpdateSkillRequest()
.setName("skills/main.default.my_skill")
.setUpdateMask(FieldMask.newBuilder().addPaths("comment").build())
.setSkill(new Skill().setComment("Updated: team-shared math helper")));
JS Modular SDK
import { skillFieldMask } from '@databricks/sdk-aigateway/v1';
const updated = await client.updateSkill({
skill: {
name: 'skills/main.default.my_skill',
comment: 'Updated: team-shared math helper',
},
updateMask: skillFieldMask('comment'),
});
Odstranění dovednosti
Smazání dovednosti ji i její balíček odstraní. Agenti už ho nemohou načítat.
Můžete také předat aktuální etag dovednost a nechat smazání podmíněné tím, že se od posledního čtení nezměnila. URL-enkódují etag dotazovací řetězce v RESTu.
REST API
databricks api delete "/api/2.1/unity-catalog/skills/main.default.my_skill"
CLI
databricks ai-gateway delete-skill skills/main.default.my_skill
Python SDK
w.ai_gateway.delete_skill(name="skills/main.default.my_skill")
Go SDK (vývojová sada pro Go)
err := w.AiGateway.DeleteSkill(ctx, catalog.DeleteSkillRequest{
Name: "skills/main.default.my_skill",
})
Go Modular SDK
err := c.DeleteSkill(ctx, aigateway.DeleteSkillRequest{
Name: ptr("skills/main.default.my_skill"),
})
Java SDK
w.aiGateway().deleteSkill(new DeleteSkillRequest().setName("skills/main.default.my_skill"));
JS Modular SDK
await client.deleteSkill({ name: 'skills/main.default.my_skill' });