# Monocle Entities
The entity type defines the type of GenAI component that Monocle understand. The monocle instrumentation can extract the relevenat information for this entity. There are a fixed set of [entity types](./entity_types.py) that are defined by Monocle out of the box, eg workflow, model etc. As the GenAI landscape evolves, the Monocle community will introduce a new entity type if the current entities won't represent a new technology component.

## Entity Types
Following attributes are supported for all entities
| Name | Description | Required |
| - | - | - |
| name | Entity name generated by Monocle | Required |
| type | Monocle Entity type | True |

### MonocleEntity.Workflow
Workflow ie the core application code. Supported types are -
- generic
- langchain
- llama_index
- haystack

### MonocleEntity.Model
GenAI models. Supported types are -
- generic
- llm
- embedding
Following attributes are supported for all model type entities
| Name | Description | Required |
| - | - | - |
| model_name | Name of model | True |


### MonocleEntity.AppHosting
Application host services where the workflow code is run. Supported types are -
- generic
- aws_lambda
- aws_sagemaker
- azure_func
- github_codespace
- azure_mlw

### MonocleEntity.Inference
The model hosting infrastructure services. Supported types are -
- generic
- nvidia_triton
- openai
- azure_oai
- aws_sagemaker
- aws_bedrock
- hugging_face

### MonocleEntity.VectorStore
Vector search data stores. Supported types are -
- generic
- chroma
- aws_es
- milvus
- pinecone
