Add1E commited on
Commit
9ab8237
·
verified ·
1 Parent(s): 5859aaf

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +78 -4
app.py CHANGED
@@ -46,6 +46,57 @@ def get_related_studies(article: str):
46
  st.error(f"Something went wrong: {str(e)}", icon="🚨")
47
 
48
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
  def extract_scholar_query(article: str):
50
  openai.api_key = os.environ.get("OPEN_API_KEY")
51
  openai.api_base = os.environ.get("OPEN_API_BASE")
@@ -77,6 +128,10 @@ def create_article(length_option, articles, params, web_page_option):
77
  length = os.environ.get("MEDIUM_LENGTH")
78
  elif length_option == "Lang":
79
  length = os.environ.get("LONG_LENGTH")
 
 
 
 
80
 
81
  openai.api_key = os.environ.get("OPEN_API_KEY")
82
  openai.api_base = os.environ.get("OPEN_API_BASE")
@@ -123,7 +178,7 @@ def create_article(length_option, articles, params, web_page_option):
123
  messages = [
124
  {
125
  "role": "system",
126
- "content": f"You are a professional journalist whose task is to write an article based on your own notes. This article should be written in the following writing style: {writing_style} The length of your article should be {length} sentences long.",
127
  },
128
  {
129
  "role": "system",
@@ -296,7 +351,7 @@ def on_click_handler_generate_article(**kwargs):
296
  kwargs["length_option"],
297
  kwargs["final_articles"],
298
  kwargs["add_info"],
299
- kwargs["webpage_option"],
300
  )
301
  headline = create_headline(created_article, kwargs["webpage_option"])
302
  db_analytics_item = {
@@ -586,7 +641,7 @@ if st.session_state["function_state"]:
586
  key="add_info",
587
  )
588
  st.write("Artikellänge")
589
- st.radio("Optionen", ["Kurz", "Mittel", "Lang"], key="length_option")
590
  st.button(
591
  "Artikel generieren",
592
  key="article_btn",
@@ -596,6 +651,8 @@ if st.session_state["function_state"]:
596
  "final_articles": st.session_state["final_articles"],
597
  "add_info": st.session_state["add_info"],
598
  "webpage_option": st.session_state["webpage_option"],
 
 
599
  },
600
  )
601
  elif st.session_state["selected_page"] == 3:
@@ -615,11 +672,28 @@ if st.session_state["function_state"]:
615
  st.write(f"- [{result['title']}]({result['link']})")
616
  else:
617
  st.write("Keine relevanten Studien gefunden.")
 
 
 
 
 
 
 
 
 
618
  st.button(
619
  "Relevante Studien finden",
620
  on_click=get_related_studies,
621
  args=(st.session_state["generated_article"],),
622
  )
 
 
 
 
 
 
 
 
623
  st.button(
624
  "Neuen Artikel generieren", key="reset_btn", on_click=reset_session_state
625
  )
@@ -629,7 +703,7 @@ else:
629
  )
630
  st.text_area(label="Artikel input:", key="keyword_article_input")
631
  st.write("Artikellänge")
