⊕PluginLanguage & NLPFree
spacy-llm — LLMs in spaCy NLP Pipelines
Integrates LLMs as spaCy pipeline components for NER, classification, lemmatisation, and relation extraction with zero/few-shot prompting.
Installs14k
Rating★ 4.4
Reviews5
spacy-llm
spacy-llm brings large language models into spaCy's production NLP pipeline system. It provides drop-in components that use LLMs for tasks like NER, text classification, lemmatisation, and relation extraction — with support for zero-shot and few-shot prompting, Jinja2 templates, and custom task definitions.
Key Features
- spaCy components:
llm_ner,llm_textcat,llm_lemmatizer,llm_rel,llm_spancat - Backends: OpenAI, Anthropic, Cohere, HuggingFace, Ollama, llama.cpp, custom
- Few-shot: add examples to your config YAML — no code changes
- Structured output parsing: maps LLM JSON/text responses to spaCy spans
- Prompt versioning: Jinja2 templates tracked in configs
- Seamlessly composes with other spaCy components (tok2vec, transformers, …)
Quick Start
import spacy
# config.cfg defines the LLM-NER pipeline
nlp = spacy.load("config.cfg")
doc = nlp("Elon Musk founded SpaceX in Hawthorne, California.")
for ent in doc.ents:
print(ent.text, ent.label_) # "Elon Musk" PERSON, "SpaceX" ORG, …
# Create a starter config
python -m spacy init config --lang en --pipeline llm > config.cfg
Install via ai-supply
npx ai-supply add spacy-llm-nlp-pipeline-integration
Curated mirror of the open-source spacy-llm (MIT). Get it from the source.