Instructions to use leeChaerin/ActionModel_v5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use leeChaerin/ActionModel_v5 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("kakaocorp/kanana-nano-2.1b-instruct") model = PeftModel.from_pretrained(base_model, "leeChaerin/ActionModel_v5") - Transformers
How to use leeChaerin/ActionModel_v5 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="leeChaerin/ActionModel_v5") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("leeChaerin/ActionModel_v5", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use leeChaerin/ActionModel_v5 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "leeChaerin/ActionModel_v5" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "leeChaerin/ActionModel_v5", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/leeChaerin/ActionModel_v5
- SGLang
How to use leeChaerin/ActionModel_v5 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "leeChaerin/ActionModel_v5" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "leeChaerin/ActionModel_v5", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "leeChaerin/ActionModel_v5" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "leeChaerin/ActionModel_v5", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use leeChaerin/ActionModel_v5 with Docker Model Runner:
docker model run hf.co/leeChaerin/ActionModel_v5
Dongguk nDRIMS ActionModel (LoRA Adapter)
이 모델은 동국대학교 nDRIMS 포털을 대상으로 한 액션 생성용 LoRA 어댑터입니다.
기본 베이스 모델인 kakaocorp/kanana-nano-2.1b-instruct에
PEFT/LoRA 방식으로 얹어서, 사용자의 자연어 요청과 현재 UI 상태(observations)를 입력받으면
- Plan 모드:
{"task_plan": [...]}형태의 단계별 플랜 생성 - Action 모드:
{"action": {...}}형태의 단일 클릭/조작 액션 JSON 생성
을 수행하도록 파인튜닝되었습니다.
Model Details
Model Description
목적(Purpose)
동국대 nDRIMS(학사 행정 포털)에서 학생이 자주 수행하는 업무
(예: 불교동아리 가입, 졸업 취득학점 확인, 학적부 열람, 등록금 고지서 조회 등)를
“자연어 한 마디”로 요청하면, 이를 자동으로- 단계별 UI 네비게이션 플랜(
task_plan)과 - 각 단계에서 수행해야 할 액션(
action)
으로 변환해 주는 Large Action Model(LAM) 2단계용 액션 헤드입니다.
- 단계별 UI 네비게이션 플랜(
입력 구조(예시)
- Plan 요청:
{"user_request": "불교동아리 가입"} - Action 요청:
{ "user_request": "불교동아리 가입", "task_plan": "하위 메뉴 '불교동아리가입'을 클릭한다", "step_id": "2", "observations": { "sidebar": [ { "id": "d7", "label": "학생신청(기타)", "expanded": true, "sub_items": [ {"id": "ee", "label": "불교동아리가입", "checked": false} ] } ] } }
- Plan 요청:
출력 구조(예시)
- Plan 모드:
{ "task_plan": [ { "step_id": 1, "description": "좌측 메뉴에서 '학생신청(기타)'를 펼친다" }, { "step_id": 2, "description": "하위 메뉴 '불교동아리가입'을 클릭한다" }, { "step_id": 3, "description": "개인정보 동의 팝업창을 닫는다." } ] } - Action 모드:
{ "function": "click", "control_label": "불교동아리가입", "control_type": "tree-item", "value": "", "args": { "role": "treeitem", "aria-label": "불교동아리가입" }, "status": "CONTINUE" }
- Plan 모드:
Developed by: Chaerin Lee (@leeChaerin)
Model type: LoRA adapter for UI action generation (Plan / Action head)
Language(s): Korean (ko) 중심, 약간의 English label 및 aria-label 텍스트 포함
License: Follows the base model’s license (
kakaocorp/kanana-nano-2.1b-instruct).
실제 서비스 적용 시, 베이스 모델 라이선스를 반드시 확인하세요.Finetuned from:
kakaocorp/kanana-nano-2.1b-instructusing PEFT/LoRA
Model Sources
- Adapter Repository: https://huggingface.co/leeChaerin/ActionModel_v5
- Base Model: https://huggingface.co/kakaocorp/kanana-nano-2.1b-instruct
Uses
Direct Use
이 모델은 그 자체로 대화형 LLM으로 쓰기 위한 모델이 아니라,
다음과 같은 에이전트/자동화 시스템의 한 모듈로 사용하는 것을 전제로 설계되었습니다.
- 대표적인 사용 시나리오
- 사용자가 자연어로 요청
- 예:
"졸업하려면 학점 얼마나 남았어?"
- 예:
- Plan 요청 →
task_plan생성"좌측 메뉴에서 '졸업' 탭을 연다.""'취득학점확인서조회' 메뉴를 클릭하여 페이지로 이동한다."
- 각 step에 대해 Action 요청 →
actionJSON 생성"졸업" tree-item 클릭"취득학점확인서조회" tree-item 클릭
- 생성된 액션 JSON을 기반으로 RPA/브라우저 자동화/GUI 자동 제어 등 수행
- 사용자가 자연어로 요청
즉, Large Action Model(LAM)의 Action Head로 사용하기 좋습니다.
Downstream Use
- 다른 학교/내부 포털에 적용하고 싶은 경우:
- 사이드바/메뉴 구조를 비슷한 스키마(
sidebar,sub_items,checked,expanded등)로 맞추고 - 해당 도메인용 플랜/액션 데이터로 추가 파인튜닝 또는 재학습 필요
- 사이드바/메뉴 구조를 비슷한 스키마(
- nDRIMS와 유사한 트리 기반 네비게이션 UI를 가진 어드민 사이트, 사내 포털, 업무 시스템 등에 재활용 가능
Out-of-Scope Use
다음과 같은 용도는 권장되지 않습니다.
- 일반적인 오픈 도메인 대화/챗봇 용도
- 임의의 웹사이트(네이버, 구글, 은행 등)에 바로 적용하는 자동화
- 금융/의료/법률 등 고위험 도메인의 무인 완전 자동 처리
- 사람의 확인 없이 계정/개인정보/결제 관련 설정을 변경하는 행위
Bias, Risks, and Limitations
Risks & Limitations
- 도메인 특화 모델
- 동국대 nDRIMS의 특정 메뉴 구조에 맞추어 학습되었기 때문에,
다른 사이트나 다른 UI 구조에서는 잘 동작하지 않을 수 있습니다.
- 동국대 nDRIMS의 특정 메뉴 구조에 맞추어 학습되었기 때문에,
- 잘못된 액션
function/control_label/args가 일부라도 틀릴 경우,- 잘못된 메뉴를 열거나
- 잘못된 버튼을 클릭할 가능성이 있습니다.
- 데이터 스케일
- 현재는 소규모, 수작업으로 구성된 학습/평가 데이터셋을 기반으로 하고 있어,
엣지 케이스나 예외 상황에 대한 일반화 능력은 제한적일 수 있습니다.
- 현재는 소규모, 수작업으로 구성된 학습/평가 데이터셋을 기반으로 하고 있어,
Recommendations
- 항상 샌드박스 / 테스트 계정에서 먼저 통합 및 검증을 진행하세요.
- 실제 서비스 적용 시에는:
- 사람의 확인(HITL, Human-in-the-loop) 단계를 두거나
- 민감한 작업(예: 휴학/자퇴, 개인정보 변경 등)은 별도의 추가 확인 UI를 거치도록 설계하는 것을 추천합니다.
- nDRIMS 구조 변경(메뉴 이름, ID, 트리 구조 등)이 있을 경우,
- 모델의 성능이 급격히 떨어질 수 있으니 재학습 또는 프롬프트/데이터 업데이트가 필요합니다.
How to Get Started with the Model
1. 모델 로드 (PEFT + LoRA)
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_REPO = "kakaocorp/kanana-nano-2.1b-instruct"
ADAPTER_REPO = "leeChaerin/ActionModel_v5"
# 토크나이저 로드
tokenizer = AutoTokenizer.from_pretrained(BASE_REPO, padding_side="left")
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
# 베이스 모델 로드
base = AutoModelForCausalLM.from_pretrained(
BASE_REPO,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
# LoRA 어댑터 적용
model = PeftModel.from_pretrained(base, ADAPTER_REPO)
model.eval()
- Downloads last month
- 1
Model tree for leeChaerin/ActionModel_v5
Base model
kakaocorp/kanana-nano-2.1b-instruct