recallResolver-1B

ํ•œ๊ตญ์–ด ๋ฉ€ํ‹ฐํ„ด ํŒŒ์ดํ”„๋ผ์ธ์˜ ํžˆ์Šคํ† ๋ฆฌ ๊ฐ’ ์ถ”์ถœ๊ธฐ โ€” "๊ทธ๊ฑฐ ์žฌ๊ณ  ์–ผ๋งˆ๋‚˜ ๋‚จ์•˜์–ด?"์ฒ˜๋Ÿผ ๊ณผ๊ฑฐ ๋Œ€ํ™”์˜ ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฐœํ™”๊ฐ€ ์˜ค๋ฉด, ๋Œ€ํ™” ๊ธฐ๋ก์—์„œ ๊ทธ ๊ฐ’์„ ์ฐพ์•„์ฃผ๋Š” 1B ๋ชจ๋ธ์˜ QLoRA ์–ด๋Œ‘ํ„ฐ(~45MB)์ž…๋‹ˆ๋‹ค.

toolRouter-1B์™€ ์ง์œผ๋กœ ์„ค๊ณ„๋์Šต๋‹ˆ๋‹ค: ๋ผ์šฐํ„ฐ๊ฐ€ ๊ณผ๊ฑฐ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง€ํ•˜๋ฉด, recallResolver๊ฐ€ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ตํ™˜ ๋‹จ์œ„ ํ•˜๋‚˜์”ฉ ๋ฐ›์•„ ๊ฐ’์„ ์ถ”์ถœํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ๊ทธ ๊ฐ’์œผ๋กœ ๋ฐœํ™”๋ฅผ ๋ณด๊ฐ•ํ•ด ๋ผ์šฐํ„ฐ๋ฅผ ์žฌํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ์ž…๋ ฅ์ด ํ•ญ์ƒ "๋‹จ์œ„ 1๊ฐœ + ํ˜„์žฌ ๋ฐœํ™” + needs"๋กœ ๊ณ ์ •์ด๋ผ ํžˆ์Šคํ† ๋ฆฌ๊ฐ€ ์•„๋ฌด๋ฆฌ ๊ธธ์–ด๋„ ์ปจํ…์ŠคํŠธ๊ฐ€ ์ž๋ผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ

system: (๊ณ ์ • ์ง€์‹œ โ€” ๊ธฐ๋ก์—์„œ needs์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ์ถ”์ถœ, ์—†์œผ๋ฉด false, ์ง€์–ด๋‚ด๊ธฐ ๊ธˆ์ง€)
user:
  [๊ธฐ๋ก]
  user: SKU 44871 ์žฌ๊ณ  ๋ช‡ ๊ฐœ ๋‚จ์•˜๋Š”์ง€ ๋ด์ค˜
  call: {"name": "get_stock", "arguments": {"sku": "44871"}}
  result: {"ok": true, "sku": "44871", "qty": 120}
  [ํ˜„์žฌ ์š”์ฒญ] ๊ทธ๊ฑฐ ์–ด๋А ๊ตฌ์—ญ์— ๋ณด๊ด€๋ผ ์žˆ๋Š” ๊ฑฐ์•ผ?
  [needs] ์ƒํ’ˆ SKU ๋ฒˆํ˜ธ
assistant: {"found": true, "value": "44871"}

๊ฐ’์ด ๊ธฐ๋ก์— ์—†์œผ๋ฉด {"found": false}. ์ถœ๋ ฅ์€ xgrammar ๋“ฑ์œผ๋กœ JSON ํ˜•์‹์„ ๊ฐ•์ œํ•˜๊ณ , value๊ฐ€ ๊ธฐ๋ก ํ…์ŠคํŠธ์— ๊ธ€์ž ๊ทธ๋Œ€๋กœ ์กด์žฌํ•˜๋Š”์ง€ ์„œ๋ฒ„์—์„œ ๊ฒ€์ฆ(verbatim ๊ฐ€๋“œ)ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ (์ž์ฒด ํ‰๊ฐ€์…‹ 613๊ฑด, ํ•™์Šต๊ณผ ๋ถ„๋ฆฌ)

์ง€ํ‘œ ์ˆ˜์น˜
found ํŒ์ • ์ •ํ™•๋„ 96.3%
value ์ •ํ™•์ผ์น˜ (found ์ค‘) 94.2%
์˜คํƒ๋ฅ  (์—†๋Š”๋ฐ ์ฐพ์•˜๋‹ค๊ณ  ํ•จ) 2.5%
ํ˜•์‹(JSON ํŒŒ์‹ฑ) 100%

