AIRider commited on
Commit
12d804b
·
verified ·
1 Parent(s): 3e83cb6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -39
app.py CHANGED
@@ -126,35 +126,36 @@ 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, 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,16 +258,18 @@ with gr.Blocks() as iface:
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,
 
126
  references = fetch_references(query)
127
  return references[0], references[1], references[2]
128
 
129
+ def generate_blog_post(query, prompt_template, temperature, top_p, frequency_penalty, presence_penalty):
130
+ try:
131
+ # 참고글 크롤링
132
+ references = fetch_references(query)
133
+ ref1, ref2, ref3 = references
134
+
135
+ combined_content = f"참고글1:\n{ref1}\n\n참고글2:\n{ref2}\n\n참고글3:\n{ref3}"
136
+
137
+ full_prompt = f"주제: {query}\n\n참고 내용:\n{combined_content}"
138
+
139
+ response = openai.ChatCompletion.create(
140
+ model="gpt-4o-mini",
141
+ messages=[
142
+ {"role": "system", "content": prompt_template},
143
+ {"role": "user", "content": full_prompt}
144
+ ],
145
+ max_tokens=10000,
146
+ temperature=temperature,
147
+ top_p=top_p,
148
+ frequency_penalty=frequency_penalty,
149
+ presence_penalty=presence_penalty,
150
+ seed=random.randint(1, 2**32 - 1)
151
+ )
152
+
153
+ generated_content = response.choices[0].message['content']
154
+ final_content = f"주제: {query}\n\n{generated_content}"
155
+
156
+ return final_content, ref1, ref2, ref3
157
+ except Exception as e:
158
+ return f"블로그 글 생성 중 오류 발생: {str(e)}", "", "", ""
159
 
160
  # PDF 클래스 및 관련 함수 정의
161
  class PDF(FPDF2):
 
258
  pdf_output = gr.File(label="생성된 PDF 파일")
259
 
260
  generate_button.click(
261
+ generate_blog_post,
262
+ inputs=[
263
+ query_input,
264
+ prompt_input,
265
+ temperature_input,
266
+ top_p_input,
267
+ frequency_penalty_input,
268
+ presence_penalty_input
269
+ ],
270
+ outputs=[output_text, ref1_text, ref2_text, ref3_text],
271
+ show_progress=True
272
+ )
273
 
274
  save_pdf_button.click(
275
  save_content_to_pdf,