AIRider commited on
Commit
3e83cb6
·
verified ·
1 Parent(s): 8cffe57

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -35
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
- 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
- # 랜덤 시드 생성
138
- random_seed = random.randint(1, 2**32 - 1)
139
-
140
- full_prompt = f"주제: {query}\n\n{prompt_template}\n\n참고 내용:\n{combined_content}"
141
-
142
- response = openai.ChatCompletion.create(
143
- model="gpt-4o-mini",
144
- messages=[
145
- {"role": "system", "content": prompt_template},
146
- {"role": "user", "content": full_prompt}
147
- ],
148
- max_tokens=10000,
149
- temperature=0.85,
150
- top_p=0.95,
151
- frequency_penalty=0.4,
152
- presence_penalty=0.4,
153
- seed=random_seed
154
- )
155
-
156
- return f"주제: {query}\n\n{response.choices[0].message['content']}", ref1, ref2, ref3
157
- except Exception as e:
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
- generate_blog_post,
262
- inputs=[query_input, prompt_input],
263
- outputs=[output_text, ref1_text, ref2_text, ref3_text],
264
- show_progress=True
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,