Pluggable skills for AI agents
Project description
SkillPacks
Pluggable skillsets for AI agents
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Skillpacks provide a means of fine tuning agents on tools, and the ability to hotswap learned skills at inference time.
Teach a model how to use a website | code base | API | database | application | ... then swap in that learned layer the moment you need it.
Install
pip install skillpacks
Quick Start
Create an episode to record agent events
from skillpacks import Episode
episode = Episode(remote="https://foo.bar")
Take an action
from mllm import Router, RoleThread
from skillpacks import V1Action
from agentdesk import Desktop
router = Router.from_env()
desktop = Desktop.local()
thread = RoleThread()
msg = f"""
I need to open Google to search, your available action are {desktop.json_schema()}
please return your selection as {V1Action.model_json_schema()}
"""
thread.post(role="user", msg=msg)
response = router.chat(thread, expect=V1Action)
v1action = response.parsed
action = desktop.find_action(name=v1action.name)
result = desktop.use(action, **v1action.parameters)
Record the action in the episode
event = episode.record(
prompt=response.prompt,
action=v1action,
tool=desktop.ref(),
result=result,
)
Mark actions as approved
# approve one
episode.approve_one(event.id)
# approve the event and all actions prior to it
episode.approve_prior(event.id)
# approve all
episode.approve_all()
Get all approved actions in an episode
episode = Episode.find(id="123")[0]
actions = episode.approved_actions()
Get all approved actions in a namespace
from skillpacks import ActionEvent
actions = ActionEvent.find(namespace="foo", approved=True)
Get all approved actions for a tool
actions = ActionEvent.find(tool=desktop.ref(), approved=True)
Tune a model on the actions (In progress)
from skillpacks.model import InternVLChat
from skillpacks.runtime import KubernetesRuntime
runtime = KubernetesRuntime()
model = InternVLChat(runtime=runtime)
result = model.train(actions=actions, follow=True, publish=True)
Integrations
Skillpacks is integrated with:
- MLLM A prompt management, routing, and schema validation library for multimodal LLMs
- Taskara A task management library for AI agents
- Surfkit A platform for AI agents
- Threadmem A thread management library for AI agents
Community
Come join us on Discord.
Backends
Thread and prompt storage can be backed by:
- Sqlite
- Postgresql
Sqlite will be used by default. To use postgres simply configure the env vars:
DB_TYPE=postgres
DB_NAME=skills
DB_HOST=localhost
DB_USER=postgres
DB_PASS=abc123
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for skillpacks-0.1.35-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 031aa60e3cf88b3922ec5901adc46bda8c41f053a48545427c36c5d9a385d1ca |
|
MD5 | 617be24096f5ec571b11e9e7116ba818 |
|
BLAKE2b-256 | 158d6bf515ce71b55fbe8e339f41696c5ac61a146b71dce3be81bfd7f676eedc |