matsuap commited on
Commit
9947c32
·
1 Parent(s): d57b1a0

住所比較および正規化機能のエンドポイントを非同期処理に対応させ、API用のラッパー関数を追加しました。リクエストからのJSONデータ取得方法を修正し、パフォーマンスを向上させました。

Browse files
Files changed (1) hide show
  1. app.py +27 -16
app.py CHANGED
@@ -367,17 +367,7 @@ def get_addresses_with_rsdtdsp(pref, county, city, ward, oaza_cho, chome, koaza)
367
  cities, wards, oaza_chos, chomes, koazas, blk_nums, rsdt_nums, rsdt_num2s)
368
  ]
369
 
370
- # =========================
371
- # FastAPI definition
372
- # =========================
373
- app = FastAPI()
374
-
375
- @app.post("/compare-two-addresses")
376
- async def compare_two_addresses(request: Request):
377
- data = await request.json()
378
- address1 = data.get('address1')
379
- address2 = data.get('address2')
380
-
381
  preprocessed1 = preprocess(address1)
382
  preprocessed2 = preprocess(address2)
383
  hits1 = vector_search(preprocessed1, top_k=1)
@@ -387,11 +377,7 @@ async def compare_two_addresses(request: Request):
387
  result = compare(normalized1, normalized2)
388
  return result
389
 
390
- @app.post("/normalize-address")
391
- async def normalize_address(request: Request):
392
- data = await request.json()
393
- query_address = data.get('query_address')
394
-
395
  with measure('preprocess'):
396
  preprocessed = preprocess(query_address)
397
  with measure('vector_search'):
@@ -429,6 +415,31 @@ async def normalize_address(request: Request):
429
  best_address = best_addresses[0]
430
  return best_address
431
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  # =========================
433
  # Gradio tabs definition
434
  # =========================
 
367
  cities, wards, oaza_chos, chomes, koazas, blk_nums, rsdt_nums, rsdt_num2s)
368
  ]
369
 
370
+ def compare_two_addresses(address1, address2):
 
 
 
 
 
 
 
 
 
 
371
  preprocessed1 = preprocess(address1)
372
  preprocessed2 = preprocess(address2)
373
  hits1 = vector_search(preprocessed1, top_k=1)
 
377
  result = compare(normalized1, normalized2)
378
  return result
379
 
380
+ def normalize_address(query_address):
 
 
 
 
381
  with measure('preprocess'):
382
  preprocessed = preprocess(query_address)
383
  with measure('vector_search'):
 
415
  best_address = best_addresses[0]
416
  return best_address
417
 
418
+
419
+ # =========================
420
+ # FastAPI definition
421
+ # =========================
422
+ app = FastAPI()
423
+
424
+ @app.post("/compare-two-addresses")
425
+ async def compare_two_addresses_api(request: Request):
426
+ data = await request.json()
427
+ address1 = data.get('address1')
428
+ address2 = data.get('address2')
429
+
430
+ result = compare_two_addresses(address1, address2)
431
+
432
+ return {'result': result}
433
+
434
+ @app.post("/normalize-address")
435
+ async def normalize_address_api(request: Request):
436
+ data = await request.json()
437
+ query_address = data.get('query_address')
438
+
439
+ normalized = normalize_address(query_address)
440
+
441
+ return {'normalized': normalized}
442
+
443
  # =========================
444
  # Gradio tabs definition
445
  # =========================