Views
No views yet
1from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
2
3# 모델 및 토크나이저 로드
4model = AutoModelForSeq2SeqLM.from_pretrained("seokhyokang/kobart-cosmetics-qa")
5tokenizer = AutoTokenizer.from_pretrained("seokhyokang/kobart-cosmetics-qa")
6
7# 질문에 대한 답변 생성 함수
8def generate_answer(question, model, tokenizer, device="cuda"):
9 """
10 질문에 대한 답변을 생성하는 함수
11 """
12 model.eval()
13 inputs = tokenizer(
14 question,
15 return_tensors="pt",
16 max_length=128,
17 padding="max_length",
18 truncation=True
19 ).to(device)
20
21 outputs = model.generate(
22 inputs.input_ids,
23 max_length=128,
24 num_beams=4,
25 early_stopping=True
26 )
27
28 answer = tokenizer.decode(outputs[0], skip_special_tokens=True)
29 return answer1test_questions = [
2 "수입화장품의 제조원 주소는 영문 또는 국문 중 무엇으로 기재해야 하나요?",
3 "화장품 제조사가 제품을 책임판매업자에게 제공할 때, 등록이 요구되나요?",
4 "지루성 두피용 샴푸로 광고해도 괜찮은가요?",
5 "우유팩 형태의 핸드워시 용기가 식품 모방 화장품에 해당되나요?",
6 "화장품 표시사항으로 바코드 대신 QR코드 표시가 가능한가요?",
7]
8
9print("-" * 50)
10for question in test_questions:
11 answer = generate_answer(question, model, tokenizer, device)
12 print(f"질문: {question}")
13 print(f"생성된 답변: {answer}")
14 print("-" * 50)
15
16# 출력 예시
17# --------------------------------------------------
18# 질문: 수입화장품의 제조원 주소는 영문 또는 국문 중 무엇으로 기재해야 하나요?
19# 생성된 답변: 제조원 정보는 쉽게 읽히고 이해할 수 있는 한글로 표시해야 하며, 외국어도 함께 기재할 수 있습니다.
20# --------------------------------------------------
21# 질문: 화장품 제조사가 제품을 책임판매업자에게 제공할 때, 등록이 요구되나요?
22# 생성된 답변: 소비자에게 직접 판매하지 않으면, 책임판매업 등록 대상이 아닙니다.
23# --------------------------------------------------
24# 질문: 지루성 두피용 샴푸로 광고해도 괜찮은가요?
25# 생성된 답변: 지루성 두피는 질병을 암시할 수 있으므로, 화장품 광고에 사용하는 것은 부적절합니다.
26# --------------------------------------------------
27# 질문: 우유팩 형태의 핸드워시 용기가 식품 모방 화장품에 해당되나요?
28# 생성된 답변: 식품으로 오인될 가능성이 있는 용기는 화장품법 위반에 해당할 수 있으니 주의해야 합니다.
29# --------------------------------------------------
30# 질문: 화장품 표시사항으로 바코드 대신 QR코드 표시가 가능한가요?
31# 생성된 답변: 화장품 바코드 표시 및 관리요령에서 규정하고 있는 바코드 종류만 사용 가능합니다.
32# --------------------------------------------------