data-science-document-ai 1.61.0__tar.gz → 1.61.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/PKG-INFO +1 -1
  2. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/pyproject.toml +1 -1
  3. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/constants.py +2 -2
  4. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/postprocessing/common.py +17 -10
  5. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/evergreen/placeholders.json +2 -2
  6. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/hapag-lloyd/placeholders.json +2 -2
  7. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/maersk/placeholders.json +2 -2
  8. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/maersk/prompt.txt +1 -1
  9. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/msc/placeholders.json +2 -2
  10. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/msc/prompt.txt +1 -1
  11. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/oocl/placeholders.json +2 -2
  12. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/oocl/prompt.txt +1 -1
  13. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/other/placeholders.json +2 -2
  14. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/yangming/placeholders.json +2 -2
  15. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/yangming/prompt.txt +1 -1
  16. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/constants_sandbox.py +0 -0
  17. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/docai.py +0 -0
  18. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/docai_processor_config.yaml +0 -0
  19. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/excel_processing.py +0 -0
  20. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/io.py +0 -0
  21. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/llm.py +0 -0
  22. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/log_setup.py +0 -0
  23. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/pdf_processing.py +0 -0
  24. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/postprocessing/postprocess_booking_confirmation.py +0 -0
  25. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/postprocessing/postprocess_commercial_invoice.py +0 -0
  26. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/postprocessing/postprocess_partner_invoice.py +0 -0
  27. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/arrivalNotice/other/placeholders.json +0 -0
  28. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/arrivalNotice/other/prompt.txt +0 -0
  29. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/evergreen/prompt.txt +0 -0
  30. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/hapag-lloyd/prompt.txt +0 -0
  31. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bookingConfirmation/other/prompt.txt +0 -0
  32. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bundeskasse/other/placeholders.json +0 -0
  33. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/bundeskasse/other/prompt.txt +0 -0
  34. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/commercialInvoice/other/placeholders.json +0 -0
  35. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/commercialInvoice/other/prompt.txt +0 -0
  36. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/customsAssessment/other/placeholders.json +0 -0
  37. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/customsAssessment/other/prompt.txt +0 -0
  38. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/customsInvoice/other/placeholders.json +0 -0
  39. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/customsInvoice/other/prompt.txt +0 -0
  40. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/deliveryOrder/other/placeholders.json +0 -0
  41. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/deliveryOrder/other/prompt.txt +0 -0
  42. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/draftMbl/other/placeholders.json +0 -0
  43. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/draftMbl/other/prompt.txt +0 -0
  44. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/finalMbL/other/placeholders.json +0 -0
  45. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/finalMbL/other/prompt.txt +0 -0
  46. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/packingList/other/placeholders.json +0 -0
  47. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/packingList/other/prompt.txt +0 -0
  48. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/partnerInvoice/other/placeholders.json +0 -0
  49. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/partnerInvoice/other/prompt.txt +0 -0
  50. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/postprocessing/port_code/placeholders.json +0 -0
  51. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/postprocessing/port_code/prompt_port_code.txt +0 -0
  52. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/preprocessing/carrier/placeholders.json +0 -0
  53. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/preprocessing/carrier/prompt.txt +0 -0
  54. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/shippingInstruction/other/placeholders.json +0 -0
  55. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/library/shippingInstruction/other/prompt.txt +0 -0
  56. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/prompts/prompt_library.py +0 -0
  57. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/setup.py +0 -0
  58. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/tms.py +0 -0
  59. {data_science_document_ai-1.61.0 → data_science_document_ai-1.61.1}/src/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: data-science-document-ai
3
- Version: 1.61.0
3
+ Version: 1.61.1
4
4
  Summary: "Document AI repo for data science"
5
5
  Author: Naomi Nguyen
6
6
  Author-email: naomi.nguyen@forto.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "data-science-document-ai"
3
- version = "1.61.0"
3
+ version = "1.61.1"
4
4
  description = "\"Document AI repo for data science\""
