42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
from flask import Flask, request, jsonify
|
|
from extractSpacy import extract
|
|
import requests
|
|
import os
|
|
import json
|
|
|
|
app = Flask(__name__)
|
|
|
|
VALIDATE_SERVICE_URL = os.getenv("VALIDATE_SERVICE_URL", "http://localhost:5054/validate")
|
|
|
|
@app.route('/extract', methods=['POST'])
|
|
def extract_pdf():
|
|
json_data = request.get_json()
|
|
|
|
pitchbook_id = json_data["id"]
|
|
pages_data = json_data["extracted_text_per_page"]
|
|
|
|
entities_json = extract(pages_data)
|
|
entities = json.loads(entities_json) if isinstance(entities_json, str) else entities_json
|
|
|
|
validate_payload = {
|
|
"id": pitchbook_id,
|
|
"service": "spacy",
|
|
"entities": entities
|
|
}
|
|
|
|
print(f"[SPACY] Sending to validate service: {VALIDATE_SERVICE_URL}")
|
|
print(f"[SPACY] Payload: {validate_payload} entities for pitchbook {pitchbook_id}")
|
|
|
|
try:
|
|
response = requests.post(VALIDATE_SERVICE_URL, json=validate_payload, timeout=600)
|
|
print(f"[SPACY] Validate service response: {response.status_code}")
|
|
if response.status_code != 200:
|
|
print(f"[SPACY] Validate service error: {response.text}")
|
|
except Exception as e:
|
|
print(f"[SPACY] Error sending to validate service: {e}")
|
|
|
|
return jsonify("Sent to validate-service"), 200
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run(host="0.0.0.0", port=5052, debug=True) |