---
base_model: MLP-KTLim/llama-3-Korean-Bllossom-8B
library_name: peft
license: llama3
datasets:
- iknow-lab/ko-genstruct-v1
language:
- ko
---
# Ko-genstruct v0.1
![](image.webp)
Ko-genstruct는 주어진 문서로부터 instruction tuning에 필요한 instruction을 생성해내는 모델입니다. 시험문제와 글쓰기 문제 두가지 유형의 지시문을 생성해낼 수 있습니다.
이 모델은 [Ada-instruct](https://arxiv.org/abs/2310.04484)와 [Genstruct](https://huggingface.co/NousResearch/Genstruct-7B)로부터 영감을 받았습니다.
다음과 같은 용도로 활용할 수 있습니다.
- 검색 모델을 학습하기 위해 주어진 텍스트로부터 질문을 생성하기
- Instruction Tuning 학습 데이터를 생성하기 위해 Ko-genstruct로 instruction을 생성 후, 다른 LLM을 이용하여 답변 생성
## Details
- **Developed by:** [iKnow-Lab](https://github.com/iKnowLab-Projects/ko-genstruct)
- **License:** [llama3]
- **Lora-tuned from model:** [MLP-KTLim/llama-3-Korean-Bllossom-8B](https://huggingface.co/MLP-KTLim/llama-3-Korean-Bllossom-8B)
## 사용방법
### 질문 생성
아래 예제를 활용하여, 주어진 문서로부터 지시문을 생성할 수 있습니다. 시험문제와 글쓰기 문제 두가지 프롬프트 유형이 존재합니다.
```python
import transformers
import peft
model_id = "MLP-KTLim/llama-3-Korean-Bllossom-8B"
peft_model_id = "iknow-lab/ko-genstruct-v0.1"
tokenizer = transformers.AutoTokenizer.from_pretrained(model_id)
model = transformers.AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", torch_dtype="auto").eval()
model.load_adapter(peft_model_id)
title = "여기에 문서 제목 입력"
text = "여기에 문서 내용 입력"
PROMPT_QA = """당신은 시험문제 출제위원입니다. 다음 자료에 기반하여 전문가 수준의 시험문제를 출제할 것입니다. 자료를 바탕으로 지시사항에 맞는 결과물을 json 형식으로 반환해주세요.
1. 생성한 문제는 실생활에서 사용하는 질문의 말투를 사용해야 합니다(~무엇인가요? ~작성해주세요. ~ 어떻게 해야하죠?)
2. 먼저 고등학교 수준의 문제를 생성하고, 이를 전문가 수준으로 고난이도 문제로 향상해주세요. 각 문제는 반드시 제시된 자료를 바탕으로 만들어져야 합니다. 연관성이 적더라도, 창의적인 아이디어로 해당 자료를 활용하세요.
3. 문제에는 답안 작성에 필요한 내용을 주어진 자료에서 추출해서 함께 제공해야합니다.
4. 출제할 문제의 과목 후보는 다음과 같습니다: 글쓰기, 한국어, 영어, 수학, 사회과학, 과학, 역사 문화예술, 법, 도덕, 정치, 종교, 외국어, 경제, 경영, 의료, 공학, 인문학 등 - 후보에 없어도, 적절한 과목을 자유롭게 말할 수 있다.
# 제목: {title}
# 자료:
{text}"""
PROMPT_WRITING = """당신은 글쓰기 시험문제 출제위원입니다. 다음 자료에 기반하여 전문가 수준의 시험문제를 출제할 것입니다. 자료를 바탕으로 지시사항에 맞는 결과물을 json 형식으로 반환해주세요.
1. 생성한 문제는 실생활에서 사용하는 질문의 말투를 사용해야 합니다(~무엇인가요? ~작성해주세요. ~ 어떻게 해야하죠?)
2. 먼저 고등학교 수준의 문제를 생성하고, 이를 전문가 수준으로 고난이도 문제로 향상해주세요. 각 문제는 반드시 제시된 자료를 바탕으로 만들어져야 합니다. 연관성이 적더라도, 창의적인 아이디어로 해당 자료를 활용하세요.
3. 문제에는 글쓰기 작성에 필요한 내용을 주어진 자료에서 추출해서 함께 제공해야합니다.
4. 출제할 문제의 주제 후보는 다음과 같습니다. 이 중에서 적절한 주제를 3가지 선택하세요: 이력서, 노래가사, 시 혹은 소설, 에세이, 극본, 시나리오, 여행일기, 여행계획서, 요리레시피, 해설, 자기소개서, 편지, 이메일, 리뷰 및 평가, 소셜 미디어 포스트, 일기, 청원서, 항의서, 쇼핑 리스트, 메모, 연구 논문 및 계획서, 비즈니스 보고서 및 게획서, 기술 문서, 발표자료, 계약서 혹은 법률 문서, 편집 및 출판 문서, 광고 카피라이트, 웹 콘텐츠, 뉴스레터, 연설문, 자기계발서, 분석보고서, 기획안, 제안서
# 제목: {title}
# 자료:
{text}"""
def generate_question(title, text, is_writing: bool = False):
prompt=PROMPT_WRITING if is_writing else PROMPT_QA
prompt = prompt.format(title=title, text=text)
prompt = [{"content": prompt, "role": "user"}]
inputs = tokenizer.apply_chat_template(prompt, return_tensors="pt", add_generation_prompt=True, tokenize=False)
inputs = inputs.strip() + "\n\n```json\n{\n \"topic\":"
inputs = tokenizer.encode(inputs, add_special_tokens=False, return_tensors="pt").to(model.device)
outputs = model.generate(input_ids=inputs, max_new_tokens=256, do_sample=True, early_stopping=True, eos_token_id=128009, temperature=1.0)
question = tokenizer.decode(outputs[0, inputs.shape[1]:], skip_special_tokens=False)
return question
print("Question generation test")
for _ in range(5):
question = generate_question(title, text)
print(question)
print("Writing generation test")
for _ in range(5):
question = generate_question(title, text, True)
print(question)
```
### 생성 결과
예시 1: 아주대학교 학칙
입력
```python
title = "아주대학교 학칙"
text = """
제1장 총칙
제1조(목적) 이 학칙은 아주대학교(이하“본 대학교”라 한다)의 이념을 설정하고 이를 달성하는데 필요한 사항을 규정함을 목적으로 한다.
제2조(대학이념) 본 대학교는 대한민국 교육의 근본이념에 입각하여 인간존중, 실사구시, 세계일가의 정신으로 국가 및 인류사회의 발전에 기여할 수 있는 유능한 인재를 양성하고 학술의 심오한 이론과 그 광범하고 정치한 응용방법을 연구하며 교육ㆍ연구의 능력과 시설을 활용하여 사회에 직접 봉사하는 것을 목표로 한다.
제3조(정의) ①“학사과정”이라 함은 학사학위를 수여하기 위한 과정을 말한다.
②“석사과정”이라 함은 석사학위를,“박사과정”이라 함은 박사학위를,“석ㆍ박사통합과정”이라 함은 학사에게 박사학위를 각각 수여하기 위한 과정을 말한다.
③“대학원과정”이라 함은 본 대학교 일반대학원, 전문대학원 및 특수대학원에 설치된 석사과정, 박사과정 및 석ㆍ박사통합과정 모두를 말한다.
④“학과간협동과정”이라 함은 대학원과정 안에 2개 이상의 학과가 공동으로 설치ㆍ운영하는 과정을 말한다. (개정 2013.7.5)
⑤“학연산협동과정”이라 함은 대학원과정 안에 연구기관 또는 산업체와의 계약에 의하여 설치ㆍ운영하는 학ㆍ연ㆍ산, 학ㆍ연 또는 학ㆍ산 협동과정을 말한다.
⑥“학ㆍ석사연계과정”이라 함은 본 대학교 학사과정과 일반대학원 석사과정을 연계하는 과정을 말한다. (신설 2008.5.21)
⑦“특수학부”라 함은 대학에 소속되어 있지 않은 독립학부를 말한다. (개정 2008.5.21) (개정 2010.7.21)
⑧ “전문과정”이라 함은 학사과정에서 대외 교육인증을 받기 위하여 운영하는 교육과정을 말한다. (신설 2011.8.11)
제2장 조직
제4조(기구) 본 대학교에 총장, 교무부총장, 의무부총장, 산학부총장, 대학, 일반대학원, 전문대학원, 특수대학원, 특수학부, 대학교본부, 부속기관, 연구기관, 지원기관, 아주대학교산학협력단, 의료원, 총장직속기구, 부총장직속기구 및 특별기구를 두며, 세부사항은 별표1과 같다. (개정 2007.3.26) (개정 2007.7.25) (개정 2007.9.9) (개정 2008.2.22) (개정 2008.12.16) (개정 2009.2.20) (개정 2009.4.2) (개정 2009.4.29) (개정 2009.7.27) (개정 2009.10.18) (개정 2009.12.7) (개정 2010.2.26) (개정 2010.7.21) (개정 2011.1.11) (개정 2011.8.11) (개정 2011.12.23) (개정 2012.5.10) (개정 2012.7.17) (개정 2012.11.19) (개정 2013.1.25) (개정 2013.5.1) (개정 2013.7.30) (개정 2013.12.31) (개정 2014.5.30) (개정 2014.6.30) (개정 2015.2.10) (개정 2015.05.18) (개정 2015.08.13.) (개정 2015.10.16) (개정 2016.1.8) (개정 2016.2.3) (개정 2016.3.24) (개정 2016.5.9) (개정 2016.8.23) (개정 2016.12.29) (개정 2017.2.13) (개정 2017.4.19) (개정 2017.7.14) (개정 2018.1.31) (개정 2018.5.11) (개정 2018.8.12) (개정 2019.01.15) (개정 2019.10.2) (개정 2020. . )
제5조(총장) 총장은 교무를 통할하고 본 대학교를 대표한다.
제6조(부총장) ① 교무부총장은 의무(醫務)와 산학협력 이외의 교무(校務)에 관하여, 의무부총장은 의무(醫務)에 관하여 산학부총장은 산학협력에 관하여 총장을 보좌하며, 각 부총장은 총장이 구체적으로 위임한 업무를 관장한다. (개정 2009.4.2) (개정 2015.10.16)
② 총장이 궐위되거나 그 직무를 수행할 수 없는 사정이 있는 경우에는 이사장이 지명하는 부총장이 총장의 직무를 대행한다. (개정 2009.4.2)
제7조(대학교본부) ① 대학교본부에 교무처, 연구정보처, 학생처, 총무처, 기획처, 입학처, 국제협력처를 둔다. (개정 2015.10.16) (개정 2017.4.19)
② 각 처의 업무에 관하여는「아주대학교 직제규정」으로 정한다.
제7조의2(평생학습중심대학추진본부) ①「아주대학교 직제규정」제5조 제10항에 의거 특별기구로 평생학습중심대학추진본부를 둔다. (신설 2009.7.27) (개정 2017.7.14)
② 평생학습중심대학추진본부는 평생교육과 관련한 제반업무를 관할한다. (신설 2009.7.27)
③ 평생학습중심대학추진본부 운영에 대해서는 총장이 따로 정한다. (신설 2009.7.27)
제7조의3(기관생명윤리위원회) ①「아주대학교 직제규정」제5조 제10항에 의거 특별기구로 기관생명윤리위원회를 둔다. (신설 2013.7.30) (개정 2017.7.14)
② 기관생명윤리위원회는 인간대상연구 및 인체유래물연구의 윤리와 안전을 심의하고 감독하는 업무를 관할한다. (신설 2013.7.30)
③ 기관생명윤리위원회 운영에 대해서는 총장이 따로 정한다. (신설 2013.7.30)"""
```
#### Question generation test
```json
{
"topic": "대학원과정",
"question": "대학원과정에 대해 설명해주세요.",
"hard_questions": [
"대학원과정이란 무엇인가요?",
"대학원과정과 일반대학원에 어떤 차이점이 있는지 설명해주세요.",
"대학원과정이 학부생의 학습과 학문적 성장을 어떻게 지원하는지 설명해주세요."
]
}
```
```json
{
"topic": "학사과정",
"question": "학사과정의 과정에 대해 자세히 설명해주세요.",
"hard_questions": [
"학사과정이란 무엇이며, 이 과정에서 어떤 종류의 학위를 얻을 수 있는지 설명해주세요.",
"학사과정과 석ㆍ박사통합과정의 차이점에 대해 비교하고, 각각의 목적과 역할에 대해 논해주세요.",
"학사과정과 대학원과정의 관계와 상호작용에 대해 설명해주세요."
]
}
```
```json
{
"topic": "교육",
"question": "아주대학교의 대학원과정은 어떤 종류가 있으며, 각 과정의 특징은 무엇인가요?",
"hard_questions": [
"아주대학교의 대학원과정이 정의되는 바에 대해 자세히 설명해주세요.",
"석사과정, 박사과정, 석ㆍ박사통합과정의 차이점을 비교하고, 각 과정의 목적에 대해 논하세요.",
"학사과정과 석ㆍ박사통합과정의 연계과정에 대해 설명하고, 이에 대한 장단점에 대해 서술해주세요."
]
}
```
```json
{
"topic": "대학의 구성",
"question": "아주대학교의 대학 구성원은 어떤 조직이 있으며, 각 조직의 역할은 무엇인가요?",
"hard_questions": [
"아주대학교의 총장은 교무와 대학교를 대표하는 역할을 맡고 있습니다. 총장의 권한과 책임은 어떤 것들이 있는지 상세히 설명해주세요.",
"아주대학교의 대학원과정은 어떤 종류가 있으며, 각 대학원과정의 목적과 내용은 무엇인가요? 이러한 대학원과정이 대학의 교육 연구 기능에 미치는 영향은 어떤 점이 있는지 분석해주세요.",
"아주대학교의 기구 중에 특별기구로 설치된 평생학습중심대학추진본부와 기관생명윤리위원회에 대해 자세히 설명해주세요. 이러한 특별기구가 대학의 교육 연구 기능에 미치는 영향은 어떤 점이 있는지 분석해주세요."
]
}
```
```json
{
"topic": "법",
"question": "아주대학교의 총장 직무에 관하여 설명해주세요.",
"hard_questions": [
"아주대학교의 총장이 교육과 대학의 대표자로서 어떤 역할을 수행하나요? 각 부총장의 역할을 자세히 설명해주세요.",
"아주대학교의 부총장들은 총장에게 어떠한 업무를 관장하고 있을까요? 각 부총장이 어떤 상황에서 총장을 대행할 수 있는지 설명해주세요.",
"아주대학교의 대학교본부에 어떤 처들이 설치되어 있으며, 각 처의 업무에 관하여「아주대학교 직제규정」이 정하고 있나요?"
]
}
```
#### Writing generation test
```json
{
"topic": "발표자료 관련 작성 문제",
"question": "아주대학교의 기구와 직제 규정에 대해 발표자료를 작성해주세요.",
"hard_questions": [
"대학교에 설치된 기구들의 역할과 위치에 대해 자세히 설명해주세요.",
"평생학습중심대학추진본부와 기관생명윤리위원회의 업무에 대해 서술해주세요.",
"총장과 부총장의 역할 및 임명 과정에 대해 조사하여 발표자료를 작성해주세요."
]
}
```
```json
{
"topic": "이메일 관련 작성 문제",
"question": "아주대학교에 대한 학부모에게 이메일을 작성해주세요.",
"hard_questions": [
"이메일에서 어떤 정보가 포함되어야 할까요?",
"아주대학교의 학부모에게 전달할 중요한 사항은 무엇일까요?",
"이메일 작성시 주의해야 할 점은 무엇인가요?"
]
}
```
```json
{
"topic": "분석보고서 관련 작성 문제",
"question": "아주대학교 학칙 제3조에서 언급된 대학원과정, 학연산협동과정, 학ㆍ석사연계과정 등에 대해 분석 보고서를 작성해주세요.",
"hard_questions": [
"대학원과정과 학ㆍ석사연계과정의 차이점과 연계과정이 왜 중요한지 분석해보세요.",
"학ㆍ석사연계과정의 장점과 단점을 비교 분석하고 개선점을 제시해보세요.",
"아주대학교 대학원과정의 특성과 학ㆍ석사연계과정의 중요성에 대해 서술해주세요."
]
}
```
```json
{
"topic": "자기소개서 관련 작성 문제",
"question": "아주대학교의 학칙을 보고, 해당 대학교가 목표로 하는 교육 목표를 어떤 종류의 인간을 양성하는지 설명해주세요.",
"hard_questions": [
"대학이념에 따라 대학에서 교육 및 연구의 중요성은 무엇인가요?",
"학생들 간의 협동과 사회적 책임을 강조하는 이유는 무엇인가요?",
"대학의 학부 간 협동 과정에서 어떤 협력 체계가 사용되는지 설명해주세요."
]
}
```
```json
{
"topic": "이메일 관련 작성 문제",
"question": "아주대학교 학생들을 대상으로 이메일을 보내고자 합니다. 이메일 제목은 어떤 것인지 작성해주세요.",
"hard_questions": [
"이메일의 주제와 내용을 자세히 설명해주세요.",
"이메일을 통해 학생들에게 전달하고 싶은 메시지는 무엇인가요?",
"이메일 내용에서 어떤 중요 내용을 강조해야 할까요?"
]
}
```
예시 2: 뉴스
입력
```python
title = "프랑스 총선 대반전… 좌파연합 승리"
text = """7일(현지시간) 치러진 프랑스 조기 총선 결선에서 좌파연합 신민중전선(NFP)이 예상을 깨고 극우 국민연합(RN)을 누르고 1당 자리를 차지했다. 1차 투표에서 1위를 차지하며 총선 기간 내내 지지율 1위였던 RN은 범여권과 좌파의 단일화 벽에 부딪혀 3위로 밀려났다.
8일 프랑스 내무부에 따르면 총선 결선 투표 결과, NFP가 하원 577석 중 182석을 얻어 원내 1당 자리에 올랐다. 에마뉘엘 마크롱 대통령의 르네상스당을 중심으로 한 여권 연합 앙상블은 168석으로 2위를 차지했다. RN은 143석을 얻는 데 그쳤다.
RN은 지난달 30일 1차 투표에서 33.2%를 득표해 1위에 오르면서 2차 결선투표에서 240∼270석을 얻을 것으로 전망됐다. 하지만 극우 집권을 막기 위해 NFP와 앙상블이 대대적인 후보 단일화에 나서면서 판세가 뒤집혔다. RN의 조르당 바르델라 대표는 “불명예스러운 동맹이 프랑스를 극좌의 품에 던지고 있다”며 “우리는 프랑스 국민의 편에 설 것”이라고 한층 강경한 대정부 투쟁을 예고했다.
총선 결과 원내 1당을 차지하게 된 NFP는 정부 운영에 나설 뜻을 분명히 해 27년 만에 동거정부가 들어설 것으로 보인다. NFP 소속인 굴복하지않는프랑스(LFI)의 장뤼크 멜랑숑 대표는 “유권자들이 불가능할 것으로 여겨진 좌파연합의 승리를 만들어냈다”며 “좌파연합은 집권할 준비가 돼 있다”고 말했다. NFP 소속 사회당의 올리비에 포르 대표도 “프랑스는 RN이 집권하는 것을 거부했다”며 “NFP가 우리 역사의 새로운 페이지를 책임져야 한다”고 강조했다.
한편 가브리엘 아탈 총리는 앙상블이 1당 지위를 확보하지 못한 데 대해 책임을 지겠다며 대통령에게 사의를 표하겠다고 밝혔다."""
```
#### Question generation test
```json
{
"topic": "프랑스 정치",
"question": "프랑스 조기 총선 결과에 대해 간단히 설명해주세요.",
"hard_questions": [
"NFP와 RN 간의 경쟁이 어떻게 전개되었는지 설명해주세요.",
"NFP가 정부 운영에 나설 뜻을 밝힌 이유와 이로 인해 발생하는 변화에 대해 분석해주세요.",
"총선 결과로 인해 발생하는 프랑스 정치의 전망과 주요 인물들의 역할에 대해 논하세요."
]
}
```
```json
{
"topic": "프랑스 정치",
"question": "총선 결과에 대한 간략한 설명을 작성해주세요.",
"hard_questions": [
"총선에서 좌파연합의 승리가 극우 정당에 어떤 영향을 미쳤는지 설명해주세요.",
"이전의 프랑스 총선 결과와 현재의 총선 결과 간의 차이점은 무엇인가요?",
"여권 연합 앙상블이 지지율 2위로 자리했음에도, 왜 여전히 권력이 부여되는지에 대해 생각해보고 설명해주세요."
]
}
```
```json
{
"topic": "사회과학",
"question": "한국의 총선 결과와 프랑스의 총선 결과를 비교하여 정치적 성향과 득표율에 대해 설명해주세요.",
"hard_questions": [
"한국과 프랑스의 총선 결과를 종합하여 각 국가의 정치체제와 국민들의 정치적 의식에 대해 분석해보세요.",
"한국과 프랑스의 정당 간의 연합과 연대 관계를 비교하고, 이에 대한 정치적 의미를 논해주세요.",
"한국과 프랑스의 정치체제가 갖는 국제 정치적 영향력을 비교하고, 이에 대한 예측을 해보세요."
]
}
```
```json
{
"topic": "정치",
"question": "좌파연합이 프랑스 총선에서 어떻게 승리하였는지 자세히 설명해주세요.",
"hard_questions": [
"좌파연합의 승리가 원내 1당 자리를 차지하게 된 과정을 설명해주세요.",
"극우 국민연합(RN)과 좌파연합(NFP)의 선거 전략과 결과에 대해 비교 분석해주세요.",
"NFP가 좌파연합으로 집권할 준비가 돼 있다고 주장한 이유를 상세히 작성해주세요."
]
}
```
```json
{
"topic": "법",
"question": "총선 결과에 따라 일어날 수 있는 정책 변화에 대해 설명해주세요.",
"hard_questions": [
"총선 결과가 프랑스 정치에 미칠 영향을 설명해주세요.",
"이번 총선 결과가 프랑스 정치체제에 미칠 영향을 분석해주세요.",
"총선 결과에 따라 예상되는 정책 변화가 프랑스 사회에 미칠 영향을 설명해주세요."
]
}
```
#### Writing generation test
```json
{
"topic": "일기 관련 작성 문제",
"question": "당신이 오늘 읽은 프랑스 총선 대반전과 좌파연합의 승리 소식을 읽고, 하루 동안 느낀 감정을 써보세요.",
"hard_questions": [
"이 소식이 당신에게 미치는 영향을 설명해보세요.",
"이 소식을 읽고 난 후 가장 중요한 것은 무엇인가요?",
"당신이 이 소식을 읽고 난 후 어떻게 행동할 것이며, 그 이유는 무엇인가요?"
]
}
```
```json
{
"topic": "분석보고서 관련 작성 문제",
"question": "프랑스 총선 결과에 대한 분석보고서를 작성해주세요.",
"hard_questions": [
"NFP가 원내 1당을 차지하게 된 이유에 대해 분석하고, RN이 3위로 밀린 원인에 대해 상세히 작성해주세요.",
"좌파연합이 정부 운영에 나설 뜻을 분명히 한 경우에 대한 분석 및 시사점을 제시해주세요.",
"전체 분석을 통해 이 총선이 프랑스 정치에 미칠 영향과 향후 전망에 대해 논의해주세요."
]
}
```
```json
{
"topic": "해설 관련 작성 문제",
"question": "총선 결과를 해설해보세요.",
"hard_questions": [
"NFP와 앙상블의 선거 결과를 해설하면서 각 후보들이 어떤 점을 강조하였는지 자세히 작성해주세요.",
"정치학적인 관점에서 해석한 바를 설명해주세요.",
"총선 결과가 프랑스 사회에 미칠 영향과 가능성을 전망해보세요."
]
}
```
```json
{
"topic": "자기소개서 관련 작성 문제",
"question": "당신은 총선 결과를 소통할 필요가 있다고 생각하는 프랑스 정치인으로, 자기소개서를 작성해야 합니다. 이에 따라, 당신의 정치적 가치관과 전략을 설명하고, 프랑스 국민에게 어떤 메시지를 전달할 것인지 작성해주세요.",
"hard_questions": [
"자기소개서를 작성할 때, 당신의 정치적 가치관을 강조하고, 이를 프랑스 국민에게 전달하는 방법에 대해 어떻게 생각하시는지 쓰세요.",
"자기소개서 작성 중 자신을 대표할 수 있는 경험을 몇 가지 소개하고, 이를 통해 보여주는 당신의 성장과 경험을 설명해주세요.",
"당신의 정치적 전략을 간단히 설명하고, 이를 통해 프랑스 국민에게 어떠한 메시지를 전달할 것인지 서술해주세요."
]
}
```
```json
{
"topic": "이력서 관련 작성 문제",
"question": "당신이 이력서를 작성해야 한다. 어떤 내용을 반드시 포함해야 하며, 그 이유는 무엇인가요?",
"hard_questions": [
"이력서를 작성할 때 중요한 점은 무엇이며, 왜 중요한가요?",
"자기소개서 작성 시 주의해야 할 점은 무엇인가요?",
"이력서 작성 시 강조해야 할 내용과 기술적인 측면은 무엇인가요?"
]
}
```
예시 3: 법률 판례
입력
```python
title = "감염병의예방및관리에관한법률위반"
text = "질병관리청장, 시·도지사 또는 시장·군수·구청장은 감염병의 전파 방지 및 예방을 위하여 감염병의심자에게 자가 또는 시설에 격리 조치를 하게 할 수 있고, 누구든지 위와 같은 격리조치를 위반하여서는 아니 된다. 피고인은 코로나19 확진자와 접촉한 격리대상자로 ‘2021. 2. 25.부터 2021. 3. 10.까지 광주 북구 B건물, C호에 자가격리 조치한다'는 내용의 격리통지서를 수령하였음에도 불구하고, 격리기간 중인 2021. 3. 10. 10:00경부터 같은 날 11:30경까지 피고인의 자가격리 사실을 모르는 사업 관계자를 만나기 위하여 피고인의 휴대전화에 설치된 자가격리 안전보호 앱을 끄고 위 장소에서 이탈하여 자차로 전북 남원까지 운전하는 등 자가격리 조치를 위반하였다."
```
#### Question generation test
```json
{
"topic": "감염병 예방 및 관리",
"question": "위 자료에 따르면, 감염병의 전파 방지 및 예방을 위해 감염병의심자에게 격리 조치를 하게 한다는 법률 내용은 무엇인가요?",
"hard_questions": [
"위 자료에서 말하는 '자가 또는 시설에 격리 조치를 하게 할 수 있다'라는 부분은 어떤 의미를 담고 있나요?",
"피고인이 받은 격리통지서의 내용은 어떤 내용이며, 왜 위에서 언급된 대로 행동을 한 것이 문제일까요?",
"위 법률 내용을 참고하여 감염병 확산 방지를 위한 조치의 필요성에 대해 논하세요."
]
}
```
```json
{
"topic": "법",
"question": "감염병의 전파 방지 및 예방을 위하여 자가 또는 시설에 격리 조치를 하는 경우, 어떤 위반 행위가 있을 수 있나요?",
"hard_questions": [
"자가격리 조치의 대상이 되고자 하는 상황에서, 격리 기간 동안의 자가격리 사실을 다른 사람에게 알리지 않으려는 행위는 어떤 위반 행위에 해당하나요?",
"자가 또는 시설에 격리 조치를 받는 상황에서, 해당 조치를 위반하는 행위는 어떤 형태로 이루어지나요?",
"자가격리 조치를 받는 사람 중, 격리 기간 동안의 자가격리 사실을 다른 사람에게 알리지 않으려는 의도가 있는 경우, 어떤 법률에 위배되는지 설명해주세요."
]
}
```
```json
{
"topic": "법",
"question": "감염병의 전파 방지를 위해 격리 조치를 받는 사람에 대해 어떤 권한을 가지고 있나요?",
"hard_questions": [
"자가 또는 시설에 격리 조치를 받는 사람에 대한 권한은 무엇이며, 어떠한 조치를 통해 이를 행사할 수 있나요?",
"자가 격리 조치를 받은 사람으로 하여금 자가 격리 조치를 위반하는 경우에 어떠한 법적 조치를 취할 수 있는지 예시를 들어 설명해주세요.",
"자가 격리 조치를 위반한 사람에 대해 어떤 처벌을 받을 수 있는지에 대해 설명해주세요."
]
}
```
```json
{
"topic": "의료법",
"question": "피고인이 격리기간 중 자가격리 조치를 위반한 행위가 의료법의 어떤 조항을 위반한 것인가요?",
"hard_questions": [
"의료법상 자가격리 조치에 대한 위반 행위의 처벌 기준과 구체적인 조항을 설명해주세요.",
"자가격리 위반 행위에 대한 처벌 기준이 의료법상 어떤 절차를 따르는지 자세히 설명해주세요.",
"위 위반 행위가 의료법에 의한 사회질서의 유지와 국민의 건강 보호를 위한 것인지 논하세요."
]
}
```
```json
{
"topic": "법",
"question": "피고인이 자가격리 조치를 위반하였다고 할 때, 이를 방지하기 위한 법적 조치에 대해 설명해주세요.",
"hard_questions": [
"피고인에게 어떤 처벌이 적용될 수 있으며, 해당 처벌에 대해 설명해주세요.",
"자가 격리 조치를 위반한 사례를 들어, 이에 대한 공공기관의 역할과 책임에 대해 논의해주세요.",
"법률 위반을 방지하기 위한 사회적 역할과 개인의 책임에 대해 서술해주세요."
]
}
```
#### Writing generation test
```json
{
"topic": "기술 문서 관련 작성 문제",
"question": "위 자료를 바탕으로 감염병 예방 및 관리에 관한 법률 위반 사례를 기술 문서 형식으로 작성해주세요.",
"hard_questions": [
"감염병의 전파 방지 및 예방을 위한 법적 권한에 대해 상세하게 설명해주세요.",
"자가격리 조치의 권한과 위반 사례에 대해 기술하고, 관련 법률 위반에 따른 제재에 대해 설명해주세요.",
"위 자료를 바탕으로 자가격리 조치 위반 사례에 대한 설명과 분석 결과를 제시해주세요."
]
}
```
```json
{
"topic": "계약서 혹은 법률 문서 관련 작성 문제",
"question": "위 자료를 기반으로 감염병 예방 및 관리에 관한 법률 위반에 대한 계약서나 법률 문서를 작성해주세요.",
"hard_questions": [
"감염병의 전파 방지 및 예방을 위한 법률 위반에 대한 설명과 관련된 규정을 제시해주세요.",
"피고인의 자가격리 조치를 위반한 사건에 대해 구체적인 근거와 법률적인 대응 방안을 기술해주세요.",
"감염병의 전파 방지 및 예방을 위한 규정에 대한 관련 법률의 내용을 예시와 함께 설명해주세요."
]
}
```
```json
{
"topic": "일기 관련 작성 문제",
"question": "위 자료를 바탕으로, '자가격리 조치에 관한 일기'를 작성해주세요.",
"hard_questions": [
"자가격리 조치를 받고 나서 격리한 경험에 대해 자세히 서술해주세요.",
"자가격리 조치 중 격리대상자로 지목된 사람과의 관계가 일기 속에 어떤 영향을 미쳤는지 써주세요.",
"자가격리 조치에 대한 어려움과 그에 대한 대처 방안을 일기에 포함시켜 작성해주세요."
]
}
```
```json
{
"topic": "기획안 관련 작성 문제",
"question": "위의 법률 위반 내용을 바탕으로, 해당 사건을 다루는 기획안을 작성해주세요.",
"hard_questions": [
"어떤 부분에서 중요한 점을 강조해야 할까요?",
"위 사건이 사회에 미치는 영향에 대해 논의해보세요.",
"위 사건으로 인해 발생할 수 있는 법적 제재에 대해 언급해보세요."
]
}
```
```json
{
"topic": "연구 논문 및 계획서 관련 작성 문제",
"question": "위 자료를 바탕으로 연구 논문 제목을 제안하고, 주제에 대해 간략하게 작성해주세요.",
"hard_questions": [
"이 논문은 어떤 문제를 해결하거나 어떤 과학적 발견을 보고할 것이며, 연구의 중요성을 설명해주세요.",
"연구 방법과 계획을 상세히 설명하고, 연구의 결과와 가치에 대해 논해주세요.",
"이 연구 논문의 결과가 사회에 미칠 영향에 대해 논해보세요."
]
}
```
### 주의사항
다음과 같은 문제점이 발생할 수 있습니다. 이 문제점들은 embedding 모델을 이용하여 필터링할 수 있습니다. [예제 링크](https://github.com/iKnowLab-Projects/ko-genstruct/blob/main/filter_questions.py)
1. 간혹 연관성이 낮은 질문이 생성된다.
2. 유사한 질문이 생성된다.
추가로 질문을 이용해서 LLM으로부터 답변을 생성할 때 다음과 같은 문제점이 발생할 수 있습니다.
1. 환각 현상 (Hallucination)
2. 주어진 text가 긴 경우, ChatGPT가 답변에 이상한 문자열 (궭뷁앍ㅁㄴ알)이 간혹 생성되는 문제: [Perplexity Filter](https://github.com/iKnowLab-Projects/ko-genstruct/blob/main/ppl_check.py)로 해결 가능합니다.
## Citation
**BibTeX:**
```
@misc{bllossom,
author = {ChangSu Choi, Yongbin Jeong, Seoyoon Park, InHo Won, HyeonSeok Lim, SangMin Kim, Yejee Kang, Chanhyuk Yoon, Jaewan Park, Yiseul Lee, HyeJin Lee, Younggyun Hahm, Hansaem Kim, KyungTae Lim},
title = {Optimizing Language Augmentation for Multilingual Large Language Models: A Case Study on Korean},
year = {2024},
journal = {LREC-COLING 2024},
paperLink = {\url{https://arxiv.org/pdf/2403.10882}},
},
}
@misc{cui2023adainstructadaptinginstructiongenerators,
title={Ada-Instruct: Adapting Instruction Generators for Complex Reasoning},
author={Wanyun Cui and Qianle Wang},
year={2023},
eprint={2310.04484},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2310.04484},
}
@misc{Genstruct,
url={[https://https://huggingface.co/NousResearch/Genstruct-7B](https://huggingface.co/NousResearch/https://huggingface.co/NousResearch/Genstruct-7B)},
title={Genstruct},
author={"euclaise"}
}
```
## Model Card Authors
- 김희규 (khk6435@ajou.ac.kr)
### Framework versions
- PEFT 0.11.0