# Supported Concepts

In ContextGem, Concepts are building blocks for defining the structured data you want to extract from documents.
Each concept type is designed for different kinds of information, allowing you to build complex extraction schemas.

## Available Concept Types

ContextGem provides several types of concepts, each tailored for specific extraction needs:

- 📝 [StringConcept](https://contextgem.shcherbak.ai/concepts/string_concept/index.html.md): For extracting text values
- ✅ [BooleanConcept](https://contextgem.shcherbak.ai/concepts/boolean_concept/index.html.md): For extracting boolean (True/False) values
- 🔢 [NumericalConcept](https://contextgem.shcherbak.ai/concepts/numerical_concept/index.html.md): For extracting numerical values (integers or floats)
- 📅 [DateConcept](https://contextgem.shcherbak.ai/concepts/date_concept/index.html.md): For extracting date objects
- ⭐ [RatingConcept](https://contextgem.shcherbak.ai/concepts/rating_concept/index.html.md): For extracting numerical ratings within a defined scale
- 📊 [JsonObjectConcept](https://contextgem.shcherbak.ai/concepts/json_object_concept/index.html.md): For extracting structured data with multiple fields
- 🏷️ [LabelConcept](https://contextgem.shcherbak.ai/concepts/label_concept/index.html.md): For classification using predefined labels (multi-class or multi-label)

This section provides detailed documentation for each concept type, including usage examples and best practices.

#### NOTE
All concept types are extracted with LLMs. [BooleanConcept](https://contextgem.shcherbak.ai/concepts/boolean_concept/index.html.md), [LabelConcept](https://contextgem.shcherbak.ai/concepts/label_concept/index.html.md) and [RatingConcept](https://contextgem.shcherbak.ai/concepts/rating_concept/index.html.md) can also be extracted with a decision model, which returns the probabilities of the possible values instead of generating text. See [Decision Models](https://contextgem.shcherbak.ai/decision_models/decision_models/index.html.md).
