diff --git a/SUMMARY.md b/SUMMARY.md
index 7ff153b..a5203ac 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -72,7 +72,7 @@
* [OpenAI](platform/integrations/openai.md)
* [Mistral AI](platform/integrations/mistral-ai.md)
* [Jina AI](platform/integrations/jina-ai.md)
- * [Voyage AI](platform/integrations/voyage-ai.md)
+ * [VoyageAI by MongoDB](platform/integrations/voyage-ai.md)
* [Mixedbread AI](platform/integrations/mixedbread-ai.md)
* [Nomic AI](platform/integrations/nomic-ai.md)
* [Roadmap](vector-database/roadmap.md)
diff --git a/integration.md b/integration.md
index be0b397..c2e1a03 100644
--- a/integration.md
+++ b/integration.md
@@ -2,7 +2,7 @@
## Model Providers
-Integrating with large language models (LLMs) and embedding model providers in Epsilla allows users to tap into cutting-edge AI models for a variety of applications. Epsilla offers seamless connections to a range of providers such as OpenAI, Anthropic, and others, supporting models like GPT-4, Claude, Mistral, and embedding solutions like JinaAI, VoyageAI, etc.
+Integrating with large language models (LLMs) and embedding model providers in Epsilla allows users to tap into cutting-edge AI models for a variety of applications. Epsilla offers seamless connections to a range of providers such as OpenAI, Anthropic, and others, supporting models like GPT-4, Claude, Mistral, and embedding solutions like JinaAI, VoyageAI by MongoDB, etc.
diff --git a/knowledge-base/advanced-settings/embedding.md b/knowledge-base/advanced-settings/embedding.md
index f07418a..756b47f 100644
--- a/knowledge-base/advanced-settings/embedding.md
+++ b/knowledge-base/advanced-settings/embedding.md
@@ -16,7 +16,7 @@ Read more about [embedding](../../vector-database/embeddings.md).
### Which Embedding Model Fits My Needs Best
-When selecting an embedding model for your specific use case, it's important to recognize that there is no one-size-fits-all model. The ideal model depends on factors such as the nature of your use case, cost considerations, and performance requirements. OpenAI offers large and small embedding models: the large embedding model excels in general-purpose scenarios where higher quality is crucial, while the smaller model is a more cost-efficient option for use cases with tighter budget constraints. JinaAI provides embedding models well-suited for multilingual applications, making them an excellent choice for use cases involving diverse languages. For more specialized needs, VoyageAI models are optimized for vertical domains, such as financial or legal contexts, offering domain-specific insights and improved accuracy in these areas.
+When selecting an embedding model for your specific use case, it's important to recognize that there is no one-size-fits-all model. The ideal model depends on factors such as the nature of your use case, cost considerations, and performance requirements. OpenAI offers large and small embedding models: the large embedding model excels in general-purpose scenarios where higher quality is crucial, while the smaller model is a more cost-efficient option for use cases with tighter budget constraints. JinaAI provides embedding models well-suited for multilingual applications, making them an excellent choice for use cases involving diverse languages. For more specialized needs, VoyageAI by MongoDB models are optimized for vertical domains, such as financial or legal contexts, offering domain-specific insights and improved accuracy in these areas.
For an overview of different models' performance across various benchmarks, you can refer to the [MTEB leaderboard](https://huggingface.co/spaces/mteb/leaderboard). However, it's important not to blindly rely on these results, as the datasets used in MTEB might not fully represent your specific use case and could be biased. Always consider evaluating models in the context of your own data and requirements.
diff --git a/platform/integrations/README.md b/platform/integrations/README.md
index f9cc205..f8b11e5 100644
--- a/platform/integrations/README.md
+++ b/platform/integrations/README.md
@@ -2,4 +2,4 @@
Epsilla is integrated with the following products in generative AI landscape
-
diff --git a/platform/integrations/voyage-ai.md b/platform/integrations/voyage-ai.md
index fcb8ab6..08c7f41 100644
--- a/platform/integrations/voyage-ai.md
+++ b/platform/integrations/voyage-ai.md
@@ -1,33 +1,65 @@
-# Voyage AI
+# VoyageAI by MongoDB
-On Epsilla Cloud, you can enable Voyage AI integration by providing your Voyage AI API key (we securely manage your keys using AWS KMS):
+On Epsilla Cloud, you can enable VoyageAI by MongoDB integration by providing your VoyageAI by MongoDB API key (we securely manage your keys using AWS KMS):
## Embeddings
-Epsilla integrates with Voyage AI with the following embedding models:
+Epsilla integrates with VoyageAI by MongoDB with the following embedding models:
| Name | Dimensions |
|--------------------------------------|------------|
+| **voyageai/voyage-4-large** | 1024 |
+| **voyageai/voyage-4** | 1024 |
+| **voyageai/voyage-4-lite** | 1024 |
+| **voyageai/voyage-4-nano** | 1024 |
+| **voyageai/voyage-code-4** | 1024 |
+| **voyageai/voyage-context-4** | 1024 |
| **voyageai/voyage-multimodal-3** | 1024 |
| **voyageai/voyage-context-3** | 1024 |
| **voyageai/voyage-3.5** | 1024 |
| **voyageai/voyage-3.5-lite** | 512 |
| **voyageai/voyage-3-large** | 1024 |
-| **voyageai/voyage-3** | 1024 |
-| **voyageai/voyage-3-lite** | 512 |
| **voyageai/voyage-code-3** | 1024 |
-| **voyageai/voyage-large-2-instruct** | 1024 |
| **voyageai/voyage-finance-2** | 1024 |
-| **voyageai/voyage-multilingual-2** | 1024 |
| **voyageai/voyage-law-2** | 1024 |
-| **voyageai/voyage-code-2** | 1536 |
-| **voyageai/voyage-large-2** | 1536 |
-| **voyageai/voyage-2** | 1024 |
-For Epsilla open source vector db, you just need to add a header in the data ingestion and semantic search queries [like this](../../vector-database/embeddings.md#voyage-ai-embedding).
+## Contextual embeddings
-Then you can start using the voyageai embedding models during vector table schema creation:
+The **voyageai/voyage-context-4** and **voyageai/voyage-context-3** models are contextualized chunk embedding models: each chunk is embedded with awareness of its surrounding document context. They are served through VoyageAI by MongoDB's `contextualized_embed` API (see the [official spec](https://docs.voyageai.com/docs/contextualized-chunk-embeddings)).
+
+The `inputs` parameter accepts both supported formats:
+
+```
+inputs: Union[List[List[str]], List[str]]
+```
+
+- `List[List[str]]` — pre-chunked documents, one inner list of chunks per document.
+- `List[str]` — a flat list of strings (a single document's chunks, queries, or full documents when auto-chunking is enabled).
+
+```python
+import voyageai
+
+vo = voyageai.Client()
+
+# Nested: one inner list of chunks per document
+vo.contextualized_embed(
+ inputs=[["chunk 1 of doc A", "chunk 2 of doc A"], ["chunk 1 of doc B"]],
+ model="voyage-context-4",
+ input_type="document",
+)
+
+# Flat: a single list of strings
+vo.contextualized_embed(
+ inputs=["chunk 1", "chunk 2", "chunk 3"],
+ model="voyage-context-4",
+ input_type="document",
+)
+```
+
+For Epsilla open source vector db, you just need to add a header in the data ingestion and semantic search queries [like this](../../vector-database/embeddings.md#voyageai-by-mongodb-embedding).
+
+Then you can start using the VoyageAI by MongoDB embedding models during vector table schema creation:
diff --git a/vector-database/embeddings.md b/vector-database/embeddings.md
index fcac3bb..e88e2fe 100644
--- a/vector-database/embeddings.md
+++ b/vector-database/embeddings.md
@@ -286,31 +286,30 @@ await db.createTable(
{% endtab %}
{% endtabs %}
-## Voyage AI Embedding
+## VoyageAI by MongoDB Embedding
-Epsilla supports these VoyageAI embedding models (learn more about Voyage AI embedding at [https://docs.voyageai.com/docs/embeddings](https://docs.voyageai.com/docs/embeddings)):
+Epsilla supports these VoyageAI by MongoDB embedding models (learn more about VoyageAI by MongoDB embedding at [https://docs.voyageai.com/docs/embeddings](https://docs.voyageai.com/docs/embeddings)):
| Name | Dimensions |
| ------------------------------------ | ---------- |
-| **voyageai/voyage-large-2-instruct** | 1024 |
-| **voyageai/voyage-finance-2** | 1024 |
-| **voyageai/voyage-multilingual-2** | 1024 |
-| **voyageai/voyage-law-2** | 1024 |
-| **voyageai/voyage-code-2** | 1536 |
-| **voyageai/voyage-large-2** | 1536 |
-| **voyageai/voyage-code-2** | 1536 |
-| **voyageai/voyage-2** | 1024 |
-| **voyageai/voyage-02** | 1024 |
-| **voyageai/voyage-law-2** | 1024 |
-| **voyageai/voyage-finance-2** | 1024 |
-| **voyageai/voyage-multilingual-2** | 1024 |
-| **voyageai/voyage-lite-02-instruct** | 1024 |
+| **voyageai/voyage-4-large** | 1024 |
+| **voyageai/voyage-4** | 1024 |
+| **voyageai/voyage-4-lite** | 1024 |
+| **voyageai/voyage-4-nano** | 1024 |
+| **voyageai/voyage-code-4** | 1024 |
+| **voyageai/voyage-context-4** | 1024 |
+| **voyageai/voyage-multimodal-3** | 1024 |
+| **voyageai/voyage-context-3** | 1024 |
+| **voyageai/voyage-3.5** | 1024 |
+| **voyageai/voyage-3.5-lite** | 512 |
| **voyageai/voyage-3-large** | 1024 |
-| **voyageai/voyage-3** | 1024 |
-| **voyageai/voyage-3-lite** | 512 |
| **voyageai/voyage-code-3** | 1024 |
+| **voyageai/voyage-finance-2** | 1024 |
+| **voyageai/voyage-law-2** | 1024 |
+
+The **voyageai/voyage-context-4** and **voyageai/voyage-context-3** contextual models are served through VoyageAI by MongoDB's `contextualized_embed` API, whose `inputs` parameter accepts both supported formats — `inputs: Union[List[List[str]], List[str]]` (pre-chunked documents as a nested list, or a flat list of strings). See the [official spec](https://docs.voyageai.com/docs/contextualized-chunk-embeddings).
-When using Voyage AI embedding on Docker, make sure provide the **X-VoyageAI-API-Key** header when connecting to the vector database:
+When using VoyageAI by MongoDB embedding on Docker, make sure provide the **X-VoyageAI-API-Key** header when connecting to the vector database:
{% tabs %}
{% tab title="Python" %}
@@ -318,7 +317,7 @@ When using Voyage AI embedding on Docker, make sure provide the **X-VoyageAI-API
db = vectordb.Client(
...
headers={
- "X-VoyageAI-API-Key":
+ "X-VoyageAI-API-Key":
}
)
```
@@ -329,7 +328,7 @@ db = vectordb.Client(
const db = new epsillajs.EpsillaDB({
...
headers: {
- "X-VoyageAI-API-Key":
+ "X-VoyageAI-API-Key":
}
});
```
@@ -337,7 +336,7 @@ const db = new epsillajs.EpsillaDB({
{% endtabs %}
{% hint style="info" %}
-If you are using Epsilla Cloud, make sure to add [VoyageAI integration](../platform/integrations/voyage-ai.md) instead of passing the header.
+If you are using Epsilla Cloud, make sure to add [VoyageAI by MongoDB integration](../platform/integrations/voyage-ai.md) instead of passing the header.
{% endhint %}
And use the embedding model when defining the index:
@@ -348,7 +347,7 @@ And use the embedding model when defining the index:
status_code, response = db.create_table(
...
indices=[
- {"name": "Index", "field": "Doc", "model": "voyageai/voyage-02"}
+ {"name": "Index", "field": "Doc", "model": "voyageai/voyage-3.5"}
]
)
```
@@ -359,7 +358,7 @@ status_code, response = db.create_table(
await db.createTable(
...
[
- {"name": "Index", "field": "Doc", "model": "voyageai/voyage-02"}
+ {"name": "Index", "field": "Doc", "model": "voyageai/voyage-3.5"}
]
);
```