์˜คํƒ์€ 4ํšŒ์˜ hard-negative ์ฑ„๊ตด ๋ฐ˜๋ณต์œผ๋กœ 9.9% โ†’ 2.5%๊นŒ์ง€ ์••์ถ•ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚จ์€ ์•ฝ์ ์€ ๊ฐ™์€ ๊ณ„์—ด ์‹๋ณ„์ž์˜ ํ•˜์œ„ ์œ ํ˜• ํ˜ผ๋™(์ฃผ๋ฌธ ๋ฒˆํ˜ธ โ†” ์†ก์žฅ ๋ฒˆํ˜ธ)์œผ๋กœ, ์„œ๋ฒ„ ์ธก ๋˜๋ฌป๊ธฐ ๊ทœ์น™์œผ๋กœ ๋ณด์™„ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base = "meta-llama/Llama-3.2-1B-Instruct"
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto")
model = PeftModel.from_pretrained(model, "kimjg/recallResolver-1B")
tokenizer = AutoTokenizer.from_pretrained("kimjg/recallResolver-1B")

toolRouter-1B์™€ ๊ฐ™์€ ๋ฒ ์ด์Šค๋ฅผ ์“ฐ๋ฏ€๋กœ, ๋ฒ ์ด์Šค ํ•œ ๋ฒŒ์— ์–ด๋Œ‘ํ„ฐ ๋‘ ๊ฐœ๋ฅผ ์–น๊ณ  set_adapter๋กœ ์ „ํ™˜ํ•˜๋ฉด ๋‘ ๋ชจ๋ธ์ด VRAM ~2.6GB(4bit) ์—์„œ ํ•จ๊ป˜ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

GGUF (llama.cpp)

๋จธ์ง€ยท์–‘์žํ™”ํ•œ ๋‹จ์ผ ํŒŒ์ผ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: recallResolver-1B-Q4_K_M.gguf (0.8GB) / recallResolver-1B-Q8_0.gguf (1.3GB). ๋ฆฌ์กธ๋ฒ„ ๊ธฐ์ค€ ์–‘์žํ™” ์†์‹ค์€ ์•„์ง ์‹ค์ธก ์ „์ž…๋‹ˆ๋‹ค โ€” ๊ฐ™์€ ๋ฒ ์ด์Šคยท๊ฐ™์€ ๋ฐฉ์‹์˜ toolRouter-1B ์‹ค์ธก(Q8 ~-0.8%p, Q4 ~-1.6%p)์ด ์ฐธ๊ณ ์น˜์ด๋ฉฐ, ์ •๋ฐ€๋„๊ฐ€ ์ค‘์š”ํ•˜๋ฉด Q8์„ ๊ถŒํ•ฉ๋‹ˆ๋‹ค. ๊ณต์œ  ๋ฒ ์ด์Šค ๊ตฌ์„ฑ(toolRouter-1B์™€ base GGUF ํ•œ ๋ฒŒ + LoRA 2๊ฐœ)์ด VRAM์— ๋” ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค(์‹ค์ธก 1.5GB).

์ œํ•œ

  • ์ถ”์ถœ ์ „์šฉ์ž…๋‹ˆ๋‹ค โ€” ์š”์•ฝยท๊ณ„์‚ฐยท๋น„๊ต๋Š” ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค (๊ทธ๋Ÿฐ ์š”์ฒญ์€ ์ƒ์œ„ ๋ชจ๋ธ๋กœ escalate ๊ถŒ์žฅ).
  • ๊ฒฐ๊ณผ(result)๋Š” 250์ž ๋‚ด๋กœ ์ ˆ๋‹จํ•ด ์ž…๋ ฅํ•˜์„ธ์š”. ID๋ฅ˜ ํ•„๋“œ๋ฅผ ์•ž์— ๋ฐฐ์น˜ํ•˜๋ฉด ์ž˜๋ฆผ์— ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
  • greedy ๋””์ฝ”๋”ฉ ๊ถŒ์žฅ. base ๋ชจ๋ธ์˜ Llama 3.2 Community License๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
Downloads last month
-
GGUF
Model size
1B params
Architecture
llama
Hardware compatibility
Log In to add your hardware

4-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for kimjg/recallResolver-1B

Adapter
(665)
this model