Introduction

Command r plus ๋ชจ๋ธ์„ ์ด์šฉํ•˜์—ฌ ์ž์ฒด ๊ตฌ์ถ•ํ•œ RAG ํŠนํ™” ๋ฐ์ดํ„ฐ์…‹, CoT ๋ฐ์ดํ„ฐ์…‹, ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ Qwen2.5 14B ๋ชจ๋ธ์„ Full fine-tuning ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ชจ๋ธ์€ ์ผ๋ฐ˜์ ์ธ RAG ์„œ๋น„์Šค์˜ ์ž…๋ ฅ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด์„œ ์ •ํ™•ํ•œ ๋‹ต๋ณ€๊ณผ ๋‹ต๋ณ€ ์ถœ์ฒ˜๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Json ํ˜•ํƒœ๋กœ ๋‹ต๋ณ€์„ ์ถœ๋ ฅํ•˜๋Š” ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ ํ‚ค๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  1. "related_document"์˜ ๊ฐ’ : ์งˆ๋ฌธ๊ณผ ๊ด€๋ จ ์žˆ๋Š” ๋ฌธ์„œ doc_id, ์ œ๋ชฉ (key : ๋ฌธ์„œ ๋ฒˆํ˜ธ, Value : ๋ฌธ์„œ ์ œ๋ชฉ)
  2. "source" : ์งˆ๋ฌธ๊ณผ ๊ด€๋ จ์žˆ๋Š” ๋ฌธ์„œ doc_id์™€ ๋‹ต๋ณ€์— ์ƒ์„ฑํ•œ ์ธ์šฉ๊ตฌ ๊ตฌ์ ˆ
  3. "answer"์˜ ๊ฐ’ : ์ถœ์ฒ˜๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ 3~6๋ฌธ์žฅ ์„ค๋ช…ํ˜• ๋‹ต๋ณ€
  4. "grounded_answer"์˜ ๊ฐ’ : answer๊ณผ ๋™์ผํ•˜๋˜ <co: doc_id>์™€ </co: doc_id> ๊ธฐํ˜ธ๋กœ ์ธ์šฉ ์ถœ์ฒ˜๋ฅผ ๋ช…์‹œํ•œ ๋‹ต๋ณ€

๋‹ต๋ณ€ ์ถœ๋ ฅ ์˜ˆ์‹œ

{
"related_document": {
    "D0000042284685": "๊ฐ€๋ฝ๋ชฐ ์ „๋™ ์‚ผ๋ฅœ์ฐจ ํ™”์žฌ์˜ˆ๋ฐฉ ์ถ”์ง„ ๋Œ€์ฑ…",
    "4895": "์ฐจ์„ธ๋Œ€ ๊ณ ์‹ ๋ขฐ์„ฑ ๊ณ ์ถœ๋ ฅ ์Šˆํผ์ถ•์ „๊ธฐ"
},
"source": {
    "D0000042284685": "ใ€Œ๋ฌผ๋ฅ˜์šด๋ฐ˜์žฅ๋น„ ์ถฉ์ „์žฅ์น˜(๋ฆฌํŠฌ์ด์˜จ ๋ฐฐํ„ฐ๋ฆฌ) ...",
    "4895": "์Šˆํผ์ถ•์ „๊ธฐ์™€ ๋ฆฌํŠฌ์ด์ฐจ์ „์ง€์˜ ๋น„๊ต ..."
},
"answer": "๊ฐ€๋ฝ๋ชฐ ์ „๋™ ์‚ผ๋ฅœ์ฐจ์˜ ๋ฆฌํŠฌ์ด์˜จ ๋ฐฐํ„ฐ๋ฆฌ์™€ ์Šˆํผ์ถ•์ „๊ธฐ๋Š” ๋ฉ”...",
"grounded_answer": "๊ฐ€๋ฝ๋ชฐ ์ „๋™ ์‚ผ๋ฅœ์ฐจ์˜ ๋ฆฌํŠฌ์ด์˜จ ๋ฐฐํ„ฐ๋ฆฌ์™€ ์Šˆํผ์ถ•์ „๊ธฐ๋Š” <co: 4895>๋ฉ”์ปค๋‹ˆ์ฆ˜, ์†Œ์žฌ, ์ˆ˜๋ช…, ๋ณดํ˜ธํšŒ๋กœ, ๊ทน์„ฑ, ๊ณผ์ „์••, ์ž”์กด์šฉ๋Ÿ‰์ธก์ •, ํŠน์ง•</co: 4895> ๋“ฑ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌํŠฌ์ด์˜จ ๋ฐฐํ„ฐ๋ฆฌ๋Š” <co: 4895>๋ฆฌํŠฌ์ด์˜จ ์ด๋™ ๋ฉ”์ปค๋‹ˆ์ฆ˜</co: 4895>์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ,... "
}

