Skip to main content

A simple NER agent

Project description

ner-agent

A simple, language-agnostic Named Entity Recognition (NER) agent powered by LLMs.

Features

  • Multilingual: Supports English, Chinese, Japanese, Korean, French, German, Russian, Spanish, and more.
  • Entity Types: Recognizes PERSON, NORP (nationalities, religions, political groups, languages), LOCATION, DATETIME, NUMERIC, and PROPER_NOUN (events, works, organizations, products, etc.).
  • Easy Integration: Use as a Python library with a simple async API.
  • Tested: Includes comprehensive test cases for multiple languages and entity types.

Installation

pip install ner-agent

Or clone and install locally:

git clone https://github.com/allen2c/ner-agent.git
cd ner-agent
pip install .

Python 3.11+ required.

Usage

import asyncio
from ner_agent import NerAgent

async def main():
    agent = NerAgent()
    text = "Elon Musk visited Tesla's Gigafactory in Austin on March 15, 2024, announcing a 20% increase."
    result = await agent.run(text)
    for entity in result.entities:
        print(entity)

asyncio.run(main())

Output:

name='PERSON' value='Elon Musk' start=0 end=9
name='PROPER_NOUN' value='Tesla' start=18 end=23
name='LOCATION' value='Gigafactory' start=26 end=37
...

Entity Types

  • PERSON: People, including fictional characters.
  • NORP: Nationalities, religious groups, political groups, languages.
  • LOCATION: Geopolitical entities, facilities, places.
  • DATETIME: Dates, times, periods, ages.
  • NUMERIC: Numbers, money, quantities, percentages, ordinals/cardinals.
  • PROPER_NOUN: Named events, works, laws, products, organizations, companies, etc.

Testing

To run the tests:

pytest

Configuration

  • By default, uses OpenAI-compatible LLMs via openai-agents.
  • You can configure the model and OpenAI client (see tests/conftest.py for examples).

License

MIT License


For more details, see ner_agent/init.py and the tests.

If you need more advanced usage or want to contribute, please check the GitHub repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ner_agent-0.4.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ner_agent-0.4.1-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file ner_agent-0.4.1.tar.gz.

File metadata

  • Download URL: ner_agent-0.4.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Darwin/24.6.0

File hashes

Hashes for ner_agent-0.4.1.tar.gz
Algorithm Hash digest
SHA256 297a679178172988109f771e6ec200de9bfb5c7d4cb6eb420460e586b2946cf0
MD5 ff8fc3e40e0731702a41eb2f3ebee719
BLAKE2b-256 9e3630e39db8ed1a08b5d49b6a5fa92ae9850bf84c306775cecdb679c6aa02a5

See more details on using hashes here.

File details

Details for the file ner_agent-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: ner_agent-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.11.13 Darwin/24.6.0

File hashes

Hashes for ner_agent-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ea227076cc4b9e9c80a81012dbe3bd97a038b9f07aa4de61f00c96a52ba00f78
MD5 5ebbcf397333ea396e7be5c860c24156
BLAKE2b-256 615af19b9d783da7f034ccc6402f30416133195b02c746622f4e330b0c7fd95e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page