Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -126,36 +126,35 @@ def fetch_crawl_results(query):
|
|
126 |
references = fetch_references(query)
|
127 |
return references[0], references[1], references[2]
|
128 |
|
129 |
-
def generate_blog_post(query, prompt_template):
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
return f"블로그 글 생성 중 오류 발생: {str(e)}", "", "", ""
|
159 |
|
160 |
# PDF 클래스 및 관련 함수 정의
|
161 |
class PDF(FPDF2):
|
@@ -258,11 +257,16 @@ with gr.Blocks() as iface:
|
|
258 |
pdf_output = gr.File(label="생성된 PDF 파일")
|
259 |
|
260 |
generate_button.click(
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
|
|
|
|
|
|
|
|
|
|
266 |
|
267 |
save_pdf_button.click(
|
268 |
save_content_to_pdf,
|
|
|
126 |
references = fetch_references(query)
|
127 |
return references[0], references[1], references[2]
|
128 |
|
129 |
+
def generate_blog_post(query, ref1, ref2, ref3, prompt_template, temperature, top_p, frequency_penalty, presence_penalty):
|
130 |
+
# 크롤링된 참고글 사용
|
131 |
+
combined_content = f"참고글1:\n{ref1}\n\n참고글2:\n{ref2}\n\n참고글3:\n{ref3}"
|
132 |
+
|
133 |
+
# 전체 프롬프트 구성
|
134 |
+
full_prompt = f"주제: {query}\n\n참고 내용:\n{combined_content}"
|
135 |
+
|
136 |
+
# OpenAI API 호출
|
137 |
+
response = openai.ChatCompletion.create(
|
138 |
+
model="gpt-4o-mini",
|
139 |
+
messages=[
|
140 |
+
{"role": "system", "content": prompt_template},
|
141 |
+
{"role": "user", "content": full_prompt}
|
142 |
+
],
|
143 |
+
max_tokens=10000,
|
144 |
+
temperature=temperature,
|
145 |
+
top_p=top_p,
|
146 |
+
frequency_penalty=frequency_penalty,
|
147 |
+
presence_penalty=presence_penalty,
|
148 |
+
seed=random.randint(1, 2**32 - 1) # 랜덤 시드 사용
|
149 |
+
)
|
150 |
+
|
151 |
+
# 생성된 내용 추출
|
152 |
+
generated_content = response.choices[0].message['content']
|
153 |
+
|
154 |
+
# 주제를 첫 줄에 추가
|
155 |
+
final_content = f"주제: {query}\n\n{generated_content}"
|
156 |
+
|
157 |
+
return final_content, ref1, ref2, ref3
|
|
|
158 |
|
159 |
# PDF 클래스 및 관련 함수 정의
|
160 |
class PDF(FPDF2):
|
|
|
257 |
pdf_output = gr.File(label="생성된 PDF 파일")
|
258 |
|
259 |
generate_button.click(
|
260 |
+
generate_blog_post,
|
261 |
+
inputs=[
|
262 |
+
query_input,
|
263 |
+
ref1_input, ref2_input, ref3_input,
|
264 |
+
prompt_input,
|
265 |
+
temperature_input, top_p_input, frequency_penalty_input, presence_penalty_input
|
266 |
+
],
|
267 |
+
outputs=[output_text, ref1_text, ref2_text, ref3_text],
|
268 |
+
show_progress=True
|
269 |
+
)
|
270 |
|
271 |
save_pdf_button.click(
|
272 |
save_content_to_pdf,
|