Init validate service #45

Merged
3023730 merged 2 commits from #12-init-validate-service into main 2025-06-01 12:51:30 +02:00
Collaborator

Init des Validation service. Bisher kann der nur mergen, das validieren kommt noch.
Zum testen:

  1. Die datei project/.env.template zu .env umbenennen (api key wird noch nicht benötigt, kann also leer bleiben)
  2. Das startet die benötigten services:
docker compose up db coordinator validate --build
  1. Das fügt ein pitchBook in die db ein (damit die gefundenen werte diesem zugeordnet werden können):
 curl --location 'localhost:5050/api/pitch_book' \
--form 'file=@"../pitch-books/Pitchbook 1.pdf"'
  1. Die aufrufe von exxetaGPT und spacy faken, damit die daten ankommen. Dabei die id von dem aufruf davor nehmen:
curl --location 'http://localhost:5051/validate' \
--header 'Content-Type: application/json' \
--data '{
    "id": 1,
    "service": "exxeta",
    "entities": [
          {
    "label": "FONDSNAME",
    "entity": "Real Estate Prime Europe",
    "page": 1
  },
  {
    "label": "DATUM",
    "entity": "December 2018",
    "page": 1
  },
  {
    "label": "RISIKOPROFIL",
    "entity": "Core and Core+",
    "page": 10
  }
    ]
}'

und

curl --location 'http://localhost:5051/validate' \
--header 'Content-Type: application/json' \
--data '{
    "id": 1,
    "service": "spacy",
    "entities": [
  {
    "label": "RISIKOPROFIL",
    "entity": "Core",
    "page": 1
  },
  {
    "label": "RISIKOPROFIL",
    "entity": "Case",
    "page": 2
  },
  {
    "label": "RISIKOPROFIL",
    "entity": "Core and Core+",
    "page": 10
  }
    ]
}'
  1. Danach sollten die daten unter dem pitchBook stehen:
curl --location 'localhost:5050/api/pitch_book'
Init des Validation service. Bisher kann der nur mergen, das validieren kommt noch. Zum testen: 1. Die datei project/.env.template zu .env umbenennen (api key wird noch nicht benötigt, kann also leer bleiben) 2. Das startet die benötigten services: ```sh docker compose up db coordinator validate --build ``` 3. Das fügt ein pitchBook in die db ein (damit die gefundenen werte diesem zugeordnet werden können): ```sh curl --location 'localhost:5050/api/pitch_book' \ --form 'file=@"../pitch-books/Pitchbook 1.pdf"' ``` 4. Die aufrufe von exxetaGPT und spacy faken, damit die daten ankommen. Dabei die id von dem aufruf davor nehmen: ```sh curl --location 'http://localhost:5051/validate' \ --header 'Content-Type: application/json' \ --data '{ "id": 1, "service": "exxeta", "entities": [ { "label": "FONDSNAME", "entity": "Real Estate Prime Europe", "page": 1 }, { "label": "DATUM", "entity": "December 2018", "page": 1 }, { "label": "RISIKOPROFIL", "entity": "Core and Core+", "page": 10 } ] }' ``` und ```sh curl --location 'http://localhost:5051/validate' \ --header 'Content-Type: application/json' \ --data '{ "id": 1, "service": "spacy", "entities": [ { "label": "RISIKOPROFIL", "entity": "Core", "page": 1 }, { "label": "RISIKOPROFIL", "entity": "Case", "page": 2 }, { "label": "RISIKOPROFIL", "entity": "Core and Core+", "page": 10 } ] }' ``` 5. Danach sollten die daten unter dem pitchBook stehen: ```sh curl --location 'localhost:5050/api/pitch_book' ```
3023730 was assigned by 3025495 2025-05-30 13:58:32 +02:00
3025495 added 1 commit 2025-05-30 13:58:32 +02:00
df5ac605c2 Add validate service with entity merging and validation
Implements a Flask microservice that receives entities from SpaCy and
Exxeta services, merges them based on normalized text matching, and
forwards validated results to coordinator. Also updates gunicorn
configuration with timeout and worker settings.
Collaborator

Fragen:

  • Wir faken die Aufrufe von exxetaGPT und spacy, da wir bei den beiden noch keine Anbindung an den merge&validate Service haben, richtig? Oder gibt es (noch) einen anderen Grund?

  • Wenn ich die Schritte durchgehe, stehen bei mir nach Schritt 5 nicht die Daten aus den Aufrufen von ExxetaGPT und spacy, sondern einfach das, (ich habe das mehrfach getestet, deswegen sind da noch pitchbooks vorne dran):

Fragen: - Wir faken die Aufrufe von exxetaGPT und spacy, da wir bei den beiden noch keine Anbindung an den merge&validate Service haben, richtig? Oder gibt es (noch) einen anderen Grund? - Wenn ich die Schritte durchgehe, stehen bei mir nach Schritt 5 nicht die Daten aus den Aufrufen von ExxetaGPT und spacy, sondern einfach das, (ich habe das mehrfach getestet, deswegen sind da noch pitchbooks vorne dran):
Poster
Collaborator

Fragen:

  • Wir faken die Aufrufe von exxetaGPT und spacy, da wir bei den beiden noch keine Anbindung an den merge&validate Service haben, richtig? Oder gibt es (noch) einen anderen Grund?

Ja, das stimmt. Sobald Anastasia den entsprechenden Bug behoben hat, würden die Aufrufe von da kommen. Und so hat es den Vorteil, dass du nicht alle services starten musst und direkt testen kannst

  • Wenn ich die Schritte durchgehe, stehen bei mir nach Schritt 5 nicht die Daten aus den Aufrufen von ExxetaGPT und spacy, sondern einfach das, (ich habe das mehrfach getestet, deswegen sind da noch pitchbooks vorne dran):

Das sollte eigentlich nicht so sein. Was bekommst du denn bei den aufrufen vom valitate-service zurück? Da müsste eigenlich so was wie "first dataset for ${id}..." und "seccond dataset for ${id}..." stehen
Steht noch was in den logs? Da müsste so etwas wie "sent to coordinator" stehen

> Fragen: > > - Wir faken die Aufrufe von exxetaGPT und spacy, da wir bei den beiden noch keine Anbindung an den merge&validate Service haben, richtig? Oder gibt es (noch) einen anderen Grund? Ja, das stimmt. Sobald Anastasia den entsprechenden Bug behoben hat, würden die Aufrufe von da kommen. Und so hat es den Vorteil, dass du nicht alle services starten musst und direkt testen kannst > - Wenn ich die Schritte durchgehe, stehen bei mir nach Schritt 5 nicht die Daten aus den Aufrufen von ExxetaGPT und spacy, sondern einfach das, (ich habe das mehrfach getestet, deswegen sind da noch pitchbooks vorne dran): Das sollte eigentlich nicht so sein. Was bekommst du denn bei den aufrufen vom valitate-service zurück? Da müsste eigenlich so was wie "first dataset for \${id}..." und "seccond dataset for ${id}..." stehen Steht noch was in den logs? Da müsste so etwas wie "sent to coordinator" stehen
3023730 added 1 commit 2025-06-01 12:49:36 +02:00
3023730 merged commit 7180db773e into main 2025-06-01 12:51:30 +02:00
Sign in to join this conversation.
There is no content yet.