JUNGU commited on
Commit
7dc6a17
Β·
1 Parent(s): 033211a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -23
app.py CHANGED
@@ -7,6 +7,29 @@ import os
7
  # OpenAI API μ„€μ • (ν™˜κ²½ λ³€μˆ˜μ—μ„œ μ½μ–΄μ˜΄)
8
  openai.api_key = os.getenv("OPENAI_API_KEY") # μ‹€μ œ μ½”λ“œμ—μ„œ 주석 ν•΄μ œ
9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  def main():
11
  st.title("Keyword Highlighter")
12
 
@@ -98,31 +121,16 @@ def main():
98
  presence_penalty=0
99
  )
100
 
101
- # highlighted_text = response['choices'][0]['message']['content']
 
 
 
 
 
 
 
102
 
103
- #gpt닡변이 였λ₯˜κ°€ λ‚˜λŠ” κ²½μš°κ°€ μžˆμ–΄μ„œ 였λ₯˜ 체크λ₯Ό μœ„ν•œ λΆ€λΆ„ μΆ”κ°€
104
- # GPT-3λ‘œλΆ€ν„° λ°˜ν™˜λ°›μ€ 응닡
105
- highlighted_text = response['choices'][0]['message']['content']
106
-
107
- # 1. λ°˜ν™˜λœ ν…μŠ€νŠΈκ°€ `annotated_text(`둜 μ‹œμž‘ν•˜κ³  `)`둜 λλ‚˜λŠ”μ§€ 확인
108
- if not highlighted_text.startswith("annotated_text(") or not highlighted_text.endswith(")"):
109
- st.error("Invalid response format from GPT-3.")
110
-
111
- # 2. κ΄„ν˜Έμ˜ κ°œμˆ˜κ°€ μ˜¬λ°”λ₯Έμ§€ 확인
112
- elif highlighted_text.count("(") != highlighted_text.count(")"):
113
- st.error("Mismatched parentheses in the response.")
114
-
115
- # 3. λ¬Έμžμ—΄ λ‚΄μ˜ μŒλ”°μ˜΄ν‘œλ‚˜ μ‹±κΈ€ λ”°μ˜΄ν‘œμ— λ¬Έμ œκ°€ μ—†λŠ”μ§€ 확인
116
- elif highlighted_text.count('"') % 2 != 0:
117
- st.error("Mismatched quotes in the response.")
118
-
119
- else:
120
- # λ°˜ν™˜λœ ν…μŠ€νŠΈλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. (이 뢀뢄은 λ³΄μ•ˆμƒ μœ„ν—˜ν•  수 μžˆμœΌλ―€λ‘œ μ‹ μ€‘ν•˜κ²Œ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.)
121
- exec(highlighted_text)
122
 
123
- # # μ—¬κΈ°μ„œλŠ” κ°„λ‹¨ν•˜κ²Œ exec ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄ GPT-3.5-turboκ°€ μƒμ„±ν•œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€.
124
- # # μ‹€μ œ ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œλŠ” λ³΄μ•ˆ 이슈λ₯Ό κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€.
125
- # exec(highlighted_text)
126
 
127
  if __name__ == "__main__":
128
  main()
 
7
  # OpenAI API μ„€μ • (ν™˜κ²½ λ³€μˆ˜μ—μ„œ μ½μ–΄μ˜΄)
8
  openai.api_key = os.getenv("OPENAI_API_KEY") # μ‹€μ œ μ½”λ“œμ—μ„œ 주석 ν•΄μ œ
9
 
10
+ # 였λ₯˜ μˆ˜μ • ν•¨μˆ˜
11
+ def fix_response_errors(text):
12
+ if not text.startswith("annotated_text("):
13
+ text = "annotated_text(" + text
14
+ if not text.endswith(")"):
15
+ text += ")"
16
+
17
+ open_paren = text.count("(")
18
+ close_paren = text.count(")")
19
+ while open_paren > close_paren:
20
+ text += ")"
21
+ close_paren += 1
22
+ while open_paren < close_paren:
23
+ text = text.rsplit(")", 1)[0]
24
+ close_paren -= 1
25
+
26
+ quotes_count = text.count('"')
27
+ if quotes_count % 2 != 0:
28
+ text += '"'
29
+
30
+ return text
31
+
32
+
33
  def main():
34
  st.title("Keyword Highlighter")
35
 
 
121
  presence_penalty=0
122
  )
123
 
124
+ highlighted_response = response['choices'][0]['message']['content']
125
+ fixed_response = fix_response_errors(highlighted_response)
126
+
127
+ # μˆ˜μ •λœ 응닡을 st-annotated-text둜 μ‹€ν–‰
128
+ try:
129
+ exec(fixed_response)
130
+ except Exception as e:
131
+ st.error(f"An error occurred: {e}")
132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
133
 
 
 
 
134
 
135
  if __name__ == "__main__":
136
  main()