Update app.py
Browse files
app.py
CHANGED
@@ -168,50 +168,58 @@ def get_legal_context(query):
|
|
168 |
return ""
|
169 |
|
170 |
try:
|
171 |
-
relevant_info = []
|
172 |
-
|
173 |
# 쿼리 μ μ²λ¦¬
|
174 |
query = query.strip()
|
175 |
|
176 |
# μ¬κ±΄λ²νΈ νμ νμΈ (μ: "2023λ€12345")
|
177 |
is_case_number = any(char.isdigit() for char in query) and any(char.isalpha() for char in query)
|
178 |
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
if is_case_number:
|
184 |
if query in case_number:
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
197 |
if query.lower() in searchable_text.lower():
|
198 |
case_info = (
|
199 |
-
f"π μ¬κ±΄λ²νΈ: {
|
200 |
f"π
μ κ³ μΌμ: {item.get('μ κ³ μΌμ', '')}\n"
|
201 |
-
f"π νμμ¬ν:\n{item.get('νμμ¬ν', '')[:
|
202 |
-
f"βοΈ νκ²°μμ§:\n{item.get('νκ²°μμ§', '')[:
|
|
|
203 |
)
|
204 |
relevant_info.append(case_info)
|
|
|
|
|
|
|
205 |
|
206 |
-
if
|
207 |
-
|
208 |
-
|
209 |
-
if relevant_info:
|
210 |
-
if is_case_number:
|
211 |
-
return "\n\nπ νλ‘ μ λ¬Έ:\n" + relevant_info[0]
|
212 |
-
else:
|
213 |
-
return "\n\nκ΄λ ¨ νλ‘ μ 보:\n" + "\n\n---\n\n".join(relevant_info[:3])
|
214 |
-
return "β ν΄λΉνλ νλ‘λ₯Ό μ°Ύμ μ μμ΅λλ€."
|
215 |
|
216 |
except Exception as e:
|
217 |
print(f"νλ‘ κ²μ μ€λ₯: {e}")
|
|
|
168 |
return ""
|
169 |
|
170 |
try:
|
|
|
|
|
171 |
# 쿼리 μ μ²λ¦¬
|
172 |
query = query.strip()
|
173 |
|
174 |
# μ¬κ±΄λ²νΈ νμ νμΈ (μ: "2023λ€12345")
|
175 |
is_case_number = any(char.isdigit() for char in query) and any(char.isalpha() for char in query)
|
176 |
|
177 |
+
if is_case_number:
|
178 |
+
# μ¬κ±΄λ²νΈλ‘ μ νν κ²μ
|
179 |
+
for item in legal_dataset['train']:
|
180 |
+
case_number = item.get('μ¬κ±΄λ²νΈ', '')
|
|
|
181 |
if query in case_number:
|
182 |
+
# μ λ¬Έ μμ² νμΈ
|
183 |
+
if 'μ λ¬Έ' in query or 'νλ‘μ λ¬Έ' in query:
|
184 |
+
return (
|
185 |
+
f"π νλ‘ μ λ¬Έ (μ¬κ±΄λ²νΈ: {case_number})\n"
|
186 |
+
f"βββββββββββββββββββββββββββ\n"
|
187 |
+
f"{item.get('νλ‘λ΄μ©', 'νλ‘ μ λ¬Έμ μ°Ύμ μ μμ΅λλ€.')}\n"
|
188 |
+
f"βββββββββββββββββββββββββββ"
|
189 |
+
)
|
190 |
+
else:
|
191 |
+
# κΈ°λ³Έ μ 보 λ°ν
|
192 |
+
return (
|
193 |
+
f"π νλ‘ μ 보 (μ¬κ±΄λ²νΈ: {case_number})\n"
|
194 |
+
f"βββββββββββββββββββββββββββ\n"
|
195 |
+
f"π
μ κ³ μΌμ: {item.get('μ κ³ μΌμ', '')}\n"
|
196 |
+
f"π νμμ¬ν:\n{item.get('νμμ¬ν', '')}\n\n"
|
197 |
+
f"βοΈ νκ²°μμ§:\n{item.get('νκ²°μμ§', '')}\n\n"
|
198 |
+
f"π‘ μ λ¬Έμ 보μλ €λ©΄ 'μ¬κ±΄λ²νΈ μ λ¬Έ'μ μ
λ ₯ν΄μ£ΌμΈμ."
|
199 |
+
)
|
200 |
+
return "β ν΄λΉνλ μ¬κ±΄λ²νΈμ νλ‘λ₯Ό μ°Ύμ μ μμ΅λλ€."
|
201 |
+
|
202 |
+
else:
|
203 |
+
# μΌλ° ν€μλ κ²μ
|
204 |
+
relevant_info = []
|
205 |
+
for item in legal_dataset['train']:
|
206 |
+
searchable_text = f"{item.get('μ¬κ±΄λ²νΈ', '')} {item.get('νμμ¬ν', '')} {item.get('νκ²°μμ§', '')}"
|
207 |
if query.lower() in searchable_text.lower():
|
208 |
case_info = (
|
209 |
+
f"π μ¬κ±΄λ²νΈ: {item.get('μ¬κ±΄λ²νΈ', '')}\n"
|
210 |
f"π
μ κ³ μΌμ: {item.get('μ κ³ μΌμ', '')}\n"
|
211 |
+
f"π νμμ¬ν:\n{item.get('νμμ¬ν', '')[:300]}...\n\n"
|
212 |
+
f"βοΈ νκ²°μμ§:\n{item.get('νκ²°μμ§', '')[:300]}...\n"
|
213 |
+
f"π‘ μ λ¬Έμ 보μλ €λ©΄ μ μ¬κ±΄λ²νΈμ ν¨κ» 'μ λ¬Έ'μ μ
λ ₯ν΄μ£ΌμΈμ."
|
214 |
)
|
215 |
relevant_info.append(case_info)
|
216 |
+
|
217 |
+
if len(relevant_info) >= 3:
|
218 |
+
break
|
219 |
|
220 |
+
if relevant_info:
|
221 |
+
return "\n\nκ΄λ ¨ νλ‘ μ 보:\n" + "\n\n---\n\n".join(relevant_info)
|
222 |
+
return "β κ²μμ΄μ κ΄λ ¨λ νλ‘λ₯Ό μ°Ύμ μ μμ΅λλ€."
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
|
224 |
except Exception as e:
|
225 |
print(f"νλ‘ κ²μ μ€λ₯: {e}")
|