Thanks to visit codestin.com
Credit goes to github.com

Skip to content

im-ikao/SkillExtractionNER

Repository files navigation

SkillExtractionNER

SkillExtractionNER is an open-source .NET 10 service that loads skill dictionaries, exposes REST endpoints for annotation/opportunity scoring skills in text. It is published under the MIT License so you can reuse or extend it in your own applications.

Highlights

  • POST /annotate returns full and ngram_scored matching results for any text payload.
  • POST /opportunities aggregates matched skills per document and ranks the five most relevant opportunities.
  • /openapi and /scalar always publish the current spec, while /health and /ready expose liveness/readiness probes.
  • OpenTracing instrumentation is enabled (Jaeger by default) so distributed traces capture annotation activity.

Getting started

Prerequisites

  • .NET 10 SDK.
  • The Data/ directory of skill dictionaries (already in the repo and copied to output by the project file).
  • Optional: a Jaeger collector if you want to see OpenTracing spans.

Build & run

  1. Copy environment variables from .env.example or set SkillDataDirectory, JAEGER_*, etc., yourself.
  2. cd ImIKao.SkillNER and run dotnet build (the Data folder is copied to the build output automatically).
  3. Launch the service with dotnet run --urls="http://0.0.0.0:8080".
  4. Hit the endpoints at http://localhost:8080/annotate, /opportunities, /health, /ready, /openapi, or /scalar.

API overview

Endpoint Description
POST /annotate Returns full/ngram_scored matches for the supplied text body.
POST /opportunities Ranks top 5 matched skills per document.
GET /openapi Raw OpenAPI JSON payload.
GET /scalar Scalar UI for the current OpenAPI spec.
/health & /ready Health and readiness gates.

Configuration & observability

  • Set SkillDataDirectory (default: Data/) to point to the JSON dictionaries at runtime.
  • The tracer configuration respects JAEGER_* environment variables so you can swap collectors without code changes.
  • [MapOpenApi](https://learn.microsoft.com/en-us/aspnet/core/?view=aspnetcore-8.0) + Scalar keep documentation accessible even when the service is hosted behind proxies.

Docker

docker build -t skillner .
docker run -p 8080:8080 skillner

The Dockerfile copies Data/ so the dictionaries travel with the image and exposes the OpenAPI/Scalar endpoints.

Testing

From the solution root run dotnet test ImIKao.SkillNER.sln. CI runners should already support the required .NET tooling and IPC primitives.

Contributing

Contributions are welcome. Fork the repo, add or fix features, and open a pull request. Please keep the Data/ files in sync with the project settings and run dotnet test before submitting changes.

License

This project is licensed under the MIT License — see the accompanying LICENSE file for the full text.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors