# TaskConfig


```
public sealed class TaskConfig
```

<br />

Known direct subclasses [TaskConfig.Classification](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Classification), [TaskConfig.Clustering](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Clustering), [TaskConfig.CodeRetrieval](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.CodeRetrieval), [TaskConfig.FactVerification](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.FactVerification), [TaskConfig.QuestionAnswering](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.QuestionAnswering), [TaskConfig.RetrievalDocument](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalDocument), [TaskConfig.RetrievalQuery](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalQuery), [TaskConfig.SemanticSimilarity](https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.SemanticSimilarity)

|---|---|
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Classification` | Task type for classification tasks. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Clustering` | Task type for clustering tasks. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.CodeRetrieval` | Task type for retrieving code blocks based on a natural language query. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.FactVerification` | Task type for statements that need to be verified. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.QuestionAnswering` | Task type for questions in a question-answering system. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalDocument` | Task type for documents to be indexed or retrieved. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalQuery` | Task type for general search queries. |
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.SemanticSimilarity` | Task type for assessing text similarity. |

*** ** * ** ***

Defines the available task configurations for the embedding model.

Different task types influence how the model generates embeddings, often by formatting the input to optimize for the target use case:

- **Asymmetric retrieval tasks** : Use `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalQuery`, `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.QuestionAnswering`, `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.FactVerification`, or `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.CodeRetrieval` when embedding queries, and pair them with `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalDocument` when embedding the corpus documents to be searched.

- **Symmetric tasks** : Use the same task type (`https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.SemanticSimilarity`, `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Classification`, or `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Clustering`) for all inputs being compared or grouped.

## Summary

| ### Nested types |
|---|
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Classification extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for classification tasks. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.Clustering extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for clustering tasks. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.CodeRetrieval extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for retrieving code blocks based on a natural language query. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.FactVerification extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for statements that need to be verified. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.QuestionAnswering extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for questions in a question-answering system. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalDocument extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for documents to be indexed or retrieved. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.RetrievalQuery extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for general search queries. |
| `public final class https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig.SemanticSimilarity extends https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig` Task type for assessing text similarity. |

| ### Protected constructors |
|---|
| `https://developers.google.com/android/reference/com/google/mlkit/genai/embedding/TaskConfig#TaskConfig()()` |

## Protected constructors

### TaskConfig

```
protected TaskConfig()
```