Train runtime tool-call MiniCPM5 LoRA adapter
Browse files- README.md +4 -8
- adapter_config.json +5 -5
- adapter_model.safetensors +1 -1
- lora-sft.jsonl +10 -5
- training-recipe.json +3 -9
README.md
CHANGED
|
@@ -1,19 +1,15 @@
|
|
| 1 |
# Hackathon Advisor MiniCPM5 LoRA
|
| 2 |
|
| 3 |
-
This PEFT LoRA adapter was trained
|
| 4 |
|
| 5 |
## Recipe
|
| 6 |
|
| 7 |
- Base model: `openbmb/MiniCPM5-1B`
|
| 8 |
- Adapter repo: `build-small-hackathon/hackathon-advisor-minicpm5-lora`
|
|
|
|
| 9 |
- Method: LoRA SFT
|
| 10 |
-
- Examples:
|
| 11 |
-
- Max steps:
|
| 12 |
- LoRA rank: 16
|
| 13 |
- LoRA alpha: 32
|
| 14 |
- Publish status: published
|
| 15 |
-
|
| 16 |
-
## Dataset Provenance
|
| 17 |
-
|
| 18 |
-
- Source: exact demo session trace from `build-small-hackathon/hackathon-advisor`
|
| 19 |
-
- Snapshot digest: `1d59c168b446bc1268ef648897fac523e85b258fd6048a37409b9cfbc5c28329`
|
|
|
|
| 1 |
# Hackathon Advisor MiniCPM5 LoRA
|
| 2 |
|
| 3 |
+
This PEFT LoRA adapter was trained for The Unwritten Almanac's runtime tool-call planner. It maps `system_prompt + render_context` chats to one XML function call.
|
| 4 |
|
| 5 |
## Recipe
|
| 6 |
|
| 7 |
- Base model: `openbmb/MiniCPM5-1B`
|
| 8 |
- Adapter repo: `build-small-hackathon/hackathon-advisor-minicpm5-lora`
|
| 9 |
+
- Task: runtime XML tool-call planning
|
| 10 |
- Method: LoRA SFT
|
| 11 |
+
- Examples: 9
|
| 12 |
+
- Max steps: 120
|
| 13 |
- LoRA rank: 16
|
| 14 |
- LoRA alpha: 32
|
| 15 |
- Publish status: published
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
adapter_config.json
CHANGED
|
@@ -30,13 +30,13 @@
|
|
| 30 |
"rank_pattern": {},
|
| 31 |
"revision": null,
|
| 32 |
"target_modules": [
|
| 33 |
-
"gate_proj",
|
| 34 |
-
"q_proj",
|
| 35 |
-
"k_proj",
|
| 36 |
-
"up_proj",
|
| 37 |
"down_proj",
|
|
|
|
|
|
|
|
|
|
| 38 |
"v_proj",
|
| 39 |
-
"
|
|
|
|
| 40 |
],
|
| 41 |
"target_parameters": null,
|
| 42 |
"task_type": "CAUSAL_LM",
|
|
|
|
| 30 |
"rank_pattern": {},
|
| 31 |
"revision": null,
|
| 32 |
"target_modules": [
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
"down_proj",
|
| 34 |
+
"up_proj",
|
| 35 |
+
"gate_proj",
|
| 36 |
+
"o_proj",
|
| 37 |
"v_proj",
|
| 38 |
+
"q_proj",
|
| 39 |
+
"k_proj"
|
| 40 |
],
|
| 41 |
"target_parameters": null,
|
| 42 |
"task_type": "CAUSAL_LM",
|
adapter_model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 44871152
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:057fb909eab7e44b6fa40e74ffdec44cf1bc04419d7d0531a9d80f2f609462c9
|
| 3 |
size 44871152
|
lora-sft.jsonl
CHANGED
|
@@ -1,5 +1,10 @@
|
|
| 1 |
-
{"adapter_task": "
|
| 2 |
-
{"adapter_task": "
|
| 3 |
-
{"adapter_task": "
|
| 4 |
-
{"adapter_task": "
|
| 5 |
-
{"adapter_task": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "app": "hackathon-advisor", "base_model": "openbmb/MiniCPM5-1B", "example_count": 9, "format": "chat-jsonl", "record_kinds": ["tool_call"], "schema_version": 1, "source": "runtime_prompt_tool_call_curriculum", "type": "lora_sft_manifest"}
|
| 2 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 1, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: \nIdea board:\n- empty\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"list_projects\">{\"sort\":\"likes\"}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 3 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 2, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: A local-first archive cartographer for family photos\nIdea board:\n- empty\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"save_idea\">{\"title\":\"A local-first archive cartographer for family photos\",\"pitch\":\"A local-first archive cartographer for family photos\"}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 4 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 3, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: search similar family archive projects\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"search_projects\">{\"query\":\"search similar family archive projects\"}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 5 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 4, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: make a build plan\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"make_plan\">{}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 6 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 5, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: compare ideas\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"compare_ideas\">{}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 7 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 6, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: find whitespace\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"find_whitespace\">{}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 8 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 7, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: read project build-small-hackathon/mycelium\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"get_project\">{\"id\":\"build-small-hackathon/mycelium\"}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 9 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 8, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: update my profile: I have frontend skills\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"update_profile\">{\"field\":\"skills\",\"value\":\"frontend\"}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
| 10 |
+
{"adapter_task": "hackathon_advisor_tool_call_planner", "base_model": "openbmb/MiniCPM5-1B", "example_index": 9, "example_kind": "tool_call", "messages": [{"content": "You are The Unwritten Almanac's originality and build-plan advisor. Use tools to inspect existing projects, find whitespace, save ideas, score ideas, and make plans. Emit exactly one XML tool call.", "role": "system"}, {"content": "Choose exactly one tool call for the next advisor action.\nReturn only <function name=\"tool_name\">{...json...}</function>.\nAvailable tools: list_projects, search_projects, get_project, find_whitespace, save_idea, score_idea, compare_ideas, make_plan, update_profile, set_goals.\nUser message: prioritize Off the Grid and Well-Tuned\nIdea board:\n- A local-first archive cartographer for family photos: Map private family photos into offline story trails.\nRecent trace:\n- empty", "role": "user"}, {"content": "<function name=\"set_goals\">{\"goals\":[\"Off the Grid\",\"Well-Tuned\"]}</function>", "role": "assistant"}], "schema_version": 1, "type": "lora_sft_example"}
|
training-recipe.json
CHANGED
|
@@ -1,20 +1,14 @@
|
|
| 1 |
{
|
| 2 |
"adapter_repo": "build-small-hackathon/hackathon-advisor-minicpm5-lora",
|
| 3 |
-
"adapter_task": "
|
| 4 |
"alpha": 32,
|
| 5 |
"base_model": "openbmb/MiniCPM5-1B",
|
| 6 |
"dataset_format": "chat-jsonl",
|
| 7 |
"dropout": 0.05,
|
| 8 |
-
"example_count":
|
| 9 |
-
"index": {
|
| 10 |
-
"algorithm": "tfidf-sparse-v1",
|
| 11 |
-
"index_generated_at": "2026-06-06T19:44:42+00:00",
|
| 12 |
-
"snapshot_digest": "1d59c168b446bc1268ef648897fac523e85b258fd6048a37409b9cfbc5c28329",
|
| 13 |
-
"snapshot_generated_at": "2026-06-06T19:20:47+00:00"
|
| 14 |
-
},
|
| 15 |
"learning_rate": 0.0002,
|
| 16 |
"max_seq_length": 1024,
|
| 17 |
-
"max_steps":
|
| 18 |
"method": "LoRA SFT",
|
| 19 |
"publish_status": "published",
|
| 20 |
"rank": 16,
|
|
|
|
| 1 |
{
|
| 2 |
"adapter_repo": "build-small-hackathon/hackathon-advisor-minicpm5-lora",
|
| 3 |
+
"adapter_task": "hackathon_advisor_tool_call_planner",
|
| 4 |
"alpha": 32,
|
| 5 |
"base_model": "openbmb/MiniCPM5-1B",
|
| 6 |
"dataset_format": "chat-jsonl",
|
| 7 |
"dropout": 0.05,
|
| 8 |
+
"example_count": 9,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
"learning_rate": 0.0002,
|
| 10 |
"max_seq_length": 1024,
|
| 11 |
+
"max_steps": 120,
|
| 12 |
"method": "LoRA SFT",
|
| 13 |
"publish_status": "published",
|
| 14 |
"rank": 16,
|