在 chromadb.utils.embedding_functions 下面有一大堆现成的嵌入函数,如下图:


或者直接查看 _init_.py 文件,给出所有可以使用的嵌入函数。
下面表格对这些嵌入函数简单介绍:
| 类名 | 对应服务/模型 |
| DefaultEmbeddingFunction | all-MiniLM-L6-v2(本地 ONNX) |
| SentenceTransformerEmbeddingFunction | 任意 sentence-transformers 模型(本地) |
| HuggingFaceEmbeddingFunction | HF Inference API |
| HuggingFaceSparseEmbeddingFunction | HF 稀疏向量 |
| OpenAIEmbeddingFunction | OpenAI text-embedding-* |
| GoogleGenerativeAiEmbeddingFunction GoogleGeminiEmbeddingFunctionGoogleVertexEmbeddingFunction | 谷歌系列 |
| CohereEmbeddingFunction | Cohere |
| JinaEmbeddingFunction | Jina AI |
| MistralEmbeddingFunction | Mistral |
| VoyageAIEmbeddingFunction | Voyage AI |
| NomicEmbeddingFunction | Nomic |
| TogetherAIEmbeddingFunction | Together AI |
| PerplexityEmbeddingFunction | Perplexity |
| MorphEmbeddingFunction | Morph |
| BasetenEmbeddingFunction | Baseten |
| CloudflareWorkersAIEmbeddingFunction | Cloudflare Workers AI |
| AmazonBedrockEmbeddingFunction | AWS Bedrock |
| OllamaEmbeddingFunction | 本地 Ollama |
| InstructorEmbeddingFunction | Instructor 系列 |
| Text2VecEmbeddingFunction | text2vec(中文常用) |
| OpenCLIPEmbeddingFunction | 图文多模态 |
| RoboflowEmbeddingFunction | Roboflow |
| Bm25EmbeddingFunctionChromaBm25EmbeddingFunction | BM25 稀疏 |
| FastembedSparseEmbeddingFunctionChromaCloudSpladeEmbeddingFunction ChromaCloudQwenEmbeddingFunction ChromaLangchainEmbeddingFunction | 稀疏向量 / Cloud 专用 |
注意了,不同版本 Chroma 这个列表会变,想看自己装的版本有哪些嵌入函数,使用下面代码片段:
import chromadb.utils.embedding_functions as ef
names = [n for n in dir(ef) if n.endswith("EmbeddingFunction")]
print(len(names))
for n in names:
print(" ", n)记住这些嵌入函数的位置,后续如果自己要实现自己的嵌入函数,直接拷贝一个,模仿编写就可以了。