Commit bf2b6eb0 authored by kihoon.lee's avatar kihoon.lee
Browse files

upload

parent ad450be2
This diff is collapsed.
This diff is collapsed.
[
{
"질문": "롯데GPT가 대규모 데이터 세트를 통한 학습 외에도 모델 최적화를 통해 성능을 극대화하고 있다고 말씀하셨는데, 그 이유는 무엇인가요?",
"답변": "그 이유는 다음과 같습니다.\n\n과적합 방지: 대규모 데이터 세트를 사용하여 모델을 학습시키면, 모델이 훈련 데이터에 너무 잘 맞춰서 새로운 데이터에는 잘 일반화되지 않을 수 있습니다. 모델 최적화를 통해 이를 방지할 수 있습니다.\n\n계산 자원 절감: 모델 최적화를 통해 모델의 크기와 복잡도를 줄일 수 있어 계산 자원을 절약할 수 있습니다.\n\n성능 향상: 모델 최적화를 통해 모델의 성능을 더욱 향상시킬 수 있습니다. 특히 정확도, 선형성, 속도 등의 면에서 개선될 수 있습니다.\n\n해석 가능성 증가: 모델 최적화를 통해 모델이 더욱 간결하고 해석 가능해져서 전문가들과 협업하기 쉬워집니다.\n\n일반화 능력 강화: 모델 최적화를 통해 모델이 새로운 데이터에도 잘 일반화되도록 할 수 있어 실제 적용 시 성능을 극대화할 수 있습니다.\n\n이처럼 모델 최적화는 대규모 데이터 세트 학습만큼이나 중요하며, 이를 통해 롯데GPT의 성능을 극대화하고 있습니다.",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
},
{
"질문": "",
"답변": "",
"추천질의": ""
}
]
\ No newline at end of file
| 데이터 버전 | 데이터 개수 | 데이터 설명 |
| ----------- | ----------- | ----------- |
| QR_v1.2 | 7,497개 | 롯데GPT 로그(24.02.27 기준, 6856건) + 불용어 및 빈스트링 등(641건) |
| QR_v1.3 | 8,650개 | QR_v1.2 + QC 데이터셋 + 테스트 당시 안나온 질문들 |
| QR_v1.4 | 9,573개 | QR_v1.3 + OCR 데이터 129개 + 롯데GPT 로그(24.07.29 기준, 794건)|
%% Cell type:code id: tags:
``` python
import json
file_path = 'QR_v1.4.json'
with open(file_path, 'r', encoding='utf-8') as file:
data = json.load(file)
print(f"QR_v1.4 데이터 개수: {len(data)}개")
```
%% Output
QR_v1.4 데이터 개수: 9573개
%% Cell type:code id: tags:
``` python
```
import openai
from openai import AsyncOpenAI, OpenAI
import os
import time
import pandas as pd
import json
from tqdm import tqdm
def chat(question, answer):
client = OpenAI(api_key=os.getenv('OPENAI_API_KEY'))
completion = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": (
"당신은 대화를 오래 이어가기위해 사용자에게 질문을 추천해주는 봇입니다."
"즉, 사용자가 인공지능 어시스턴트에게 추가 질문을 진행합니다."
"현재 대화에서 사용자가 어시스턴트에게 질문하면 좋을 것 같은 3가지 질의를 추천해주세요."
"출력 형식은 '1.str\n2.str\n3.str' 입니다."
"출력 예시는 다음과 같습니다."
"1. 메뉴에 있는 음료 중 가장 비싼건 무엇인가요?\n2. 메뉴에서 따뜻한 음료와 차가운 음료 옵션을 모두 제공하는 항목은 무엇인가요? \n3. 스페셜티 커피는 어떤 종류가 있나요?"
)
},
{
"role": "user",
"content": (f"사용자:{question}\n 어시스턴트:{answer}"
"위 내용에 대해 어시스턴트에게 추가로 물어볼만한 질의를 3개 추천해주세요."),
}
],
)
return completion.choices[0].message.content.strip()
def add_recommendation(input_file, output_file):
with open(input_file, 'r', encoding='utf-8') as f:
data = json.load(f)
total_entries = len(data)
for i, entry in enumerate(tqdm(data)):
question = entry.get("질문", "")
answer = entry.get("답변", "")
recommendation = chat(question, answer)
entry["추천질의"] = recommendation
tqdm.write(f"{i + 1}/{total_entries} 완료. ({(i + 1) / total_entries * 100:.2f}%)")
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
def testing():
question = "안녕"
answer = "안녕하세요. 무엇을 도와드릴까요?"
recommendation = chat(question, answer)
print(f"\033[94m{recommendation}\033[0m")
return None
if __name__ == "__main__":
testing()
add_recommendation(input_file="QR_v1.45.json",
output_file="QR_v1_46.json")
print(f"\033[94m ##DONE## \033[0m")
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