5
5
  authors = ["Naomi Nguyen <naomi.nguyen@forto.com>", "Kumar Rajendrababu <kumar.rajendrababu@forto.com>", "Igor Tonko <igor.tonko@forto.com>", "Osman Demirel <osman.demirel@forto.com>"]
6
6
  packages = [
@@ -93,8 +93,8 @@ formatting_rules = {
93
93
  "bookingConfirmation": {
94
94
  "pickUpDepotCode": "depot",
95
95
  "dropOffDepotCode": "depot",
96
- "gateInTerminalCode": "terminal",
97
- "pickUpTerminalCode": "terminal",
96
+ "gateInTerminal": "terminal",
97
+ "pickUpTerminal": "terminal",
98
98
  },
99
99
  "deliveryOrder": {"pickUpTerminal": "terminal", "EmptyContainerDepot": "depot"},
100
100
  }
@@ -723,16 +723,23 @@ async def format_all_entities(result, document_type_code, params, mime_type):
723
723
  if document_type_code in ["partnerInvoice", "bundeskasse"]:
724
724
  await process_partner_invoice(params, aggregated_data, document_type_code)
725
725
 
726
- # TODO: This is a temporary change until the terminal codes are updated
727
- if document_type_code == "bookingConfirmation":
728
- if "gateInTerminalCode" in aggregated_data:
729
- aggregated_data["gateInTerminal"] = aggregated_data.pop(
730
- "gateInTerminalCode"
731
- )
732
- if "pickUpTerminalCode" in aggregated_data:
733
- aggregated_data["pickUpTerminal"] = aggregated_data.pop(
734
- "pickUpTerminalCode"
735
- )
726
+ # Post process terminals with code and name
727
+ for key in list(aggregated_data):
728
+ if "terminal" not in key.lower():
729
+ continue
730
+
731
+ entity = aggregated_data.pop(key)
732
+ formatted = entity.get("formattedValue", {})
733
+
734
+ if formatted is None:
735
+ aggregated_data[key] = {**entity}
736
+ continue
737
+
738
+ aggregated_data[key] = {**entity, "formattedValue": formatted.get("id")}
739
+ aggregated_data[f"{key}Code"] = {
740
+ **entity,
741
+ "formattedValue": formatted.get("code"),
742
+ }
736
743
 
737
744
  logger.info("Data Extraction completed successfully")
738
745
  return aggregated_data
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. E.g., FULL RETURN TO or Export terminal name."
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. It can be mentioned as Contract No., Contract Reference, or Quotation No. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. E.g., Export terminal delivery address, Export terminal location, or Export terminal name."
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. E.g., Export terminal delivery address, Export terminal location, or Return Equip Delivery Terminal."
@@ -16,7 +16,7 @@ For Import Shipment: The loaded container / cargo arrives at a port of discharge
16
16
  <INSTRUCTIONS>
17
17
  - bookingNumber: A unique identifier for the booking.
18
18
 
19
- - gateInTerminalCode: The specific terminal where cargo is gated in. It can be called Return Equip Delivery Terminal and Location interception. This sometimes can be the same as portOfLoading of the First transportLeg.
19
+ - gateInTerminal: The specific terminal where cargo is gated in. It can be called Return Equip Delivery Terminal and Location interception. This sometimes can be the same as portOfLoading of the First transportLeg.
20
20
  - gateInReference: A reference code for cargo entering the terminal. If not mentioned explicitly and gateInTerminal is extracted, then use bookingNumber as gateInReference.
21
21
  - pickUpTerminal: The specific terminal for cargo pickup. It can be found as Import pick up address(es), PORT OF DISCHARGE (after the slash '/').
22
22
  - pickUpReference: A reference code for cargo pickup. If not mentioned explicitly and pickUpTerminal is extracted, then use bookingNumber as pickUpReference.
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. It can be found as Service Contract/Rate Reff. No. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. It can be found as GATE IN AT TERMINAL/DEPOT"
@@ -14,7 +14,7 @@ For Import Shipment: The loaded container / cargo arrives at a port of discharge
14
14
  <CONTEXT>
15
15
 
16
16
  <INSTRUCTIONS>
17
- - gateInTerminalCode: The specific terminal where cargo is gated in. It can be called Return Equip Delivery Terminal and Location interception. This sometimes can be the same as portOfLoading of the First transportLeg.
17
+ - gateInTerminal: The specific terminal where cargo is gated in. It can be called Return Equip Delivery Terminal and Location interception. This sometimes can be the same as portOfLoading of the First transportLeg.
18
18
  - gateInReference: A reference code for cargo entering the terminal. If not mentioned explicitly and gateInTerminal is extracted, then use bookingNumber as gateInReference.
19
19
  - pickUpTerminal: The specific terminal for cargo pickup. It can be found as Import pick up address(es), PORT OF DISCHARGE (after the slash '/').
20
20
  - pickUpReference: A reference code for cargo pickup. If not mentioned explicitly and pickUpTerminal is extracted, then use bookingNumber as pickUpReference.
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. It can be referred as Rate Agreement Number or Contract No.. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. E.g., FULL RETURN LOCATION"
@@ -19,7 +19,7 @@ For Import Shipment: The loaded container / cargo arrives at a port of discharge
19
19
 
20
20
  - bookingNumber: Extract the booking number. This information can be found at the top section of the document".
21
21
 
22
- - gateInTerminalCode: The specific terminal where cargo is gated in. It can be called as FULL RETURN LOCATION. This sometimes can be the same as portOfLoading of the First transportLeg.
22
+ - gateInTerminal: The specific terminal where cargo is gated in. It can be called as FULL RETURN LOCATION. This sometimes can be the same as portOfLoading of the First transportLeg.
23
23
  - gateInReference: A reference code for cargo entering the terminal. If not mentioned explicitly and gateInTerminal is extracted, then use bookingNumber as gateInReference.
24
24
  - pickUpTerminal: The specific terminal for cargo pickup. It can be found as Import pick up address(es), PORT OF DISCHARGE (after the slash '/').
25
25
  - pickUpReference: A reference code for cargo pickup. If not mentioned explicitly and pickUpTerminal is extracted, then use bookingNumber as pickUpReference.
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. It can be found as Gate In At Terminal, Gate in Terminal, Full Return To Terminal, Full Return Location, Cargo Delivery At, Delivery Terminal, Full Return CY, eyc.."
@@ -11,12 +11,12 @@
11
11
  "nullable": true,
12
12
  "description": "It's a contract number between the carrier and Forto Logistics SE & Co KG. Shipment Id 'S' followed by 6, 7, or 8 digits e.g. S9486358 is not a contract number."
13
13
  },