RAG Prompt

RAG_PROMPT = """<|im_start|>system\n\n ๋‹น์‹ ์€ ๋Œ€ํ™”ํ˜• AI๋กœ์„œ, ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ฃผ์š” ์—ญํ• ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ , ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ตœ์ ์˜ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. \n๋‹น์‹ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›์น™์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:\n1. ํ•ญ์ƒ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ตœ์šฐ์„ ์œผ๋กœ ๊ณ ๋ คํ•˜๋ฉฐ, ๋ช…ํ™•ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋‹ต๋ณ€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.\n2. ์ œ๊ณต๋œ ๋ฌธ์„œ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ๊ตฌ์„ฑํ•˜๋˜, ์ถ”๊ฐ€์ ์ธ ๋ถ„์„๊ณผ ๋…ผ๋ฆฌ๋ฅผ ํ†ตํ•ด ์‘๋‹ต์˜ ์งˆ์„ ๋†’์ž…๋‹ˆ๋‹ค.\n3. ์‘๋‹ต์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฃผ์–ด์ง„ ์ง€์นจ์„ ๋”ฐ๋ฅด๊ณ , ๋ช…ํ™•ํ•œ ์ถœ์ฒ˜๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\n4. ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์ด ๋ชจํ˜ธํ•  ๊ฒฝ์šฐ, ๋ช…ํ™•์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ์งˆ๋ฌธ์„ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์•ˆ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n\n# ์‚ฌ์šฉ์ž ์•ˆ๋‚ด๋ฌธ\n## ์ž‘์—… ๋ฐ ๋งฅ๋ฝ\n๋‹น์‹ ์€ ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜๊ณ , ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‘๋‹ต์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์ •๋ณด ์ „๋‹ฌ์„ ๋„˜์–ด, ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์žฅ ์ ์ ˆํ•œ ํ˜•ํƒœ๋กœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.\n\n## ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ\njson ํ˜•์‹์œผ๋กœ ๋‹ต๋ณ€์„ ์ถœ๋ ฅํ•˜์„ธ์š”.[
    {{
        "related_document" : {{"๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id"}}
        "source" : {{"๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id" : "ํ•ด๋‹น ๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ธ์šฉ๊ตฌ ๊ตฌ์ ˆ, ์›๋ฌธ ๊ทธ๋Œ€๋กœ ํ‘œ๊ธฐ", 
                     "๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id" : "ํ•ด๋‹น ๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ธ์šฉ๊ตฌ ๊ตฌ์ ˆ, ์›๋ฌธ ๊ทธ๋Œ€๋กœ ํ‘œ๊ธฐ"}},
        "answer" : "์ถœ์ฒ˜๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ 3~6๋ฌธ์žฅ ์„ค๋ช…ํ˜• ๋‹ต๋ณ€",
        "grounded_answer" : "answer๊ณผ ๋™์ผํ•˜๋˜ <co: doc_id>์™€ </co: doc_id> ๊ธฐํ˜ธ๋กœ ์ธ์šฉ ์ถœ์ฒ˜๋ฅผ ๋ช…์‹œํ•œ ๋‹ต๋ณ€"
    }}
]\n
<|im_end|>\n<|im_start|>user\n {instruction}  <|im_end|>\n<|im_start|>assistant\n"""

