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

upload

parent ad450be2
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
[
{
"질문": "롯데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