Update app.py
Browse files
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 =
|
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.
|
48 |
-
model="gpt-4",
|
49 |
-
|
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
|
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("๋ถ์๋ ๋ด์ค ๋ฐ์ดํฐ๊ฐ ์์ต๋๋ค.")
|
|