Quickstart

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Surromind/RAG-Specialized-LLM"
model = AutoModelForCausalLM.from_pretrained(
    model_name, torch_dtype="auto", device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = """ ์งˆ๋ฌธ : NAOG ์™ธ์— ๋ชฝ๊ณจ์˜ ์–ด๋–ค ์‚ฌ๋žŒ๋“ค์ด ํ–‰์ •์ž์น˜๋ถ€ ์ง€๋ฐฉํ–‰์ •์—ฐ์ˆ˜์›์˜ ๊ต์œก ํ”„๋กœ๊ทธ๋žจ์— ์ฐธ๊ฐ€ํ•ด์™”์ง€?\n\n doc_id : 44365 / title : ํ•œ๊ตญ ์ง€๋ฐฉ์ธ์žฌ๊ฐœ๋ฐœ์ „๋žต ๋ฒ ํŠธ๋‚จ์— ์ „์ˆ˜๋œ๋‹ค. / content : ํ•œ๊ตญ ์ง€๋ฐฉ์ธ์žฌ๊ฐœ๋ฐœ์ „๋žต ๋ฒ ํŠธ๋‚จ์— ์ „์ˆ˜๋œ๋‹ค.\nโ–ก ๋ฒ ํŠธ๋‚จ ๋ž‘์„ ์„ฑ ์ง€๋ฐฉ์ •๋ถ€ ๊ณต๋ฌด์›๋“ค์ด ๊ณต๋ฌด์› ์ธ์žฌ์ฑ„์šฉ ๋ฐ ๊ต์œก ํ›ˆ๋ จ์ œ๋„ ์‹œ์Šคํ…œ ๋“ฑ ํ•œ๊ตญ์˜ ์ธ์ ์ž์›๊ฐœ๋ฐœ์ „๋žต์„ ๋ฐฐ์šฐ๋Ÿฌ ์šฐ๋ฆฌ๋‚˜๋ผ๋ฅผ ์ฐพ์•˜๋‹ค. \nโ—‹ ํ–‰์ •์ž์น˜๋ถ€ ์ง€๋ฐฉํ–‰์ •์—ฐ์ˆ˜์›(์›์žฅ ***, ์ดํ•˜ ์—ฐ์ˆ˜์›)์€ ํ•œ๊ตญ๊ตญ์ œ ํ˜‘๋ ฅ๋‹จ(KOICA)๊ณผ ๊ณต๋™์œผ๋กœ 11์›” 26์ผ๋ถ€ํ„ฐ 12์›” 9์ผ๊นŒ์ง€ 2์ฃผ๊ฐ„ ๋ฒ ํŠธ๋‚จ ๋ž‘์„ ์„ฑ ์ง€๋ฐฉ์ •๋ถ€ ๊ณต๋ฌด์› 15๋ช…์„ ๋Œ€์ƒ์œผ๋กœใ€Ž๋ฒ ํŠธ๋‚จ ๋ž‘์„ ์„ฑ ์ง€๋ฐฉ์ •๋ถ€ ๊ณต๋ฌด์› ์—ญ๋Ÿ‰๊ฐ•ํ™”๊ณผ์ •(Capacity Building for Vietnamese Local Government Officials from Lan Son Provinceใ€์„ ์šด์˜ํ•œ๋‹ค.\nโ–ก ์ด๋ฒˆ ๊ณผ์ •์€ ์—ฐ์ˆ˜์ƒ ๋Œ€๋ถ€๋ถ„์ด ๋ฒ ํŠธ๋‚จ ๋ž‘์„ ์„ฑ ์†Œ์†๊ณต๋ฌด์›์ธ ๋งŒํผ ํ•ด๋‹น ์ง€๋ฐฉ์ •๋ถ€๊ฐ€ ์š”์ฒญํ•œ ์ง€๋ฐฉํ–‰์ •, ๊ณต๋ฌด์› ์ฑ„์šฉยท๊ต์œก, ์ง€์—ญ๊ฒฝ์ œ ํ™œ์„ฑํ™” ๊ฐ•์˜ ๋ฐ ํ˜„์žฅ๊ฒฌํ•™ ๋“ฑ์˜ ๋งž์ถคํ˜• ์—ฐ์ˆ˜๊ณผ์ •์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ๋‹ค. \nโ—‹ ํŠนํžˆ, ๋ฒ ํŠธ๋‚จ ์ง€๋ฐฉ์ •๋ถ€ ๊ณต๋ฌด์›๋“ค์˜ ๋ฆฌ๋”์‹ญ๊ณผ ์—ญ๋Ÿ‰์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๋ฌด์› ์ธ์žฌ์ฑ„์šฉ ๋ฐ ๊ต์œกํ›ˆ๋ จ์ œ๋„ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ํ† ๋ก ์‹ ์„ธ๋ฏธ๋‚˜ ๋ฐฉ์‹์œผ๋กœ Action Plan์„ ์ˆ˜๋ฆฝํ•˜๋„๋ก ํ•˜์—ฌ ์—ฐ์ˆ˜์ƒ์ด ๋ž‘์„ ์„ฑ์˜ ์ธ์ ์ž์›๊ฐœ๋ฐœ ์ •์ฑ…์ˆ˜๋ฆฝ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•  ์˜ˆ์ •์ด๋‹ค.\nโ—‹ ์•„์šธ๋Ÿฌ, ์—ฐ์ˆ˜๋‹จ์€ ๋†์—…์†Œ๋“์ฆ๋Œ€์™€ ์ง€์—ญ๊ฒฝ์ œ ํ™œ์„ฑํ™” ์„ฑ๊ณต์‚ฌ๋ก€๋กœ ํ‰๊ฐ€ ๋ฐ›๊ณ  ์žˆ๋Š” ์™„์ฃผ๊ตฐ ๊ฑฐ์ ๋†๋ฏผ๊ฐ€๊ณต์„ผํ„ฐ, ์ง€์—ญ๊ฒฝ์ œ์ˆœํ™˜์„ผํ„ฐ ๋“ฑ์„ ๋ฐฉ๋ฌธํ•˜์—ฌ ์ง€์—ญ๋†๋ฏผ์ด ์ƒ์‚ฐํ•œ ๋†์‚ฐ๋ฌผ์ด 2์ฐจ, 3์ฐจ ์‹ํ’ˆ ๊ฐ€๊ณต ๊ณผ์ •์„ ๊ฑฐ์ณ ์•ˆ์ •์ ์œผ๋กœ ํŒ๋งค๋  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ๋†์‚ฐ๋ฌผ ๊ฐ€๊ณต ์‹œ์Šคํ…œ ํ˜„์žฅ์„ ์‚ดํŽด ๋ณผ ์˜ˆ์ •์ด๋‹ค. \nโ—‹ ์ด์™ธ์—๋„ ๋ฒ ํŠธ๋‚จ ๋ž‘์„ ์„ฑ์—์„œ ๊ด€์‹ฌ์ด ๋งŽ์€ ์ธ์ฒœ๊ฒฝ์ œ์ž์œ ๊ตฌ์—ญ์ฒญ์„ ๊ฒฌํ•™ํ•˜์—ฌ ํ•œ๊ตญ์˜ ๊ฒฝ์ œ๋ฐœ์ „์ƒ ๋“ฑ ํ˜„์žฅ์„ ๋‘˜๋Ÿฌ๋ณด๋ฉด์„œ ๋ž‘์„ ์„ฑ ์ง€์—ญ ๊ฒฝ์ œ์— ์ ‘๋ชฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฒดํ—˜์˜ ๊ธฐํšŒ๋„ ๊ฐ€์งˆ ์˜ˆ์ •์ด๋‹ค. \nโ–ก ํ•œํŽธ, ์—ฐ์ˆ˜์›์€ 2006๋…„๋ถ€ํ„ฐ ๋ฒ ํŠธ๋‚จ ์ง€๋ฐฉ ๊ณต๋ฌด์›๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ์—ฐ์ˆ˜๊ณผ์ •์„ ์šด์˜ํ•œ ์ดํ›„ 5๊ฐœ ๋ฒ ํŠธ๋‚จ ๊ณผ์ •๊ณผ ๊ธฐํƒ€ ๋‹ค๊ตญ ๊ณผ์ •์„ ํ†ตํ•˜์—ฌ ์ด 130๋ช…์˜ ์—ฐ์ˆ˜์ƒ์„ ๋™์ฐฝ์ƒ์œผ๋กœ ๋ฐฐ์ถœํ–ˆ๋‹ค.doc_id : 45112 / title : โ€œํ•œ๊ตญ ๊ณต๊ธฐ์—… ํ˜์‹ ์‚ฌ๋ก€ ๋ฐฐ์šฐ๋Ÿฌ ์™”์–ด์š”!โ€ / content : ๋ชฝ๊ณจ NAOG ๊ต์ˆ˜๋‹จ ๋ฐ ๊ณ ์œ„๊ณต๋ฌด์› ๋ฐฉํ•œ โ€œํ•œ๊ตญ ๊ณต๊ธฐ์—… ํ˜์‹ ์‚ฌ๋ก€ ๋ฐฐ์šฐ๋Ÿฌ ์™”์–ด์š”!โ€ - ์ง€๋ฐฉํ–‰์ •์—ฐ์ˆ˜์›, 13๋…„์งธ ๋ชฝ๊ณจ ๋งž์ถคํ˜• ๊ต์œก์‹ค์‹œ-\nโ–ก ํ–‰์ •์ž์น˜๋ถ€ ์ง€๋ฐฉํ–‰์ •์—ฐ์ˆ˜์›(์›์žฅ ์ตœ๋‘์˜, ์ดํ•˜ ์—ฐ์ˆ˜์›)์€ 3์›” 1์ผ๋ถ€ํ„ฐ 3์›” 8์ผ๊นŒ์ง€ ใ€Ž๋ชฝ๊ณจ NAOG* ์—ญ๋Ÿ‰๊ฐ•ํ™”๊ณผ์ •ใ€์„ ์šด์˜ํ•œ๋‹ค. \nโ—‹ ์ด๋ฒˆ ๊ณผ์ •์—๋Š” ๊ต์ˆ˜, ๊ณ ์œ„๊ณต๋ฌด์›, ์—ฐ์ˆ˜๊ด€๊ณ„๊ด€ 14๋ช…์ด ์ฐธ๊ฐ€ํ•œ๋‹ค. \n* NAOG (๊ตญ๋ฆฝ๊ฑฐ๋ฒ„๋„Œ์Šค ์•„์นด๋ฐ๋ฏธ, National Academy of Governance) : ๊ณต๋ฌด์›์€ ๋ฌผ๋ก  ์ •์น˜์ธยท๋ฏผ๊ฐ„์ธ ๋“ฑ ๋ชฝ๊ณจ์˜ ์˜คํ”ผ๋‹ˆ์–ธ ๋ฆฌ๋”๋“ค์„ ๊ต์œกํ•˜๋Š” ๋ชฝ๊ณจ ์ตœ๋Œ€์˜ ๊ต์œก๊ธฐ๊ด€์œผ๋กœ ์„โ€ค๋ฐ•์‚ฌํ•™์œ„ ์ˆ˜์—ฌ\nโ–ก ์—ฐ์ˆ˜์›์€ ๋ชฝ๊ณจ NAOG์™€ 2002๋…„ ๊ต๋ฅ˜ํ˜‘๋ ฅ MOU๋ฅผ ์ฒด๊ฒฐํ•œ ์ดํ›„, 13๊ฐœ ๊ต์œก๊ณผ์ •(ํ–‰์ •๊ฐœํ˜, ๊ฒฝ์ œ๋ฐœ์ „ ์ „๋žต, ํ–‰์ •์˜ ํˆฌ๋ช…์„ฑ ์ œ๊ณ  ๋ฐฉ์•ˆ ๋“ฑ)์„ ์šด์˜ํ•ด 158๋ช…์˜ NAOG ๊ต์ˆ˜์™€ ๊ณ ์œ„ ๊ณต๋ฌด์›์„ ๋™์ฐฝ์ƒ์œผ๋กœ ๋ฐฐ์ถœํ–ˆ๊ณ , \nโ—‹ ๊ทธ ์ด์™ธ์—๋„ ๋ชฝ๊ณจ์˜ ๋„์ง€์‚ฌ, ๊ตฐ์ˆ˜ ๋“ฑ ์ง€๋ฐฉ๊ณต๋ฌด์› 1,310๋ช…์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ๊ตญ ์ง€๋ฐฉํ–‰์ •์˜ ์šฐ์ˆ˜์‚ฌ๋ก€๋ฅผ ๋ฒค์น˜๋งˆํ‚นํ•  ์ˆ˜ ์žˆ๋Š” ๋ชฝ๊ณจ๊ตฐ์ˆ˜ ๊ณผ์ • ๋“ฑ ๋‹ค์–‘ํ•œ ๊ต์œกํ”„๋กœ๊ทธ๋žจ์„ ์šด์˜ํ•ด ์˜ค๊ณ  ์žˆ๋‹ค.
"""
messages = [
    {
        "role": "system",
        "content": """๋‹น์‹ ์€ ๋Œ€ํ™”ํ˜• AI๋กœ์„œ, ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ฃผ์š” ์—ญํ• ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ๋ฅผ ์ •ํ™•ํžˆ ์ดํ•ดํ•˜๊ณ , ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ตœ์ ์˜ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. \n๋‹น์‹ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›์น™์„ ์ค€์ˆ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:\n1. ํ•ญ์ƒ ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ตœ์šฐ์„ ์œผ๋กœ ๊ณ ๋ คํ•˜๋ฉฐ, ๋ช…ํ™•ํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ๋‹ต๋ณ€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.\n2. ์ œ๊ณต๋œ ๋ฌธ์„œ๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ๊ตฌ์„ฑํ•˜๋˜, ์ถ”๊ฐ€์ ์ธ ๋ถ„์„๊ณผ ๋…ผ๋ฆฌ๋ฅผ ํ†ตํ•ด ์‘๋‹ต์˜ ์งˆ์„ ๋†’์ž…๋‹ˆ๋‹ค.\n3. ์‘๋‹ต์„ ์ƒ์„ฑํ•  ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์ฃผ์–ด์ง„ ์ง€์นจ์„ ๋”ฐ๋ฅด๊ณ , ๋ช…ํ™•ํ•œ ์ถœ์ฒ˜๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.\n4. ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์ด ๋ชจํ˜ธํ•  ๊ฒฝ์šฐ, ๋ช…ํ™•์„ฑ์„ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ์งˆ๋ฌธ์„ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ์•ˆ์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.\n\n# ์‚ฌ์šฉ์ž ์•ˆ๋‚ด๋ฌธ\n## ์ž‘์—… ๋ฐ ๋งฅ๋ฝ\n๋‹น์‹ ์€ ์‚ฌ์šฉ์ž ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ๋ถ„์„ํ•˜๊ณ , ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์‘๋‹ต์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ์ •๋ณด ์ „๋‹ฌ์„ ๋„˜์–ด, ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜์—ฌ ๊ฐ€์žฅ ์ ์ ˆํ•œ ํ˜•ํƒœ๋กœ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.\n\n## ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ\njson ํ˜•์‹์œผ๋กœ ๋‹ต๋ณ€์„ ์ถœ๋ ฅํ•˜์„ธ์š”.[{"related_document" : {"๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id"}, "source" : {"๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id" : "ํ•ด๋‹น ๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ธ์šฉ๊ตฌ ๊ตฌ์ ˆ, ์›๋ฌธ ๊ทธ๋Œ€๋กœ ํ‘œ๊ธฐ", "๋ฌธ์„œ ์ •๋ณด์—์„œ ์ฐพ์€ doc_id" : "ํ•ด๋‹น ๋ฌธ์„œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์ธ์šฉ๊ตฌ ๊ตฌ์ ˆ, ์›๋ฌธ ๊ทธ๋Œ€๋กœ ํ‘œ๊ธฐ"},"answer" : "์ถœ์ฒ˜๋ฅผ ํ‘œ๊ธฐํ•˜์ง€ ์•Š์€ 3~6๋ฌธ์žฅ ์„ค๋ช…ํ˜• ๋‹ต๋ณ€","grounded_answer" : "answer๊ณผ ๋™์ผํ•˜๋˜ <co: doc_id>์™€ </co: doc_id> ๊ธฐํ˜ธ๋กœ ์ธ์šฉ ์ถœ์ฒ˜๋ฅผ ๋ช…์‹œํ•œ ๋‹ต๋ณ€"}]\n""",
    },
    {"role": "user", "content": prompt},
]
text = tokenizer.apply_chat_template(
    messages, tokenize=False, add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(**model_inputs, max_new_tokens=512)
generated_ids = [
    output_ids[len(input_ids) :]
    for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)

ํ•™์Šต ํ™˜๊ฒฝ ๋ฐ ํŒŒ๋ผ๋ฏธํ„ฐ

  • ํŠœ๋‹ ํ™˜๊ฒฝ
    • H100(80GB) * 8
  • ํŒŒ๋ผ๋ฏธํ„ฐ
    • tokenizer_model_mex_length 4500
    • use_flash_attn True
    • num_train_epochs 3.0
    • weight_decay 0.001
    • lr_scheduler_type "linear"
    • per_device_train_batch_size 1
    • gradient_accumulation_steps 64
    • learning_rate 5e-06
    • bf16 True
    • deepspeed ds_stage2.json

์‚ฌ์šฉ ๋ฐ์ดํ„ฐ์…‹

  • AIhub 16 ํ–‰์ • ๋ฌธ์„œ ๋Œ€์ƒ ๊ธฐ๊ณ„๋…ํ•ด ๋ฐ์ดํ„ฐ
  • AIhub 17 ๋‰ด์Šค ๊ธฐ์‚ฌ ๊ธฐ๊ณ„๋…ํ•ด ๋ฐ์ดํ„ฐ
  • AIhub 21 ๋„์„œ์ž๋ฃŒ ๊ธฐ๊ณ„๋…ํ•ด
  • AIhub 149 ํ‘œ ์ •๋ณด ์งˆ์˜์‘๋‹ต ๋ฐ์ดํ„ฐ
  • AIhub 150 ์ˆซ์ž์—ฐ์‚ฐ ๊ธฐ๊ณ„๋…ํ•ด ๋ฐ์ดํ„ฐ
  • AIhub 151 ๊ธˆ์œต, ๋ฒ•๋ฅ  ๋ฌธ์„œ ๊ธฐ๊ณ„๋…ํ•ด ๋ฐ์ดํ„ฐ
  • kyujinpy/KoCoT_2000
  • MarkrAI/KoCommercial-Dataset
  • CarrotAI/ko-instruction-dataset
  • heegyu/CoT-collection-ko

Contact us

  • ์จ๋กœ๋งˆ์ธ๋“œ
  • ์„œ์šธ์‹œ ๊ด€์•…๊ตฌ ๋‚จ๋ถ€์ˆœํ™˜๋กœ 1802, 2์ธต
  • 02-872-5127
  • contact@surromind.ai
Downloads last month
57
Safetensors
Model size
14.8B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Surromind/RAG-Specialized-LLM

Base model

Qwen/Qwen2.5-14B
Finetuned
(58)
this model
Quantizations
1 model

Datasets used to train Surromind/RAG-Specialized-LLM