Commit 2a5ab844 authored by kihoon.lee's avatar kihoon.lee
Browse files

update

parent 80585829
...@@ -3,6 +3,13 @@ ...@@ -3,6 +3,13 @@
12B 기준 80GB 1장 가능 12B 기준 80GB 1장 가능
## Quick Start
```bash
sh start.sh
```
requirments 설치 뒤, 위의 sh 파일 실행하면 됩니다.
## Detailled Usage
### 1. 인퍼런스 결과 생성 ### 1. 인퍼런스 결과 생성
```bash ```bash
...@@ -111,15 +118,16 @@ python lotte-score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/lotte_single_t ...@@ -111,15 +118,16 @@ python lotte-score.py -p evaluated/LDCC/Chat-Mistral-Nemo-12B-32k/lotte_single_t
- 코딩(Coding) - 코딩(Coding)
- 이해(Understanding) - 이해(Understanding)
- 문법(Grammar) - 문법(Grammar)
- **추가 예정** - **추가 예정**
- [키워드 검색](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_keyword.json) - [사용자 질의를 검색용 키워드로 변환](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_keyword.json)
- [검색 raw 데이터 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_summary.json) - [검색된 텍스트를 정리하여 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/search_summary.json)
- [상품 리뷰 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json) - [상품 리뷰를 정리하여 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json)
- [회의 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/meeting_summary.json) - [회의 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/meeting_summary.json)
- [업무도우미](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/task_assistant.json) - [업무도우미](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/task_assistant.json)
- [상품 리뷰 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json) - [상품 리뷰 요약](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/review_summary.json)
- [text2sql](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/text2sql.json) - [text2sql](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/text2sql.json)
- [sql2text](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/sql2answer.json) - [sql2text](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/instruct/sql2answer.json)
- [감성채팅](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/empathetic_dialogues_mutli_turn.json) - [감성채팅](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/empathetic_dialogues_mutli_turn.json)
- [롯데QA](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/lotte/%EB%A1%AF%EB%8D%B0QA_240105.json) - [롯데 QA](https://ldccai.lotte.net/gitlab/wonchul_kim/koalpaca/-/blob/main/data_chat/lotte/%EB%A1%AF%EB%8D%B0QA_240105.json)
import argparse
import glob
import pandas as pd
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
from openpyxl.utils.dataframe import dataframe_to_rows
def process_file(file_path, is_single_turn=False):
df = pd.read_json(file_path, orient="records", lines=True, encoding="utf-8-sig")
df['single_score'] = df['query_single'].apply(lambda x: x['judge_score'])
if not is_single_turn:
df['multi_score'] = df['query_multi'].apply(lambda x: x['judge_score'])
agg_dict = {'single_score': 'mean'}
if not is_single_turn:
agg_dict['multi_score'] = 'mean'
category_scores = df.groupby('category').agg(agg_dict).round(2)
overall_scores = pd.DataFrame({
'single_score': [df['single_score'].mean().round(2)],
'multi_score': [df['multi_score'].mean().round(2)] if not is_single_turn else [pd.NA]
}, index=['Overall'])
return pd.concat([category_scores, overall_scores])
def style_excel(ws):
header_fill = PatternFill(start_color="FFD700", end_color="FFD700", fill_type="solid")
overall_fill = PatternFill(start_color="E6E6E6", end_color="E6E6E6", fill_type="solid")
border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin'))
for row in ws.iter_rows(min_row=1, max_row=ws.max_row, min_col=1, max_col=ws.max_column):
for cell in row:
cell.border = border
cell.alignment = Alignment(horizontal='center', vertical='center')
if cell.row == 1:
cell.font = Font(bold=True)
cell.fill = header_fill
elif cell.row == ws.max_row: # Overall 행
cell.font = Font(bold=True)
cell.fill = overall_fill
for column in ws.columns:
max_length = 0
column_letter = column[0].column_letter
for cell in column:
try:
if len(str(cell.value)) > max_length:
max_length = len(cell.value)
except:
pass
adjusted_width = (max_length + 2)
ws.column_dimensions[column_letter].width = adjusted_width
def main():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--input_dir", help="Input directory containing JSONL files", required=True)
parser.add_argument("-o", "--output", help="Output Excel File Name", default="combined_scores.xlsx")
args = parser.parse_args()
file_patterns = [
("cot_1_shot", "cot-1-shot.jsonl", False),
("1_shot", "1-shot.jsonl", False),
("default", "default.jsonl", False),
("lotte_single_turn", "lotte_single_turn.jsonl", True)
]
all_results = {}
for name, pattern, is_single_turn in file_patterns:
file_path = glob.glob(f"{args.input_dir}/{pattern}")[0]
results = process_file(file_path, is_single_turn)
all_results[name] = results
combined_results = pd.concat(all_results, axis=1)
combined_results.columns = [f"{col[0]}_{col[1]}" for col in combined_results.columns]
combined_results = combined_results.reset_index().rename(columns={'index': 'Category'})
# Overall을 마지막으로 이동
overall_row = combined_results[combined_results['Category'] == 'Overall']
combined_results = pd.concat([combined_results[combined_results['Category'] != 'Overall'], overall_row])
# lotte_single_turn의 multi_score 열 제거
combined_results = combined_results.drop('lotte_single_turn_multi_score', axis=1)
# lotte_single_turn_single_score을 lotte_single_turn으로 변경
combined_results = combined_results.rename(columns={'lotte_single_turn_single_score': 'lotte_single_turn'})
# Excel 파일로 저장
wb = Workbook()
ws = wb.active
ws.title = "Combined Scores"
for r in dataframe_to_rows(combined_results, index=False, header=True):
ws.append(r)
style_excel(ws)
wb.save(args.output)
print(f"Combined scores have been saved to {args.output}")
if __name__ == "__main__":
main()
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
{"id": 5, "category": "task_assistant_mail_meeting", "questions": ["보내는 사람: AI기술팀 김롯데\n받는 사람: AI기술팀 박롯데\n회의 목적: 현재 개발중인 플랫폼 내 기능 구현에 대한 의견 수렴\n회의 날짜: 2024-07-10\n회의 장소: 롯데이노베이트 15층 대회의실"], "outputs": ["제목: [AI기술팀] 7월 10일 플랫폼 기능 구현에 대한 의견 수렴 회의 요청\n\n안녕하세요, 박롯데님,\n\nAI기술팀 김롯데입니다.\n\n다음은 회의에 대한 요청 사항입니다.\n\n**회의 목적:**\n현재 개발 중인 플랫폼 내 기능 구현에 대한 의견 수렴\n\n**회의 날짜:**\n2024년 7월 10일 (목)\n\n**회의 시간:**\n[具体的会议邀请邮件内容如下:]\n\n发送人:AI技术团队 金罗德\n接收人:AI技术团队 朴罗德\n会议目的:讨论当前正在开发的平台功能实现\n会议日期:2024年7月10日\n会议地点:lotte创新楼15层会议室\n\n**会议目的:**\n讨论当前正在开发的平台功能实现\n\n**会议日期:**\n2024年7月10日 (星期四)\n\n**会议时间:**\n[待定]\n\n**会议地点:**\nlotte创新楼15层会议室\n\n希望您能参加此次会议,共同讨论并提出宝贵的意见。如有任何问题或需要进一步的信息,请随时与我联系。\n\n谢谢!\n\n金罗德\nAI技术团队\n\n---\n\n希望以上内容符合您的需求。如果有任何需要调整的地方,请告诉我。"], "references": [null], "query_single": {"judge_message": "모델의 답변은 한국어로 시작되었으나, 중간에 중국어로 전환되었다. 이는 언어 요구사항을 충족하지 못하는 명백한 오류이다. 또한, 질문에서 요구한 정보는 모두 포함되었으나, 중국어로 작성된 부분이 있어 전체적인 일관성이 떨어진다. 따라서, 답변의 질적 평가에서 큰 감점을 받을 수밖에 없다.", "judge_score": 2.0}}
{"id": 8, "category": "task_assistant_mail_introduce", "questions": ["보내는 사람: AI 기술팀 김롯데\n받는 사람: 고객님\n회사명: 롯데이노베이트\n회사 소개: IT로 더욱 가치있는 미래 세상을 만듭니다. 유통, 제조, 물류, 금융, 헬스케어 등 전 산업의 IT 노하우와 기술력을 기반으로, AI, Bigdata, IoT, Cloud 등 신기술을 접목하여 편리한 세상, 스마트한 미래를 만들어 나가겠습니다.\n주요 제품/서비스: IT로 더욱 가치있는 미래 세상을 만듭니다. 유통, 제조, 물류, 금융, 헬스케어 등 전 산업의 IT 노하우와 기술력을 기반으로, AI, Bigdata, IoT, Cloud 등 신기술을 접목하여 편리한 세상, 스마트한 미래를 만들어 나가겠습니다.\n회사 웹사이트:"], "outputs": ["보내는 사람: AI 기술팀 김롯데\n받는 사람: 고객님\n\n제목: 롯데이노베이트의 혁신적인 솔루션 소개\n\n안녕하세요, AI 기술팀 김롯데입니다.\n\n롯데이노베이트는 IT 기술을 활용하여 더욱 가치 있는 미래 세상을 창조하는 것을 목표로 합니다. 저희는 유통, 제조, 물류, 금융, 헬스케어 등 다양한 산업 분야에서 쌓아온 IT 노하우와 기술력을 바탕으로, AI, Bigdata, IoT, Cloud 등 최신 기술을 접목하여 편리하고 스마트한 미래를 만들어 나가고 있습니다.\n\n우리의 주요 제품 및 서비스는 다음과 같습니다:\n- AI 기반의 데이터 분석 및 예측 모델\n- Bigdata 활용을 통한 비즈니스 인사이트 제공\n- IoT 기반의 자동화 솔루션\n- Cloud 기반의 클라우드 컴퓨팅 및 저장 솔루션\n\n롯데이노베이트의 혁신적인 솔루션을 통해 고객님의 비즈니스가 더욱 효율적이고 스마트하게 발전할 수 있도록 지원하겠습니다. 더 자세한 정보를 원하시면 언제든지 연락주시기 바랍니다.\n\n롯데이노베이트 웹사이트: [웹사이트 주소]\n\n감사합니다.\n\nAI 기술팀 김롯데\n롯데이노베이트"], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충실히 반영하고 있습니다. 회사 소개와 주요 제품/서비스에 대한 설명이 명확하게 포함되어 있으며, 고객에게 롯데이노베이트의 혁신적인 솔루션을 소개하는 내용이 잘 전달되었습니다. 또한, 언어 요구사항을 준수하여 한국어로 작성되었습니다. 다만, 회사 웹사이트 주소가 실제로 제공되지 않은 점이 아쉽습니다. 이 부분이 보완된다면 더욱 완벽한 답변이 될 것입니다.", "judge_score": 9.0}}
{"id": 7, "category": "task_assistant_mail_pr", "questions": ["보내는 사람: 롯데이노베이트 NFT사업팀\n받는 사람: 개발팀 홍길동\n제품 종류: NFT 마켓플레이스 & 월렛 서비스\n제품명: Kottonseed(코튼시드)\n제품 정보: 쉽고 편리한 사용성과 거래 경험을 기반으로 누구나 쉽게 NFT를 거래하고 소유할 수 있는 서비스 제공\n제품 링크: https://www.kottonseed.io/"], "outputs": ["제목: Kottonseed(코튼시드) - NFT 마켓플레이스 & 월렛 서비스 소개\n\n안녕하세요, 개발팀 홍길동님,\n\n롯데이노베이트 NFT사업팀에서 귀하께 연락드립니다. 저희는 NFT 마켓플레이스와 월렛 서비스를 제공하는 Kottonseed(코튼시드)를 개발하였습니다. 이 메일은 Kottonseed에 대한 간략한 소개와 함께 서비스의 주요 특징을 알려드리고자 합니다.\n\nKottonseed는 쉽고 편리한 사용성과 거래 경험을 기반으로, 누구나 쉽게 NFT를 거래하고 소유할 수 있는 서비스를 제공합니다. Kottonseed를 통해 사용자는 간단한 몇 가지 단계만으로 NFT를 구매, 판매, 보관할 수 있습니다.\n\nKottonseed의 주요 특징:\n- 간단한 사용성: 사용자 친화적인 인터페이스로 누구나 쉽게 이용 가능\n- 안전한 거래: 최고 수준의 보안 기술을 통해 사용자 정보와 자산을 보호\n- 다양한 NFT 거래: 다양한 분야의 NFT를 거래할 수 있는 플랫폼\n\nKottonseed의 공식 웹사이트: [링크](https://www.kottonseed.io/)\n\nKottonseed를 통해 NFT 시장에 쉽게 접근하고, 다양한 NFT를 거래하고 소유할 수 있는 기회를 제공하고자 합니다. 개발팀의 협력으로 Kottonseed가 성공적으로 출시될 수 있도록 도와주시면 감사하겠습니다.\n\n추가 정보나 질문이 있으시면 언제든지 연락주시기 바랍니다.\n\n감사합니다.\n\n롯데이노베이트 NFT사업팀"], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충실히 반영하고 있다. 제목과 인사말, 제품 소개, 주요 특징, 그리고 제품 링크를 포함하여 매우 체계적으로 작성되었다. 언어 요구사항도 잘 준수하여 한국어로 작성되었으며, 내용의 명확성과 일관성도 높다. 다만, \"개발팀의 협력으로 Kottonseed가 성공적으로 출시될 수 있도록 도와주시면 감사하겠습니다.\"라는 문장은 다소 모호할 수 있어, 구체적인 요청 사항이 포함되었으면 더 좋았을 것이다.", "judge_score": 9.0}}
{"id": 9, "category": "task_assistant_hire", "questions": ["팀 이름: 글로벌로지스IS팀\n담당 업무: 롯데글로벌로지스의 시스템 운영/관리 및 IT 리딩\n프로젝트: 그룹SCM시스템 운영(L-LIS, WMS, TMS 등)\n팀 장점: 국내 대표 종합물류회사 IT 시스템 운영, 물류 플랫폼의 IT 관점에서의 비즈니스 리딩\n키워드: 택배물류, 글로벌물류, 3PL 서비스, SCM물류시스템, IT 시스템 관리"], "outputs": ["글로벌로지스IS팀은 롯데글로벌로지스의 주요 IT 리더로서, 택배물류, 글로벌물류, 3PL 서비스 분야에서 뛰어난 전문성을 보유한 팀입니다. 이 팀은 국내 대표적인 종합물류회사로서, 다양한 물류 플랫폼의 IT 관점에서 비즈니스 리딩을 수행하며, 고객에게 최상의 서비스를 제공하기 위해 노력합니다.\n\n팀의 주요 프로젝트 중 하나는 그룹SCM시스템 운영(L-LIS, WMS, TMS 등)입니다. 이 프로젝트는 물류의 효율성과 생산성을 향상시키는 데 중점을 둔 첨단 IT 시스템을 구축하고 운영하는 데 중점을 둔 프로젝트로, 이는 팀의 전문성과 경험을 통해 성공적으로 수행되었습니다.\n\n글로벌로지스IS팀의 독특한 강점은 국내 대표적인 종합물류회사로서의 경험과 지식을 바탕으로, 물류 플랫폼의 IT 관점에서 비즈니스 리딩을 수행하는 능력에 있습니다. 이는 팀이 고객의 요구사항을 충족시키고, 비즈니스 목표를 달성하는 데 있어 중요한 역할을 합니다.\n\n팀은 택배물류, 글로벌물류, 3PL 서비스, SCM물류시스템, IT 시스템 관리 등 다양한 분야에서 전문성을 갖추고 있으며, 이러한 전문성은 팀의 책임과 프로젝트에서 성공에 기여합니다. 이 팀은 고객의 비즈니스 목표를 달성하는 데 필요한 IT 시스템을 운영하고 관리하며, 이를 통해 고객의 비즈니스 효율성을 향상시키는 데 기여하고 있습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충실히 반영하고 있으며, 언어 요구사항도 잘 준수하고 있다. 팀의 담당 업무, 프로젝트, 장점, 키워드 등을 모두 포함하여 설명하고 있다. 특히, 팀의 주요 프로젝트인 그룹SCM시스템 운영에 대해 구체적으로 언급하고, 팀의 강점과 전문성을 잘 강조하고 있다. 다만, 답변이 다소 반복적이고 중복된 내용이 있어 간결하게 정리할 수 있었으면 더 좋았을 것이다.", "judge_score": 9.0}}
{"id": 10, "category": "text2sql", "questions": ["## DB 스키마 :\n-- ESG 지표 정보를 저장하는 메인 테이블\nCREATE TABLE esg_indicators (\n id VARCHAR(20) COMMENT '지표 정의서(정의서 ID)', -- LOCD_ENV, LOCD_GOV,L LOCD_SOC\n slide_page INT COMMENT '슬라이드 페이지 번호',\n keyword VARCHAR(100) COMMENT '지표 키워드(핵심 키워드)',\n managing_dept VARCHAR(100) COMMENT '지표 관리 부서',\n esg_category VARCHAR(10) COMMENT 'ESG 범주(카테고리) (E: 환경, S: 사회, G: 지배구조)', -- E(환경),S(사회),G(거버넌스),ESG(공통)\n indicator_name VARCHAR(200) COMMENT '지표 명',\n indicator_type VARCHAR(20) COMMENT '지표 유형 (정성/정량)', -- 정량,정성\n indicator_unit VARCHAR(50) COMMENT '지표 단위',\n concept_description TEXT COMMENT '지표 개념 설명',\n detailed_requirements TEXT COMMENT '지표 세부 요구사항 및 가이던스',\n calculation_formula VARCHAR(200) COMMENT '지표 산출식',\n data_calculation_method TEXT COMMENT '데이터 산출 방안',\n data_source VARCHAR(100) COMMENT '데이터 출처',\n related_systems VARCHAR(100) COMMENT '연관 시스템',\n notes VARCHAR(200) COMMENT '기타 주석',\n PRIMARY KEY (id, slide_page) -- 지표 정의서(정의서 ID)와 슬라이드 페이지의 조합을 기본키로 설정\n);\n/*\nSELECT DISTINCT(keyword) FROM esg_indicators; -- 324게 레코드,\nkeyword\n지속가능경영 거버넌스\n경제적 가치 창출 현황\n보조금 수혜 실적 모니터링\nRD 투자 현황\n...\n\nSELECT DISTINCT(id) FROM esg_indicators; -- 946개 레코드,\nid\nLOCD_COM001\n...\nLOCD_ENV001\n...\nLOCD_SOC001\n...\nLOCD_GOV001\n...\n\nSELECT DISTINCT(esg_category) FROM esg_indicators; -- 4개 레코드\nesg_category\nE(환경)\nESG(공통)\nG(거버넌스)\nS(사회)\n\nSELECT DISTINCT(indicator_type) FROM esg_indicators -- 2개 레코드\nindicator_type\n정성\n정량\n\nSELECT DISTINCT(managing_dept) FROM esg_indicators ; -- 1개 레코드\n본 프로젝트 이후 각 사 別 별도 작성\n\nSELECT DISTINCT(data_source) FROM esg_indicators ; -- 1개 레코드\n본 프로젝트 이후 각 사 別 별도 작성\n\nSELECT DISTINCT(related_systems) FROM esg_indicators ; -- 1개 래코드\n본 프로젝트 이후 각 사 別 별도 작성\n\n\n*/\n-- ESG 지표와 연관된 ESG 평가 코드 정보를 저장하는 테이블\nCREATE TABLE esg_eval_codes (\n id VARCHAR(20) COMMENT '지표 정의서(정의서 ID) (esg_indicators 테이블의 id를 참조)',\n slide_page INT COMMENT '슬라이드 페이지 번호',\n eval_code VARCHAR(20) COMMENT 'ESG 평가/공시 지표 코드(이니셔티브)',\n PRIMARY KEY (id, slide_page,eval_code), -- 지표 정의서(정의서 ID), 슬라이드 페이지, 평가 코드의 조합을 기본키로 설정\n FOREIGN KEY (id ) REFERENCES esg_indicators(id) -- 지표 정의서(정의서 ID)는 esg_indicators 테이블의 id를 참조\n);\n/*\nSELECT DISTINCT(eval_code) FROM esg_eval_codes ; -- 1,811개 레코드\neval_code\nSUST-CO-G050\nCDPC-CO-E054\nCDPW-CO-E010\nDJSI-CO-C001\nGRIs-CO-G001\n...\n*/\n-- ESG 지표와 연관된 ESG 관련 평가 및 지침 항목 정보를 저장하는 테이블\nCREATE TABLE esg_eval_guidelines (\n id VARCHAR(20) COMMENT '지표 정의서(정의서 ID) (esg_indicators 테이블의 id를 참조)',\n slide_page INT COMMENT '슬라이드 페이지 번호',\n eval_guideline VARCHAR(50) COMMENT 'ESG 관련 평가 및 지침 항목(이니셔티브)', -- GRI,Sustin., CDP기후변화, CDP수자원,DJSI,MSCI,SASB,Eco.,KCGS,TCFD\n PRIMARY KEY (id, slide_page,eval_guideline), -- 지표 정의서(정의서 ID), 슬라이드 페이지, 가이드라인의 조합을 기본키로 설정\n FOREIGN KEY (id) REFERENCES esg_indicators(id) -- 지표 정의서(정의서 ID)는 esg_indicators 테이블의 id를 참조\n);\n/*\nSELECT DISTINCT(eval_guideline) from esg_eval_guidelines ; -- 10개 레코드\neval_guideline\nSustin.\nCDP기후변화\nCDP수자원\nDJSI\nGRI\nMSCI\nSASB\nEco.\nKCGS\nTCFD\n*/\n\n## 조건 :\n1. 답변은 반드시 JSON 형식으로 구성됩니다.\n2. JSON 형식은 {\"sql_query\": \"...\"} 입니다.\n3. \"sql_query\"의 기본값은 빈 스트링(\"\")이며, SQL 쿼리를 생성할 수 있는 경우 SQL 쿼리문을 입력합니다.\n4. 사용자 질문은 DB 데이터를 모르는 상태이기 때문에 적절치 않은 질문이 들어 올 수 있습니다. 이 부분은 반드시 고려하여 SQL 문을 생성합니다.\n - 예시: \"ENV 001 지표명은 뭐야?\" 라는 질문이 있을때, DB에는 \"LOCD_ENV001\" 형태로 저장되어 있으므로 검색결과를 위해서는 \"LOCD_ENV001\"로 문자열 검색을 해야합니다.\n - 예시: \"개인정보 관련 지표는 뭐가 있어?\" 라는 질문이 있을때, 어떤 필드를 검색해야할지 결정하기 어려우므로 text 형태의 주요한 필드를 최대한 검색해야 합니다.\n5. SELECT 시 PRIMARY_KEY는 반드시 포함 합니다.\n\n## 질문 :\n특정 키워드를 포함하는 지표의 정보를 알려줘. 예: '지속가능경영'"], "outputs": ["```json\n{\n \"sql_query\": \"SELECT id, slide_page, keyword, indicator_name, managing_dept, esg_category, indicator_type, indicator_unit, concept_description, detailed_requirements, calculation_formula, data_calculation_method, data_source, related_systems, notes FROM esg_indicators WHERE keyword LIKE '%지속가능경영%' OR indicator_name LIKE '%지속가능경영%' OR concept_description LIKE '%지속가능경영%' OR detailed_requirements LIKE '%지속가능경영%'\"\n}\n```"], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 잘 반영하고 있으며, 특정 키워드를 포함하는 지표 정보를 검색하기 위해 적절한 SQL 쿼리를 생성하였다. 특히, '지속가능경영'이라는 키워드를 여러 필드에서 검색하도록 설정하여 사용자가 원하는 정보를 최대한 포괄적으로 찾을 수 있도록 하였다. 또한, SELECT 문에서 PRIMARY_KEY인 id와 slide_page를 포함하여 기본 규칙을 준수하였다. 다만, JSON 형식의 기본값인 빈 스트링(\"\")을 명시적으로 포함하지 않았으나, 이는 큰 문제는 아니다.", "judge_score": 9.0}}
{"id": 6, "category": "task_assistant_mail_share", "questions": ["보내는 사람: AI 기술팀 김롯데\n받는 사람: 개발팀 홍길동\n회의 주제: 아이멤버 프로젝트 진행 상황 및 향후 계획\n회의록 내용:\n- 회의에서 논의된 주요 내용:\n- AI기술팀은 아이멤버 프로젝트의 현재 진행 상황을 검토\n- 기술적 문제 해결을 위한 다양한 방안이 논의, 데이터 처리 효율성과 시스템 안정성에 중점\n- 최신 AI 기술 동향과 시장 분석 결과가 공유, 프로젝트에 어떻게 적용할지에 대한 의견 교환\n- 결정된 사항 및 액션 아이템 목록:\n- 추가된 데이터 수집을 위한 외부 협력사 선정 작업을 진행하기로 결정\n- 기존 시스템의 성능 최적화를 위한 팀 구성\n- 향후 2주 간 프로젝트 위험 평가를 수행, 위험 관리 계획을 수립\n- 향후 계획 및 예정된 일정:\n- 다음 달 말까지 프로젝트의 중간 점검을 실시\n- 3개월 내에 프로토타입 개발을 완료, 내부 테스트를 진행\n- 올해 말까지는 최종 제품의 시범 운영을 시작, 내년 상반기 중 시장 출시를 목표"], "outputs": ["제목: [AI 기술팀] 아이멤버 프로젝트 회의록\n\n안녕하세요, 개발팀 홍길동님,\n\nAI 기술팀 김롯데입니다. 이메일을 통해 아이멤버 프로젝트의 회의 내용을 전달드리겠습니다.\n\n**회의 주제: 아이멤버 프로젝트 진행 상황 및 향후 계획**\n\n**회의 내용:**\n1. **현재 진행 상황 검토:** AI 기술팀은 아이멤버 프로젝트의 현재 진행 상황을 검토하였으며, 기술적 문제 해결을 위한 다양한 방안이 논의되었습니다. 특히, 데이터 처리 효율성과 시스템 안정성에 중점을 두었습니다.\n2. **기술 동향 및 시장 분석:** 최신 AI 기술 동향과 시장 분석 결과가 공유되었으며, 프로젝트에 어떻게 적용할지에 대한 의견 교환이 이루어졌습니다.\n\n**결정된 사항 및 액션 아이템:**\n1. **외부 협력사 선정:** 추가된 데이터 수집을 위한 외부 협력사 선정 작업을 진행하기로 결정하였습니다.\n2. **팀 구성:** 기존 시스템의 성능 최적화를 위한 팀 구성이 이루어졌습니다.\n3. **프로젝트 위험 평가:** 향후 2주 간 프로젝트 위험 평가를 수행하고, 위험 관리 계획을 수립하기로 하였습니다.\n\n**향후 계획 및 예정 일정:**\n1. **중간 점검:** 다음 달 말까지 프로젝트의 중간 점검을 실시할 예정입니다.\n2. **프로토타입 개발:** 3개월 내에 프로토타입 개발을 완료하고, 내부 테스트를 진행할 계획입니다.\n3. **시범 운영 및 시장 출시:** 올해 말까지는 최종 제품의 시범 운영을 시작하고, 내년 상반기 중 시장 출시를 목표로 하고 있습니다.\n\n이번 회의에서 논의된 내용과 계획을 참고하여 필요한 준비를 부탁드립니다. 추가로 궁금한 사항이 있으시면 언제든지 연락주시기 바랍니다.\n\n감사합니다.\n\nAI 기술팀 김롯데"], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충실히 반영하고 있으며, 회의록의 주요 내용을 잘 요약하고 있다. 회의 주제, 논의된 주요 내용, 결정된 사항 및 액션 아이템, 향후 계획 및 예정된 일정 등을 명확하게 정리하여 전달하고 있다. 또한, 언어 요구사항을 준수하여 한국어로 작성되었다. 다만, 회의록의 형식이 이메일 형식으로 되어 있어 약간의 형식적 차이가 있지만, 내용 전달에는 문제가 없다. 전반적으로 질문의 요구사항을 잘 반영한 답변이다.", "judge_score": 9.0}}
{"id": 2, "category": "search_summary", "questions": ["## 검색 결과 :\n- 1.위험현장 사전 예측해 사고 예방…내년 1월 전면 시행 <b>서울</b>시가 전국 최초로 공공 공사장 <b>안전</b>수준을 파악해 사고를 예측하고 재해를 방지하는 '<b>안전지수제</b>'를 도입한다고 19일 밝혔다. 올해 연말까지 제도를 시범...\n - 2. <b>서울</b>시는 공공 공사장에서 발생할 수 있는 <b>안전</b>사고를 예방하기 위해서 전국 최초로 ‘<b>안전지수제</b>’를 도입한다고 19일 밝혔다. ‘<b>안전지수제</b>’는 <b>안전</b>학회, 전문가, 실무자가 2만5000건의 주요 재해 사고원인을 분석하여... \n- 3. 안전지수 평가점수가 3개월 연속 ‘매우 미흡’ 등급으로 평가되는 공사 현장은 안전 개선 의지가 없는 것으로 판단해 특별안전점검과 부실벌점 부과, 고용노동부에 과태료 부과를 의뢰한다. 2년간 서울시(도시기반시설본부)에서 발주하는 공사 입찰에 불이익을 줄 예정이다. 또 평가점수가 40점 미만의 공사장은 안전사고 위험이 크다고 판단해 즉시 공사를 중단한다.\n\n## 질문 : 서울시에서 안전지수제를 한다고하는데 이게 뭐야?"], "outputs": ["서울시가 도입한 안전지수제는 공공 공사장의 안전 수준을 파악하고 사고를 예측하여 재해를 방지하기 위한 제도입니다. 이 제도는 안전학회, 전문가, 실무자가 2만5000건의 주요 재해 사고 원인을 분석하여 만들어졌습니다. \n\n안전지수 평가 점수가 3개월 연속 '매우 미흡' 등급으로 평가되는 공사 현장은 특별 안전 점검과 부실 벌점 부과, 고용노동부에 과태료 부과를 의뢰받을 수 있으며, 2년간 서울시(도시기반시설본부)에서 발주하는 공사 입찰에 불이익을 받을 수 있습니다. 또한, 평가 점수가 40점 미만의 공사장은 안전사고 위험이 크다고 판단되어 즉시 공사를 중단할 수 있습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충분히 반영하고 있으며, 주어진 검색 결과를 기반으로 안전지수제의 목적과 작동 방식을 잘 설명하고 있다. 특히, 안전지수제의 도입 배경, 평가 기준, 그리고 평가 결과에 따른 조치 사항을 구체적으로 언급하여 질문에 대한 명확한 답변을 제공하고 있다. 다만, 답변에서 \"서울시가 도입한\"이라는 표현을 사용하여 서울시가 주체임을 명확히 한 점도 긍정적이다. 전반적으로 질문에 대한 답변으로서 적절하고 완전한 정보를 제공하고 있다.", "judge_score": 10.0}}
{"id": 3, "category": "review_summary", "questions": ["## 상품명:조셉앤스테이시 가방 100종 모음\n\n## 상품 리뷰:\n1. 출국할때 면세로 사려다 여러개 사는게 아니면 면세도 그닥 저렴하지않아서 패스했다. 그런데 어제 쇼핑몰 둘러보다 쿠폰먹이면 면세가격이랑 비슷하길래 그냥 질러버림. 기본 단색이랑 스태리펄이랑 고민하다 원래 사려던 골드로… 한참 유행할때 쳐다도 안보던 가방인데 왜 뒤늦게 꽂혀서..... 니트라 쳐짐 걱정 살짝있었는데 그리 얇지않아서 지갑, 자동차키,폰 넣고 저정도 핏이다. 첨엔 생각보다 작다했는데 나름귀엽다. 이 나이에 귀여울일인가 싶지만...ㅎㅎㅎ 자기만족....♡♡♡ 골드 들어보고 손자주가면 봄에 젤리그린하나 더 사야겠다.​ #조셉니트백 #조셉스태리골드 #조셉니트백S #니트백 #조셉스테이시 #스태리골드S 2. 평소에 에코백 종류를 좋아하고 사용을 합니다. 사이즈가 작지만 카드지갑,폰,파우치,물티슈 정도 넣으면 딱인것 같아요. 축 쳐짐도 생각 보다 없어서 좀 놀랐어요. 가볍게 필요한 것만 넣고 다니기에는 사이즈가 작음에도 불구하고 괜찮은 것 같어요. 무엇 보다 약간의 반짝임이 있어서 저는 참 마음에 듭니다. 그리고 끈을 묶을 수 있는 고리가 있는데 이 부분은 키링 같은 것을 달 수도 있어서 … 이 부분이 마음에 드네요. 일단 사계절 사용하기에 무난한 블랙을 구입 했는데.. 내년 봄여름 용으로 밝은색으로도 하나 더 세일 할때 구입을 하고 싶네요. 3. 네이비 M반짝이 가방을 사고 넘 맘에 들어 골드랑 검정 S사이즈 반짝이로 또 구매했습니다..친구가 검정,골드 들고다는거 보고 고민없이 같은 사이즈로 구매했어요..실물을 봤으니 더기대하고 기다렸는데 검정 가방이 반짝이가 제가 들고있는 네이비에비해 넘 표시가 덜나고 친구가방 보다도 차이가 확실히 나네요ㅠㅠ 같이 온 골드는 넘 맘에 드는데 검정은 아쉬움이 많이 남네요..반짝이가 넘 빈약합니다ㅠㅠ"], "outputs": ["조셉앤스테이시 가방 100종 모음은 다양한 색상과 디자인으로 구성되어 있으며, 특히 골드와 블랙 색상이 인기입니다. 가방은 작은 사이즈지만 카드지갑, 휴대폰, 파우치, 물티슈 등을 넣기에 충분하며, 반짝임이 있어 귀엽고 예쁘게 보입니다. 끈을 묶을 수 있는 고리가 있어 키링을 달 수 있다는 점도 장점으로 꼽힙니다. 하지만 검정색 가방의 반짝임이 부족하다는 의견도 있습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 대체로 충족하고 있습니다. 리뷰에서 언급된 주요 특징들, 예를 들어 가방의 크기, 반짝임, 끈의 고리 등은 잘 반영되었습니다. 또한, 검정색 가방의 반짝임이 부족하다는 부정적인 의견도 포함되어 있어 리뷰의 균형을 잘 맞추었습니다. 그러나 리뷰에서 언급된 '니트라 쳐짐 걱정'이나 '자기만족' 같은 세부적인 감정 표현이 누락된 점은 아쉽습니다. 전반적으로 리뷰의 핵심 내용을 잘 요약했지만, 세부적인 감정 표현이 더 포함되었으면 좋았을 것입니다.", "judge_score": 8.0}}
{"id": 12, "category": "mrc", "questions": ["이상(중,고위험)/신규계약/B2C\",보험미가입,전연령,할증Ⅱ 5%,보험미가입,\"중,고위험/신규계약\" 할증,\"[보험가입]할증/(중,고,초고위험)/전체계약/B2C\",미대상,미대상,할증Ⅲ 5%,보험가입,\"중,고,초고위험/신규계약\" ,\"[보험가입]할증/(중,고,초고위험)/전체계약/B2C\",미대상,미대상,할증Ⅲ 5%,보험가입,\"중,고,초고위험/신규계약\" ,\"[사고건수및과태료]할증/초고위험/추가,재계약/B2C\",미대상,미대상,할증Ⅳ 3%,사고건수및과태료,초고위험/재계약 ,\"[우수신용]할인/(KRSS 1~3 등급)/신규,추가계약/전체\",우수신용,KRSS 1~3 등급,우량할인Ⅰ1%,우수신용,KRSS 1~3 등급 ,\"[사고손해율우량]할인/(초우량/우량A/우량B)/신규,추가계약/전체\",사고손해율우량,신규/추가계약,우량할인Ⅱ 1%,사고손해율우량,\"초우량,우량A,B/신규,추가계약\" ,\"[사고손해율우량]할인/(S0/A1/A2)/신규,추가계약/전체\",사고손해율우량,신규/추가계약,우량할인Ⅲ 1%,사고손해율우량,\"S0,A1,A2/신규,추가계약\" 할인,[사고손해율우량]할인/(A1/A2)/재계약/전체,사고손해율우량,재계약,\"우량할인Ⅳ 1.5%\",사고손해율우량,\"A1,A2/재계약\" ,[사고손해율우량]할 2.보험심사 연령제한 CUT-OFF 기준 신규 도입으로 아래와 같이 안내 드리니 업무에 참고해 주시기 바랍니다. 1. 보험심사 연령제한 CUT-OFF 내용 1) 연령대별 손해율 분석으로 80세 이상 연령대에서 높은 수준의 사고손해율 확인 2) 최근 80대 연령 운전자 사고로 운전자 및 동승자 사망사고 발생으로 연령제한 CUT-OFF 도입 2. 보험심사 연령제한 CUT-OFF 대상 1) 계약유형 : 신차장기/중고차장기/월단기 신규 및 재계약 2) 고객구분 : 개인/개인사업자 B2C 전체 표1 신규고객, 기존고객 연령제한 수기심사 대상 구분 AS-IS TO-BE 신규고객 심사없음 1. 당사 사고이력보유 만연령 60세 이상 수기심사 2. 사고이력, 예측모형 등급 무관 만연령 80대 CUT-OFF 기존고객 당사 사고이력보유 만연령60세 이상 수 기심사 1. 당사 사고이력보유 만연령 60세 이상 수기심사 2. 사고이력, 예측모형 등급 무관 만연령 80대 CUT-OFF 3. 시행 일자 : 2024.05.09. (목) 오전08:30 4. 문의 : 심사팀 5. 게시글URL https://comp.lotte.net:443/MOIN/dispatcherBBS.jsp?articleId=RENEW17151580419910011&bbsId= MIG_6981\n\n## 질문: 보험 손해율 자료 보여줘"], "outputs": ["문서 내에서 직접적인 보험 손해율 자료는 제공되지 않았습니다. 하지만 연령대별 손해율 분석에서 80세 이상 연령대에서 높은 수준의 사고손해율이 확인되었다는 내용은 언급되어 있습니다. 이는 보험 손해율 자료의 일부를 반영할 수 있지만, 자세한 손해율 데이터는 문서 내에서 찾을 수 없습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충분히 반영하지 못했습니다. 질문은 보험 손해율 자료를 보여달라는 것이었으나, 모델은 문서 내에 직접적인 손해율 자료가 없다고 답변했습니다. 그러나 문서 내에는 \"연령대별 손해율 분석\"과 \"80세 이상 연령대에서 높은 수준의 사고손해율\"에 대한 언급이 있습니다. 이 부분을 좀 더 구체적으로 설명하고, 문서 내에서 제공된 정보를 최대한 활용하여 답변했어야 합니다. 또한, 답변이 한국어로 작성되었으므로 언어 요구사항은 충족되었습니다.", "judge_score": 4.0}}
{"id": 4, "category": "meeting_summary", "questions": ["## 대화 스트립트 : speaker1: 안녕하세요~ 국어교육과 전공한 30대 여성입니다!\nspeaker2: 반갑습니다~ 저는 사학과 전공했어요! 저도 30대 여성입니다~\nspeaker1: 아하~ 저는 국어교사로 일하고있어요! 혹시 전공관련일을 하시나요..?ㅎㅎ.\nspeaker2: 전 석사 과정 밟고 있어요~ 교수님의 노예가 됐네요ㅎㅎ.\nspeaker1: 아 ㅋㅋㅋ대학원 다니시면...화이팅입니다...! 제 주변에 대학원다니는 친구가 한명있는데 고생이 많더라구요..\nspeaker2: 제가 바이올린도 가끔 켜고 야구도 자주 하고 했는데.. 대학원 다니곤 그럴 시간이 없어 연구실에서 식물 키우는 재미로 사네요ㅋㅋㅋ.\nspeaker1: 아 그럼 쉴때는 주로 식물을 키우시는건가요~? 저는 실외에서 승마하는 것을 좋아해서 승마를 즐겨요!\nspeaker2: 그냥 연구실 나갈 때 소소하게 식물 키워요~ 승마 비싼 취미 아닌가요? 여유 있으신가봐요 부럽네요ㅠㅠ.\nspeaker1: 어쩌다가 재미붙이게되었는데 후회해요 ㅋㅋㅋ돈드는게....흑흑 저는 요즘에는 거북이가 키우고싶더라구요! 거북이가 귀여워보여요 ㅎㅎ.\nspeaker2: 거북이가 수명이 길어 키우기 좋대요~ 저도 한번 키워보고 싶네요ㅋㅋ.\nspeaker1: 맞아요 오랫동안 키울수 있어서 그점도 끌리더라구요~~! 식물키우기를 좋아하시다니 되게 소박하시네요 ㅎㅎ.\nspeaker2: 그거 말곤 할 수 있는게 없기도 해서요ㅠㅠ 혹시 교사로 일하시면 방학 땐 주로 뭐하세요?\nspeaker1: 대학원생한테 말하기 좀 그렇지만 저는 이번 방학에 여행을 너무 기다리고있어요..제가 국내여행에는 관심이 없어서 이번에 해외로 여행가거든요!\nspeaker2: 영어나 제2외국어 선생님이랑 같이 가시면 언어문제도 해결되시겠어요ㅋㅋㅋ 매력있는 직업이네요~\nspeaker1: 여행메이트 만들어서 같이가면 그것도좋죠 ㅎㅎ 그런데 혼자 해외가보고도싶어서 고민중에있어요~!\nspeaker2: 어느 나라로 가세요? 저는 한번도 해외 못 가봤어요ㅠㅠ.\nspeaker1: 저는 이번에 동남아로 갈 예정이에요!ㅎㅎ전 이제 점심시간이 다가와서 밥먹으러 다녀와야겠어요. 맛점하세요!\nspeaker2: 네 저도 출출하네요! 맛있게 드세요~\nspeaker1: 아유 계속 수업하고났더니 벌써 퇴근시간이네요..ㅋㅋ.\nspeaker2: 멋지십니다! 저도 남은 연구가 조금 있는데 이따 하려고 쉬고 있어요~\nspeaker1: 그럼 하루중 대부분은 연구를 하시는거에요? 지루하지는 않으신가요?ㅠㅠ.\nspeaker2: 지루해도 별 수 있나요~ 그래도 제가 하고 싶은 일이라서 대부분 재밌어요!!\nspeaker1: 저는 핏줄부터 문과라서 하루종일 연구하라고하면 너무 힘들거같아요...ㅋㅋㅋ재밌는일 하는게 최고긴하죠 ㅎㅎ진짜 대단하세요!\nspeaker2: 저도 문과에요~ 말이 연구지 그냥 공부죠 공부ㅋㅋㅋ 감사해요~ 퇴근하곤 뭐하세요?\nspeaker1: 아 저는 요즘에 주식에 조금 재미를 붙였어요.. 저는 위험회피성향이라 주식안할줄 알았는데 소소하게 하니 나름 재밌네요 ㅎ.\nspeaker2: 어디 주식하셔서 재미 좀 보셨나요? 저는 무서워서 도전도 못하겠어요ㅠ.\nspeaker1: 아 재미를 본건아니구요 ㅋㅋㅋ어차피 잘 하지도못해서 소소하게 용돈벌이 하는거죠뭐~!ㅋㅋ.\nspeaker2: 그래도 용돈벌이 하신 다는건 잃진 않으신다는거잖아요! 재능 있으실수도?!\nspeaker1: 언젠간...잃을 수도 있겠죠..?ㅋㅋㅋ그러면 제 성향상 주식 접을거같긴해요ㅋㅋㅋㅋ.\nspeaker2: 개인적으로 주식은 상위 몇프로 제외하곤 잃을 수 밖에 없는 구조같아요.. 회피 성향이셔서 접을 것 같다는거세요?\nspeaker1: 네 맞아요 ㅎㅎ 그래서 너무 깊게 빠져서 하지는 않으려고해요..ㅋㅋ심한 사람들보면 하루종일 차트만 보고있더라구요..\nspeaker2: 제 친구도 그래요. 만나자고 해서 만나면 밥 먹으면서도 주식창만 들여다보고 기분이 나빠질 지경이었어요~\nspeaker1: 심하면 한마디 해주세요. 그거는 예의가아니라고! ㅋㅋㅋ저도 주식을 하지만 그렇게 되지않으려고 노력한답니다 ㅎ.\nspeaker2: 그래야겠어요~ 다들 적당히 할줄 알아야할텐데... 도박이랑 다를게 뭔지 싶네요~\nspeaker1: ㅋㅋㅋ저는 이제 저녁좀 먹으려구요. 얘기하느라 저녁시간 다된줄도 몰랐네요 ㅎㅎ 오늘 즐거웠어요~!\nspeaker2: 네 맛있게 드세요! 저도 저녁 먹어야겠어요..ㅎㅎ."], "outputs": ["#### 📘\n- 30대 여성 교사와 대학원생이 각각 국어교사와 연구를 주제로 대화를 나누며, 대학원 생활의 어려움과 여가 활동, 여행, 주식에 대한 이야기를 나눕니다.\n- 대화는 연구와 여가 활동, 여행, 주식에 대한 개인적인 경험과 의견을 공유하며, 서로의 삶을 이해하고 격려하는 내용으로 구성됩니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 대화의 주요 주제와 내용을 잘 요약하고 있습니다. 30대 여성 교사와 대학원생이 국어교사와 연구를 주제로 대화를 나누며, 대학원 생활의 어려움, 여가 활동, 여행, 주식에 대한 이야기를 나눈다는 점을 정확히 짚었습니다. 또한, 대화가 서로의 삶을 이해하고 격려하는 내용으로 구성된다는 점도 잘 반영했습니다. 다만, 대화의 세부적인 내용이나 특정 에피소드에 대한 언급이 부족하여 전체적인 맥락을 이해하는 데 아쉬움이 있습니다. 전반적으로 질문의 요구사항을 충실히 반영하였으나, 좀 더 구체적인 예시가 포함되었으면 더 좋았을 것입니다.", "judge_score": 8.0}}
{"id": 11, "category": "lotte_qa", "questions": ["롯데글로벌로지스에서 활용하고 있는 PC-OFF 제도는 뭐야?"], "outputs": ["롯데글로벌로지스에서 시행하고 있는 PC-OFF 제도는 '프리미엄 캠프 오프'라는 의미로, 직원들의 휴식과 건강을 위해 도입된 제도입니다. 이 제도는 주 52시간 근무제와 연장근무 제한 등 근로시간 단축 정책의 일환으로 운영되고 있습니다.\n\nPC-OFF 제도의 주요 내용은 다음과 같습니다:\n\n1. 주 52시간 근무제: 주 40시간 정규 근무시간 외에 추가로 12시간까지 근무할 수 있습니다.\n\n2. 프리미엄 캠프: 추가 근무 시간 동안 지급되는 급여입니다.\n\n3. 오프 시간: 추가 근무 시간 외에 주 40시간 이내에서 자유롭게 휴식 시간을 조정할 수 있습니다.\n\n4. 유연근무제: 출근 시간과 퇴근 시간을 직원이 스스로 조정할 수 있는 제도입니다.\n\n5. 휴식 시간 보장: 주 40시간 이내에서 휴식 시간을 보장합니다.\n\n이 제도는 근로자들의 건강과 근무 환경 개선을 목표로 하고 있으며, 롯데그룹의 주 52시간 근무제 시행 계획의 일환으로 운영되고 있습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문에 대한 요구사항을 충분히 반영하지 못했다. 질문은 롯데글로벌로지스의 PC-OFF 제도에 대해 묻고 있는데, 모델은 '프리미엄 캠프 오프'라는 잘못된 해석을 제공하고 있다. 실제로 PC-OFF 제도는 근무 시간 이후 컴퓨터를 자동으로 종료하여 직원들이 정해진 시간에 퇴근할 수 있도록 돕는 제도이다. 또한, 답변에서 언급된 '프리미엄 캠프'와 같은 내용은 질문과 관련이 없으며, 오히려 혼란을 줄 수 있다. 언어 요구사항은 충족했으나, 답변의 정확성과 관련성에서 큰 문제가 있다.", "judge_score": 3.0}}
{"id": 1, "category": "search_keyword", "questions": ["음 그렇다면 세입자가 먼저 확정일자 신고를 해서 전세자금 전체를 보호받고 있음에도 소액임차보증금을 변제하는건 이중변제 아닌가 싶은데 어떻게 생각해?"], "outputs": ["세입자가 확정일자 신고를 해서 전세자금 전체를 보호받고 있지만, 소액의 임차보증금을 변제하는 경우 이중변제라고 볼 수는 없습니다. \n\n이유는 다음과 같습니다:\n\n1. 확정일자 신고는 전세자금 대출을 보호하는 제도로, 주택담보대출과 관련이 있습니다. \n\n2. 임차보증금은 임대차 관계에서 세입자가 임차인의 신용을 보증하기 위해 낸 돈으로, 이는 주택담보대출과는 별개의 개념입니다.\n\n3. 임차보증금은 임대차 계약에 따라 변제되는 돈으로, 이는 세입자의 책임 내에서 이루어지는 것이며, 확정일자 신고와는 직접적인 연관성이 없습니다.\n\n따라서, 전세자금을 확정일자 신고로 보호받고 있지만, 소액의 임차보증금을 변제하는 것은 이중변제가 아닙니다. 이 두 가지는 서로 다른 목적과 범위를 가진 돈으로 볼 수 있습니다."], "references": [null], "query_single": {"judge_message": "모델의 답변은 질문의 요구사항을 충분히 반영하지 못한 부분이 있습니다. 질문은 세입자가 확정일자 신고를 통해 전세자금을 보호받고 있는 상황에서 소액임차보증금을 변제하는 것이 이중변제인지에 대한 의견을 묻고 있습니다. 모델은 이중변제가 아니라고 답변했으나, 그 이유를 설명하는 과정에서 확정일자 신고와 임차보증금의 개념을 명확히 구분하지 못했습니다. 특히, 확정일자 신고가 주택담보대출과 관련이 있다는 설명은 부정확하며, 임차보증금이 임대차 계약에 따라 변제된다는 설명도 질문의 핵심을 벗어났습니다. 또한, 답변이 한국어로 작성되었으므로 언어 요구사항은 충족되었습니다.", "judge_score": 5.0}}
...@@ -165,7 +165,7 @@ def main(): ...@@ -165,7 +165,7 @@ def main():
client = create_openai_client(args.openai_api_key) client = create_openai_client(args.openai_api_key)
input_dir = Path(args.model_output_dir) input_dir = Path(args.model_output_dir)
output_dir = Path("./evaluated") output_dir = Path(f"./evaluated/{args.model}")
# Filter out hidden files # Filter out hidden files
json_files = [file for file in input_dir.rglob("*.jsonl") if not is_hidden(file)] json_files = [file for file in input_dir.rglob("*.jsonl") if not is_hidden(file)]
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -109,9 +109,9 @@ df_output = pd.DataFrame( ...@@ -109,9 +109,9 @@ df_output = pd.DataFrame(
{ {
"id": df_questions["id"], "id": df_questions["id"],
"category": df_questions["category"], "category": df_questions["category"],
"questions": [df_questions["questions"].apply(lambda x: x[0])], # 첫 번째 질문만 저장 "questions": [[q[0]] for q in df_questions["questions"]], # 리스트 안에 리스트로 첫 번째 질문만 포함
"outputs": [lotte_outputs], "outputs": [[output] for output in lotte_outputs], # 각 출력을 리스트로 감싸기
"references": [df_questions["references"].apply(lambda x: x[0] if x is not None else None)], # 첫 번째 참조만 저장 "references": [[r[0] if r is not None else None] for r in df_questions["references"]], # 리스트 안에 리스트로 첫 번째 참조만 포함
} }
) )
......
#!/bin/bash
# 변수 설정
MODEL="Qwen/Qwen2.5-7B-Instruct" #허깅페이스 모델
API_KEY="sk-##" #openai api key 입력해주세요.
GPU_DEVICES=2 # 사용할 GPU 번호
MODEL_LEN=4096
# 아래부터는 안건드려도 됩니다.
OUTPUT_DIR="generated/$MODEL"
EVAL_DIR="evaluated/$MODEL"
JUDGE_MODEL="gpt-4o"
# 생성 스크립트 실행
python3 generator.py --model $MODEL --gpu_devices $GPU_DEVICES --model_len $MODEL_LEN
python3 lotte-generator.py --model $MODEL --gpu_devices $GPU_DEVICES --model_len $MODEL_LEN
# 평가 스크립트 실행
python3 evaluator.py -o $OUTPUT_DIR -m $MODEL -k $API_KEY -t 30 -j $JUDGE_MODEL
python3 lotte-evaluator.py -o $OUTPUT_DIR -m $MODEL -k $API_KEY -t 30 -j $JUDGE_MODEL
# 점수 계산 스크립트 실행
python3 score.py -p "$EVAL_DIR/default.jsonl"
python3 score.py -p "$EVAL_DIR/1-shot.jsonl"
python3 score.py -p "$EVAL_DIR/cot-1-shot.jsonl"
python3 lotte-score.py -p "$EVAL_DIR/lotte_single_turn.jsonl"
# 점수 결합 스크립트 실행
python3 combine_scores.py -i "$EVAL_DIR" -o "$EVAL_DIR/combined_scores.xlsx"
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment