# Flair — State-of-the-Art NLP Framework for Python > Flair is a simple yet powerful NLP library built on PyTorch that lets you apply sequence labeling, text classification, and embeddings with a few lines of code. ## Install Save as a script file and run: # Flair — State-of-the-Art NLP Framework for Python ## Quick Use ```bash pip install flair ``` ```python from flair.data import Sentence from flair.nn import Classifier tagger = Classifier.load('ner') sentence = Sentence('George Washington went to Washington.') tagger.predict(sentence) print(sentence.get_labels('ner')) ``` ## Introduction Flair is a PyTorch-based NLP framework developed by Humboldt University of Berlin. It provides a simple, unified interface for training and applying sequence labeling models (NER, POS, chunking), text classification, and embedding-based tasks. Flair introduced contextual string embeddings, which capture meaning from character-level language models. ## What Flair Does - Named entity recognition, part-of-speech tagging, and chunking out of the box - Text classification with pre-built and custom models - Stacked and pooled document embeddings from multiple sources - Biomedical, legal, and multilingual NER models ready to use - Simple training API for fine-tuning on custom datasets ## Architecture Overview Flair wraps PyTorch and provides a layered architecture: a data module handles tokenized sentences and corpora, an embeddings module supports Flair, Transformer, word2vec, and byte-pair embeddings, and a models module offers sequence taggers and text classifiers. Training is handled through a unified Trainer class with built-in scheduling, logging, and checkpointing. ## Self-Hosting & Configuration - Install via pip: `pip install flair` - Requires Python 3.8+ and PyTorch - Models download automatically on first use and cache locally - GPU support via standard PyTorch CUDA setup - Custom models trainable on any CoNLL-formatted or CSV dataset ## Key Features - Contextual string embeddings that capture subword-level semantics - Simple three-line interface for tagging and classification - Supports stacking multiple embedding types in a single model - Pre-trained models for 20+ languages and domain-specific tasks - Active community with frequent releases and new model additions ## Comparison with Similar Tools - **spaCy** — production-focused with pipelines; Flair offers more embedding flexibility - **Hugging Face Transformers** — broader model hub; Flair is simpler for sequence labeling - **Stanza** — Stanford-backed with multilingual UD models; Flair has more embedding options - **NLTK** — educational toolkit; Flair targets production-grade deep learning models ## FAQ **Q: Can I use Transformer embeddings in Flair?** A: Yes. Flair supports all Hugging Face Transformer models as embeddings that you can stack with other embedding types. **Q: Does Flair support multilingual NER?** A: Yes. Pre-trained NER models are available for English, German, Dutch, Spanish, and many other languages. **Q: How do I train a custom NER model?** A: Prepare data in CoNLL-03 column format, define a SequenceTagger with your chosen embeddings, and call `trainer.train()`. **Q: Is GPU required?** A: No. Flair runs on CPU, though GPU accelerates both training and inference. ## Sources - https://github.com/flairNLP/flair - https://flairnlp.github.io/ --- Source: https://tokrepo.com/en/workflows/asset-b0d7aa09 Author: Script Depot