Skip to content

Adding NER service and dependencies of NER/NEL#55

Merged
wdmuer merged 24 commits intodevelopmentfrom
feature/named-entity-recognition
May 4, 2026
Merged

Adding NER service and dependencies of NER/NEL#55
wdmuer merged 24 commits intodevelopmentfrom
feature/named-entity-recognition

Conversation

@javdrher
Copy link
Copy Markdown
Contributor

This PR introduces the NER service, and adds some dependencies of the AI team

  • Nominatim
  • QDrant

It does not fully cover additional needs from ollama for the NEL service

@javdrher javdrher requested review from a team, Rahien and wdmuer February 14, 2026 00:23
Comment thread docker-compose.yml Outdated
- database:database
pdf-scraper:
image: semanticai/decide-pdf-scraper:0.0.1
image: docker.io/semanticai/decide-pdf-scraper:0.0.1
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

convention is to leave the default docker.io repo out here

@brechtvdv
Copy link
Copy Markdown
Contributor

Related: #57

@wdmuer
Copy link
Copy Markdown
Contributor

wdmuer commented Apr 27, 2026

Summary
Added entire PDF-to-ELI pipeline, as well as codelist-labeling service

How to test

  1. Run docker compose pull
  2. Fill in API keys in the config files: config/ner/config.json, config/pdf-content/config.json, /config/codelist/config.json
  3. Add the API key as well as an environment variable in the docker-compose.override.yml for the entity-linking service
  4. Run docker compose up -d
  5. Run desired job
    WHERE {
      GRAPH ?g {
        ${rst.termToString(task)}
          adms:status ?oldStatus ;
          dct:modified ?oldModified .
        OPTIONAL {
          ${rst.termToString(task)}
            task:inputContainer ?container .
        }
      }
    }

Comment thread compose/ai.yml Outdated
image: lblod/entity-linking-service:latest
image: semanticai/entity-linking-backend:0.0.1
ports:
- "81:80"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove and put in your docker-compose.override if you need it

Comment thread compose/ai.yml Outdated
qdrant:
image: qdrant/qdrant
ports:
- "6333:6333"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove and put in your docker compose override if you need it, on the docker network services will be able to reach all ports

Comment thread compose/ai.yml Outdated
named-entity-recognition:
image: semanticai/decide-geocoding-service:0.0.2
ports:
- "8082:80"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove

Comment thread compose/ai.yml Outdated
image: ollama/ollama:0.21.2
volumes:
- ../data/ollama:/root/.ollama
ports:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove. i also think that there is already an ollama service somewhere else?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah makes sense, it was moved here, please ignore and just remove the port

},
"segmentation": {
"model_name": "mistral-large-latest",
"api_key": "SECRET_KEY",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be best to put this kind of thing in env vars instead of config so you never accidentally commit it

Comment thread compose/ai.yml Outdated
- database:database
volumes:
- ./../config/nel/config:/config
- ./../config/nel/data:/app/data
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should this not be the ./../data/nel folder then?

Comment thread compose/ai.yml
- ./../config/pdf-content/config.json:/app/config.json:ro # Mount config as read-only
labels:
- logging=true
restart: always
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please DO mark all your services as restart always to that on error, they restart on the server side, then just add restart:no to the docker-compose.dev.yml

@wdmuer wdmuer merged commit 15d44bd into development May 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants