openfree commited on
Commit
2bbb586
Β·
verified Β·
1 Parent(s): f688f3e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +39 -12
app.py CHANGED
@@ -170,25 +170,52 @@ def get_legal_context(query):
170
  try:
171
  relevant_info = []
172
 
173
- # νŒλ‘€ 검색
 
 
 
 
 
174
  for item in legal_dataset['train']:
175
- # μ‚¬κ±΄λ²ˆν˜Έ, νŒμ‹œμ‚¬ν•­, νŒκ²°μš”μ§€ λ“±μ—μ„œ 검색
176
- searchable_text = f"{item.get('μ‚¬κ±΄λ²ˆν˜Έ', '')} {item.get('νŒμ‹œμ‚¬ν•­', '')} {item.get('νŒκ²°μš”μ§€', '')}"
177
- if query.lower() in searchable_text.lower():
178
- case_info = f"πŸ“Œ μ‚¬κ±΄λ²ˆν˜Έ: {item.get('μ‚¬κ±΄λ²ˆν˜Έ', '')}\n"
179
- case_info += f"πŸ“ νŒμ‹œμ‚¬ν•­: {item.get('νŒμ‹œμ‚¬ν•­', '')[:200]}...\n"
180
- case_info += f"βš–οΈ νŒκ²°μš”μ§€: {item.get('νŒκ²°μš”μ§€', '')[:200]}...\n"
181
- relevant_info.append(case_info)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
 
183
- if len(relevant_info) >= 3: # μ΅œλŒ€ 3κ°œκΉŒμ§€λ§Œ μˆ˜μ§‘
184
  break
185
 
186
  if relevant_info:
187
- return "\n\nκ΄€λ ¨ νŒλ‘€ 정보:\n" + "\n---\n".join(relevant_info[:3])
188
- return ""
 
 
 
 
189
  except Exception as e:
190
  print(f"νŒλ‘€ 검색 였λ₯˜: {e}")
191
- return ""
192
 
193
 
194
  SYSTEM_PREFIX = """μ €λŠ” 법λ₯  μ „λ¬Έ AI μ–΄μ‹œμŠ€ν„΄νŠΈ 'GiniGEN Legal'μž…λ‹ˆλ‹€.
 
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
  for item in legal_dataset['train']:
180
+ case_number = item.get('μ‚¬κ±΄λ²ˆν˜Έ', '')
181
+
182
+ # μ‚¬κ±΄λ²ˆν˜Έλ‘œ κ²€μƒ‰ν•˜λŠ” 경우 μ •ν™•νžˆ μΌμΉ˜ν•˜λŠ” κ²ƒλ§Œ λ°˜ν™˜
183
+ if is_case_number:
184
+ if query in case_number:
185
+ case_info = (
186
+ f"πŸ“Œ μ‚¬κ±΄λ²ˆν˜Έ: {case_number}\n"
187
+ f"πŸ“… μ„ κ³ μΌμž: {item.get('μ„ κ³ μΌμž', '')}\n"
188
+ f"πŸ“ νŒμ‹œμ‚¬ν•­:\n{item.get('νŒμ‹œμ‚¬ν•­', '')}\n\n"
189
+ f"βš–οΈ νŒκ²°μš”μ§€:\n{item.get('νŒκ²°μš”μ§€', '')}\n\n"
190
+ f"πŸ“š νŒλ‘€λ‚΄μš©:\n{item.get('νŒλ‘€λ‚΄μš©', '')}"
191
+ )
192
+ relevant_info.append(case_info)
193
+ break # μ •ν™•ν•œ μ‚¬κ±΄λ²ˆν˜Έ λ§€μΉ­μ‹œ μ¦‰μ‹œ λ°˜ν™˜
194
+ else:
195
+ # 일반 κ²€μƒ‰μ˜ 경우 관련도 검사
196
+ searchable_text = f"{case_number} {item.get('νŒμ‹œμ‚¬ν•­', '')} {item.get('νŒκ²°μš”μ§€', '')}"
197
+ if query.lower() in searchable_text.lower():
198
+ case_info = (
199
+ f"πŸ“Œ μ‚¬κ±΄λ²ˆν˜Έ: {case_number}\n"
200
+ f"πŸ“… μ„ κ³ μΌμž: {item.get('μ„ κ³ μΌμž', '')}\n"
201
+ f"πŸ“ νŒμ‹œμ‚¬ν•­:\n{item.get('νŒμ‹œμ‚¬ν•­', '')[:500]}...\n\n"
202
+ f"βš–οΈ νŒκ²°μš”μ§€:\n{item.get('νŒκ²°μš”μ§€', '')[:500]}..."
203
+ )
204
+ relevant_info.append(case_info)
205
 
206
+ if len(relevant_info) >= 3 and not is_case_number: # 일반 κ²€μƒ‰μ˜ 경우만 μ—¬λŸ¬ 개 λ°˜ν™˜
207
  break
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}")
218
+ return f"νŒλ‘€ 검색 쀑 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€: {str(e)}"
219
 
220
 
221
  SYSTEM_PREFIX = """μ €λŠ” 법λ₯  μ „λ¬Έ AI μ–΄μ‹œμŠ€ν„΄νŠΈ 'GiniGEN Legal'μž…λ‹ˆλ‹€.