14
- "pickUpTerminalCode": {
14
+ "pickUpTerminal": {
15
15
  "type": "STRING",
16
16
  "nullable": true,
17
17
  "description": "The specific terminal for cargo pickup during the import shipment."
18
18
  },
19
- "gateInTerminalCode": {
19
+ "gateInTerminal": {
20
20
  "type": "STRING",
21
21
  "nullable": true,
22
22
  "description": "The specific terminal where cargo is gated in especially Export terminal delivery address. It is mentioned as Delivery Terminal."
@@ -17,7 +17,7 @@ For Import Shipment: The loaded container / cargo arrives at a port of discharge
17
17
  - Populate fields as defined in the response schema.
18
18
  - Use the data field description to understand the context of the data.
19
19
 
20
- - gateInTerminalCode: The specific terminal where cargo is gated in. It is mentioned as Delivery Terminal. This sometimes can be the same as portOfLoading of the First transportLeg.
20
+ - gateInTerminal: The specific terminal where cargo is gated in. It is mentioned as Delivery Terminal. This sometimes can be the same as portOfLoading of the First transportLeg.
21
21
  - cyCutOff: The deadline for cargo to be delivered to the Container Yard. It can be found at Cargo Cut Off or FCL delivery cut-off.
22
22
 
23
23
  - transportLegs: Multiple Transport Legs entries may exist, capture all instances under "transportLegs". Make sure the order of the legs are important.