820nam commited on
Commit
5f6451e
ยท
verified ยท
1 Parent(s): c42b00b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -14
app.py CHANGED
@@ -3,13 +3,10 @@ import requests
3
  import matplotlib.pyplot as plt
4
  from transformers import pipeline
5
  import openai
6
- import pandas as pd
7
  import os
8
 
9
- OPENAI_API_KEY="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"
10
-
11
  # OpenAI API ํ‚ค ์„ค์ •
12
- openai.api_key = os.getenv("OPENAI_API_KEY", "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") # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋˜๋Š” ์ง์ ‘ ํ‚ค ์ž…๋ ฅ
13
 
14
  # ๋„ค์ด๋ฒ„ ๋‰ด์Šค API๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋‰ด์Šค ๊ธฐ์‚ฌ ๊ฐ€์ ธ์˜ค๊ธฐ
15
  def fetch_naver_news(query, display=5):
@@ -41,19 +38,16 @@ def load_sentiment_model():
41
  classifier = pipeline("text-classification", model="bucketresearch/politicalBiasBERT")
42
  return classifier
43
 
44
- # GPT-4๋ฅผ ์ด์šฉํ•ด ๋ฐ˜๋Œ€ ๊ด€์  ๊ธฐ์‚ฌ ์ƒ์„ฑ
45
  def generate_article_gpt4(prompt):
46
  try:
47
- response = openai.ChatCompletion.create(
48
- model="gpt-4",
49
- messages=[
50
- {"role": "system", "content": "You are a helpful assistant that generates articles."},
51
- {"role": "user", "content": prompt}
52
- ],
53
  max_tokens=512,
54
  temperature=0.7
55
  )
56
- return response.choices[0].message.content
57
  except Exception as e:
58
  return f"Error generating text: {e}"
59
 
@@ -106,7 +100,6 @@ def analyze_news_political_viewpoint(query):
106
 
107
  return results, sentiment_counts
108
 
109
-
110
  # ์„ฑํ–ฅ ๋ถ„ํฌ ์‹œ๊ฐํ™”
111
  def visualize_sentiment_distribution(sentiment_counts):
112
  fig, ax = plt.subplots()
@@ -142,4 +135,3 @@ if st.button("๋ถ„์„ ์‹œ์ž‘"):
142
  st.write("---")
143
  else:
144
  st.error("๋ถ„์„๋œ ๋‰ด์Šค ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.")
145
-
 
3
  import matplotlib.pyplot as plt
4
  from transformers import pipeline
5
  import openai
 
6
  import os
7
 
 
 
8
  # OpenAI API ํ‚ค ์„ค์ •
9
+ openai.api_key = "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" # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋˜๋Š” ์ง์ ‘ ํ‚ค ์ž…๋ ฅ
10
 
11
  # ๋„ค์ด๋ฒ„ ๋‰ด์Šค API๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋‰ด์Šค ๊ธฐ์‚ฌ ๊ฐ€์ ธ์˜ค๊ธฐ
12
  def fetch_naver_news(query, display=5):
 
38
  classifier = pipeline("text-classification", model="bucketresearch/politicalBiasBERT")
39
  return classifier
40
 
41
+ # GPT-4๋ฅผ ์ด์šฉํ•ด ๋ฐ˜๋Œ€ ๊ด€์  ๊ธฐ์‚ฌ ์ƒ์„ฑ (์ตœ์‹  OpenAI API ๋ฐฉ์‹)
42
  def generate_article_gpt4(prompt):
43
  try:
44
+ response = openai.Completion.create(
45
+ model="gpt-4", # GPT-4 ๋ชจ๋ธ ์‚ฌ์šฉ
46
+ prompt=prompt,
 
 
 
47
  max_tokens=512,
48
  temperature=0.7
49
  )
50
+ return response['choices'][0]['text'].strip() # GPT์˜ ์‘๋‹ต ํ…์ŠคํŠธ
51
  except Exception as e:
52
  return f"Error generating text: {e}"
53
 
 
100
 
101
  return results, sentiment_counts
102
 
 
103
  # ์„ฑํ–ฅ ๋ถ„ํฌ ์‹œ๊ฐํ™”
104
  def visualize_sentiment_distribution(sentiment_counts):
105
  fig, ax = plt.subplots()
 
135
  st.write("---")
136
  else:
137
  st.error("๋ถ„์„๋œ ๋‰ด์Šค ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.")