- Notifications
You must be signed in to change notification settings - Fork1
agentsea/skillpacks
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 awebsite |code base |API |database |application |... then swap in that learned layer the moment you need it.
pip install skillpacks
Create an episode to record agent events
fromskillpacksimportEpisodeepisode=Episode(remote="https://foo.bar")
Take an action
frommllmimportRouter,RoleThreadfromskillpacksimportV1Action,V1EnvStatefromagentdeskimportDesktoprouter=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.parsedaction=desktop.find_action(name=v1action.name)result=desktop.use(action,**v1action.parameters)
Record the action in the episode
event=episode.record(state=V1EnvState(),prompt=response.prompt,action=v1action,tool=desktop.ref(),result=result,)
Mark actions as approved
# approve oneepisode.approve_one(event.id)# approve the event and all actions prior to itepisode.approve_prior(event.id)# approve allepisode.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
fromskillpacksimportActionEventactions=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)
fromskillpacks.modelimportInternVLChatfromskillpacks.runtimeimportKubernetesRuntimeruntime=KubernetesRuntime()model=InternVLChat(runtime=runtime)result=model.train(actions=actions,follow=True,publish=True)
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
Come join us onDiscord.
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=postgresDB_NAME=skillsDB_HOST=localhostDB_USER=postgresDB_PASS=abc123
About
Tune AI agents on tools
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.