# October 21: Support OpenAI, Cohere, Jina, Mistral, Voyage and Google AI embedding models

### New Features

* :bulb: Graphlit now supports the configuration of image and text embedding models, at the Project level.  You can create an embedding specification for a text or image embedding model, and then assign that to the Project, and all further embedding requests will use that embedding model.  See this [Colab notebook](https://colab.research.google.com/github/graphlit/graphlit-samples/blob/main/python/Notebook%20Examples/Graphlit_2024_10_21_Configure_Embedding_Model.ipynb) for an example of how to configure the project.
* :bulb: Graphlit now supports the OpenAI Embedding-3-Small and Embedding-3-Large, Cohere Embed 3.0, Jina Embed 3.0, Mistral Embed, and Voyage 2.0 and 3.0 text embedding models.  Graphlit also now supports Jina CLIP image embeddings, which are used by default for image search.
* Graphlit now supports the `chunkTokenLimit` property in Specifications, which specifies the number of tokens for each embedded text chunk.  If this is not configured, Graphlit uses 600 tokens for each embedded text chunk.
* Graphlit now supports the Voyage reranking model.
* Graphlit now supports the `ingestTextBatch` mutation, which accepts an array of text and name pairs, and will asynchronously ingest these into content objects.
* :zap: We have moved the `chunkTokenLimit` property from the Workflow storage embeddings strategy to the Specification object.  The Workflow `storage` property has now been deprecated.
* :zap: We have deprecated the `openAIImage` property from Workflow entity extraction properties. Use the `modelImage` property instead.&#x20;

{% hint style="warning" %}
Once a text embedding model has been updated at the project level, any content, conversations or observed entities will no longer be semantically searchable.&#x20;

Text embeddings are not compatible across models, so you will need to delete and reingest any content, or recreate conversations or knowledge graph entities, with the new embedding model to become searchable.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://changelog.graphlit.dev/october-2024/october-21-support-openai-cohere-jina-mistral-voyage-and-google-ai-embedding-models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
