# -*- coding: utf-8 -*- import os import base64 import json import http.client # .env 파일에서 환경 변수 로드 # Local에서만 사용 # from dotenv import load_dotenv # load_dotenv() # 환경 변수 가져오기 api_key_primary_val = os.getenv("api_key_primary_val") API_KEY = os.getenv("API_KEY") print(api_key_primary_val, API_KEY) def request_hyper(text): class CompletionExecutor: def __init__(self, host, api_key, api_key_primary_val, request_id): self._host = host self._api_key = api_key self._api_key_primary_val = api_key_primary_val self._request_id = request_id def _send_request(self, completion_request): headers = { "Content-Type": "application/json; charset=utf-8", "X-NCP-CLOVASTUDIO-API-KEY": self._api_key, "X-NCP-APIGW-API-KEY": self._api_key_primary_val, "X-NCP-CLOVASTUDIO-REQUEST-ID": self._request_id, } conn = http.client.HTTPSConnection(self._host) conn.request( "POST", "/testapp/v1/chat-completions/HCX-002", json.dumps(completion_request), headers, ) response = conn.getresponse() result = json.loads(response.read().decode(encoding="utf-8")) conn.close() return result def execute(self, completion_request): res = self._send_request(completion_request) if res["status"]["code"] == "20000": return res["result"]["message"] else: return "Error" completion_executor = CompletionExecutor( # host='clovastudio.apigw.ntruss.com', host="clovastudio.stream.ntruss.com", api_key=API_KEY, api_key_primary_val=api_key_primary_val, request_id="624e45b741574fbab1fae6a6ea99b3a7", ) # text = subject + "에 대한 " + "Bloom의 질문 분류 중 " + capacity + "적 질문에 해당하는 질문 10개 만들어줘." # preset_text = [{"role":"system","content":"블룸의 질문 분류 6가지에 따라 주어진 주제에 대한 질문을 생성해줘.\n"},{"role":"user","content":"개구리에 대한 지식적 질문을 만들어줘"},{"role":"assistant","content":"개구리의 학명은 무엇인가요? 개구리의 먹이는 무엇인가요? 개구리의 천적은 무엇인가요? 개구리의 산란 시기는 언제인가요? 개구리의 체온은 어떻게 조절되나요? 개구리의 피부에는 어떤 특징이 있나요? 개구리의 호흡 방법은 무엇인가요? 개구리의 종류는 몇 가지 인가요? 개구리의 수명은 얼마나 되나요? 개구리의 독은 어디서 나오나요? 개구리를 먹는 동물은 무엇인가요? 개구리의 울음소리는 어떻게 내나요? 개구리와 두꺼비는 무슨 차이가 있나요? 개구리알은 부화하는데 얼마나 걸리나요? \n\n위의 질문들은 개구리에 대한 기본적인 지식을 묻는 질문들입니다. 이 외에도 개구리에 대한 다양한 질문을 만들 수 있습니다. 예를 들어, 개구리의 성장 과정, 개구리의 생태계에서의 역할, 개구리의 유전학적 연구 등에 대한 질문을 만들 수 있습니다. 이러한 질문들은 개구리에 대한 깊이 있는 지식을 요구하며, 개구리에 대한 이해를 높이는 데 도움이 됩니다."},{"role":"user","content":"개구리에 대한 적용적 질문을 만들어줘"},{"role":"assistant","content":"개구리의 점프력을 이용하여 할 수 있는 스포츠는 무엇이 있을까요? 개구리의 먹이 사냥 방식을 활용한 로봇을 만들 수 있을까요? 개구리의 피부 구조를 모방한 화장품을 개발할 수 있을까요? 개구리의 울음소리를 이용하여 음악을 작곡할 수 있을까요? 개구리의 생태를 관찰하여 환경 보호에 활용할 수 있을까요? 개구리의 독을 이용하여 의약품을 개발할 수 있을까요? 개구리의 유전자를 조작하여 새로운 생물을 만들 수 있을까요? 개구리의 서식지를 보존하기 위해 우리가 할 수 있는 일은 개구리의 멸종을 막기 위해 우리가 해야 할 일은 무엇일까요? 개구리의 특성을 이용하여 인간 생활에 활용할 수 있는 방법은 무엇일까요? 위의 질문들은 개구리의 특성을 다른 분야에 적용하거나, 개구리의 문제를 해결하는 데 초점을 맞춘 질문들입니다. 이러한 질문들을 통해 개구리에 대한 지식을 실제 상황에 적용하는 능력을 키울 수 있습니다."},{"role":"user","content":"곰에 대한 종합적 질문을 만들어줘"},{"role":"assistant","content":"곰의 종류는 무엇이 있나요? 곰의 몸무게는 어느 정도인가요? 곰의 수명은 얼마나 되나요? 곰의 털 색깔은 왜 다양한가요? 곰의 주식은 무엇인가요? 곰의 천적은 무엇인가요? 곰의 짝짓기 시기는 언제인가요? 곰의 출산율은 어느 정도인가요? 곰의 겨울잠은 언제부터 언제까지 자나요? 곰의 공격성은 어느 정도인가요? 곰의 서식지는 어디인가요? 곰의 멸종 위기종은 무엇인가요? 곰의 사회성은 어떤가요? 곰의 지능은 어느 정도인가요? 곰의 발정기 때 하는 행동은 무엇인가요? 곰의 발톱은 어떤 용도로 사용되나요? 곰의 발바닥은 왜 부드러운가요? 곰의 이빨은 어떤 모양인가요? 곰의 눈은 어떤 특징이 있나요? 곰의 귀는 어떤 모양인가요? 곰의 코는 어떤 기능을 하나요? 곰의 배설물은 어떤 특징이 있나요? 곰의 뼈는 어떤 특징이 있나요? 곰의 근육은 어떤 특징이 있나요? 곰의 심장은 어떤 기능을 하나요? 곰의 뇌는 어떤 특징이 있나요? 곰의 혈액은 어떤 특징이"},{"role":"user","content":"기차에 대한 평가적 질문을 만들어줘"},{"role":"assistant","content":"기차의 속도는 빠른가요? 기차의 안전성은 높은가요? 기차의 승차감은 좋은가요? 기차의 편의 시설은 잘 갖춰져 있나요? 기차의 가격은 비싼가요? 기차의 운행 시간은 규칙적인가요? 기차의 교통 체증은 심한가요? 기차의 대기 시간은 긴가요? 기차의 노선은 다양한가요? 기차의 서비스는 친절한가요? 기차의 정시 운행률은 높은가요? 기차의 소음은 큰가요? 기차의 진동은 심한가요? 기차의 환경 오염은 심한가요? 기차의 에너지 효율은 높은가요? 기차의 유지보수는 잘 이루어지고 있나요? \n위의 질문들은 기차의 성능, 안전성, 편의성, 경제성 등을 평가하는 데 필요한 질문들입니다. 각 질문에 대한 답을 비교 분석하여 기차의 장단점을 파악하고, 자신에게 맞는 기차를 선택할 수 있습니다."},{"role":"user","content":"개구리에 대한 논쟁적 질문을 만들어줘"},{"role":"assistant","content":"개구리의 식용 여부에 대해 어떻게 생각하시나요? 개구리의 생태계 파괴에 대해 어떻게 대처해야 할까요? 개구리의 멸종 위기를 막기 위해 어떤 노력이 필요할까요? 개구리의 인공 번식에 대해 어떻게 생각하시나요? 개구리의 유전자 조작에 대해 어떻게 생각하시나요? 개구리의 사육에 대해 어떻게 생각하시나요? 개구리의 불법 포획에 대해 어떻게 처벌해야 할까요? 개구리의 질병 예방 대책은 무엇일까요? 개구리의 건강 증진 방안은 무엇일까요? 개구리의 교육적 가치에 대해 어떻게 생각하시나요? 개구리의 문화적 가치에 대해 어떻게 생각하시나요? 개구리의 산업적 가치에 대해 어떻게 생각하시나요? \n\n위의 질문들은 개구리에 대한 다양한 의견과 견해를 나눌 수 있는 논쟁적 질문들입니다. 이러한 질문들을 통해 개구리에 대한 관심을 높이고, 서로 다른 의견을 존중하고 소통하는 기회를 얻을 수 있습니다."},{"role":"user","content":"개구리에 대한 개념적 질문을 만들어줘"},{"role":"assistant","content":"개구리의 정의는 무엇인가요? 개구리의 특징은 무엇인가요? 개구리의 분류는 어떻게 되나요? 개구리의 진화 과정은 어떻게 되나요? 개구리의 생태학적 역할은 무엇인가요? 개구리의 생물학적 특징은 무엇인가요? 개구리의 생리학적 특징은 무엇인가요? 개구리의 유전학적 특징은 무엇인가요? 개구리의 생태학적 특징은 무엇인가요? 개구리의 역사와 문화적 의미는 무엇인가요? 개구리의 미래 전망은 어떨까요? 개구리의 과학적 연구는 어떻게 이루어지고 있나요? 개구리의 대중적 인식은 어떤가요? 개구리의 윤리적 문제는 무엇인가요? 개구리의 사회적 문제는 무엇인가요? 개구리의 정치적 문제는 무엇인가요? 개구리의 국제적 문제는 무엇인가요? 개구리의 철학적 문제는 무엇인가요? 개구리의 종교적 문제는 무엇인가요? 개구리의 예술적 문제는 무엇인가요? 개구리의 문학적 문제는 무엇인가요? 개구리의 심리학적 문제는 무엇인가요? 개구리의 교육적 문제는 무엇인가요? 개구리의 체육학적 문제는 무엇인가요? 개구리의 기술적 문제는 무엇인가요?"}] preset_text = [ # {"role": "system", "content": "블룸의 질문 분류 6가지에 따라 주어진 주제에 대한 질문을 생성해줘.\n"}, { "role": "user", "content": f"충청도 사투리로 {text}가 말해봐.\n", }, ] request_data = { "messages": preset_text, "maxTokens": 3000, "temperature": 0.8, "topK": 0, "topP": 0.8, "repeatPenalty": 5.0, "stopBefore": [], "includeAiFilters": True, } response_text = completion_executor.execute(request_data) return response_text["content"]