632
- st.radio("Optionen", ["Kurz", "Mittel", "Lang"], key="length_option")
633
  st.button(
634
  "Artikel generieren",
635
  key="article_btn",
 
46
  st.error(f"Something went wrong: {str(e)}", icon="🚨")
47
 
48
 
49
+ def get_takeaways(article : str):
50
+ openai.api_key = os.environ.get("OPEN_API_KEY")
51
+ openai.api_base = os.environ.get("OPEN_API_BASE")
52
+ openai.api_type = os.environ.get("OPEN_API_TYPE")
53
+ openai.api_version = os.environ.get("OPEN_API_VERSION")
54
+ takeaway_query = os.environ.get("takeaway")
55
+ with st.spinner("Creating Takeaways"):
56
+ try:
57
+ res = openai.ChatCompletion.create(
58
+ engine="gpt-4-1106",
59
+ temperature=0.2,
60
+ messages=[
61
+ {
62
+ "role": "system",
63
+ "content": f" The article you have written is as follows: {article}.",
64
+ }
65
+ ],
66
+ )
67
+ st.session_state["takeaways"] = res["choices"][0]["message"]["content"]
68
+ except Exception as e:
69
+ print(f"Fehler beim extrahieren der Query: {str(e)}")
70
+ st.error(f"Something went wrong: {str(e)}", icon="🚨")
71
+ st.session_state["takeaways"] = None
72
+
73
+
74
+
75
+ def get_faq(article : str):
76
+ openai.api_key = os.environ.get("OPEN_API_KEY")
77
+ openai.api_base = os.environ.get("OPEN_API_BASE")
78
+ openai.api_type = os.environ.get("OPEN_API_TYPE")
79
+ openai.api_version = os.environ.get("OPEN_API_VERSION")
80
+ faq_query = os.environ.get("faq")
81
+
82
+ with st.spinner("Creating FAQ"):
83
+ try:
84
+ res = openai.ChatCompletion.create(
85
+ engine="gpt-4-1106",
86
+ temperature=0.2,
87
+ messages=[
88
+ {
89
+ "role": "system",
90
+ "content": f" The article you have written is as follows: {article}.",
91
+ }
92
+ ],
93
+ )
94
+ st.session_state["faq"] = res["choices"][0]["message"]["content"]
95
+ except Exception as e:
96
+ print(f"Fehler beim extrahieren der Query: {str(e)}")
97
+ st.error(f"Something went wrong: {str(e)}", icon="🚨")
98
+ st.session_state["faq"] = None
99
+
100
  def extract_scholar_query(article: str):
101
  openai.api_key = os.environ.get("OPEN_API_KEY")
102
  openai.api_base = os.environ.get("OPEN_API_BASE")
 
128
  length = os.environ.get("MEDIUM_LENGTH")
129
  elif length_option == "Lang":
130
  length = os.environ.get("LONG_LENGTH")
131
+ elif length_option == "SEO":
132
+ length = os.environ.get("SEO_LENGTH")
133
+ elif length_option == "SEO Plus"
134
+ length = os.environ.get("SEO_PLUS_LENGTH")
135
 
136
  openai.api_key = os.environ.get("OPEN_API_KEY")
137
  openai.api_base = os.environ.get("OPEN_API_BASE")
 
178
  messages = [
179
  {
180
  "role": "system",
181
+ "content": f"You are a professional journalist whose task is to write an article based on your own notes. This article should be written in the following writing style: {writing_style} .It is important that the length of your article should be {length} words long.",
182
  },
183
  {
184
  "role": "system",
 
351
  kwargs["length_option"],
352
  kwargs["final_articles"],
353
  kwargs["add_info"],
354
+ kwargs["webpage_option"],
355
  )
356
  headline = create_headline(created_article, kwargs["webpage_option"])
357
  db_analytics_item = {
 
641
  key="add_info",
642
  )
643
  st.write("Artikellänge")
644
+ st.radio("Optionen", ["Kurz", "Mittel", "Lang", "SEO", "SEO Plus"], key="length_option")
645
  st.button(
646
  "Artikel generieren",
647
  key="article_btn",
 
651
  "final_articles": st.session_state["final_articles"],
652
  "add_info": st.session_state["add_info"],
653
  "webpage_option": st.session_state["webpage_option"],
654
+ "takeaways" : st.session_state["takeaways"]
655
+ "faq" : st.session_state["faq"]
656
  },
657
  )
658
  elif st.session_state["selected_page"] == 3:
 
672
  st.write(f"- [{result['title']}]({result['link']})")
673
  else:
674
  st.write("Keine relevanten Studien gefunden.")
675
+
676
+ if st.session_state["takeaways"]:
677
+ st.write("Hier sind einige Takeaways die wichtig sein könnten:")
678
+ st.write(st.session_state["takeaways"])
679
+
680
+ if st.session_state["faq"]:
681
+ st.write("Hier sind FAQs zu dem Artikel:")
682
+ st.write(st.session_state["faq"])
683
+
684
  st.button(
685
  "Relevante Studien finden",
686
  on_click=get_related_studies,
687
  args=(st.session_state["generated_article"],),
688
  )
689
+ st.button(
690
+ "Key Takeaways generieren",
691
+ onclick=get_takeaways(st.session_state["generated_article"])
692
+ )
693
+ st.button(
694
+ "FAQ generieren",
695
+ onclick=get_faq(st.session_state["generated_article"])
696
+ )
697
  st.button(
698
  "Neuen Artikel generieren", key="reset_btn", on_click=reset_session_state
699
  )
 
703
  )
704
  st.text_area(label="Artikel input:", key="keyword_article_input")
705
  st.write("Artikellänge")
706
+ st.radio("Optionen", ["Kurz", "Mittel", "Lang", "SEO", "SEO Plus"], key="length_option")
707
  st.button(
708
  "Artikel generieren",
709
  key="article_btn",