diff --git a/docs/embeddings.md b/docs/embeddings.md index 3ea7767..78009de 100644 --- a/docs/embeddings.md +++ b/docs/embeddings.md @@ -10,16 +10,17 @@ Chroma provides lightweight wrappers around popular embedding providers, making
-| | Python | JS | -|--------------|-----------|---------------| -| [OpenAI](/embeddings/openai) | ✅ | ✅ | -| [Google Generative AI](/embeddings/google-gemini) | ✅ | ✅ | -| [Cohere](/embeddings/cohere) | ✅ | ✅ | -| [Google PaLM](/embeddings/google-palm) | ✅ | ➖ | -| [Hugging Face](/embeddings/hugging-face) | ✅ | ➖ | -| [Instructor](/embeddings/instructor) | ✅ | ➖ | +| | Python | JS | +|----------------------------------------------------------------------------|-----------|---------------| +| [OpenAI](/embeddings/openai) | ✅ | ✅ | +| [Google Generative AI](/embeddings/google-gemini) | ✅ | ✅ | +| [Cohere](/embeddings/cohere) | ✅ | ✅ | +| [Google PaLM](/embeddings/google-palm) | ✅ | ➖ | +| [Hugging Face](/embeddings/hugging-face) | ✅ | ➖ | +| [Instructor](/embeddings/instructor) | ✅ | ➖ | | [Hugging Face Embedding Server](/embeddings/hugging-face-embedding-server) | ✅ | ✅ | -| [Jina AI](/embeddings/jinaai) | ✅ | ✅ | +| [Jina AI](/embeddings/jinaai) | ✅ | ✅ | +| [VoyageAI](/embeddings/voyageai) | ✅ | ✅ | | [Roboflow](/embeddings/roboflow-api) | ✅ | ➖ | | [Ollama](/embeddings/ollama) | ✅ | ✅ | diff --git a/docs/embeddings/voyageai.md b/docs/embeddings/voyageai.md new file mode 100644 index 0000000..20d156a --- /dev/null +++ b/docs/embeddings/voyageai.md @@ -0,0 +1,53 @@ +--- +--- + +# VoyageAI + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +
Select a language
+ + + + + + +Chroma also provides a convenient wrapper around VoyageAI's embedding API. This embedding function runs remotely on VoyageAI’s servers, and requires an API key. You can get an API key by signing up for an account at [VoyageAI](https://dash.voyageai.com/api-keys). + + + + +This embedding function relies on the `voyageai` python package, which you can install with `pip install voyageai`. + +```python +from chromadb.utils.embedding_functions import VoyageAIEmbeddingFunction +voyageai_ef = VoyageAIEmbeddingFunction(api_key="YOUR_API_KEY", model_name="voyage-law-2", input_type=VoyageAIEmbeddingFunction.InputType.DOCUMENT) +result = voyageai_ef(input=["document1","document2"]) +``` + + + + +```javascript +const {VoyageAIEmbeddingFunction, InputType} = require('chromadb'); +// const {VoyageAIEmbeddingFunction, InputType} from "chromadb"; // ESM import +const embedder = new VoyageAIEmbeddingFunction("apiKey", "voyage-law-2", InputType.DOCUMENT) + +// use directly +const embeddings = embedder.generate(["document1","document2"]) + +// pass documents to query for .add and .query +const collection = await client.createCollection({name: "name", embeddingFunction: embedder}) +const collectionGet = await client.getCollection({name:"name", embeddingFunction: embedder}) +``` + + + + + + + +You should pass in the `model_name` argument, which lets you choose which VoyageAI embeddings model to use. You can see the available models [here](https://docs.voyageai.com/docs/embeddings). + + diff --git a/sidebars.js b/sidebars.js index f94bc3f..4751eb6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -95,6 +95,7 @@ const sidebars = { 'embeddings/roboflow-api', 'embeddings/hugging-face-embedding-server', 'embeddings/jinaai', + 'embeddings/voyageai', 'embeddings/ollama', ], },