agentic_huge_data_base / wiki
页面 Mem0 · 2.2 提供方生态·DeepWiki 中文全文译文

2.2 · 提供方生态(Provider Ecosystem)

长期记忆与上下文管理 · 聚焦本章的模块关系、源码依据与实现要点。

项目Mem0 章节2.2 状态全文译文 模块模型调用与提供方适配、检索、召回与索引、系统架构、测试、发布与运维
源码线索
  • docs/components/embedders/config.mdx
  • docs/components/embedders/models/aws_bedrock.mdx
  • docs/components/embedders/overview.mdx
  • docs/components/llms/config.mdx
  • docs/components/llms/overview.mdx
  • docs/components/vectordbs/dbs/opensearch.mdx
  • evaluation/metrics/llm_judge.py
  • mem0-ts/src/oss/src/embeddings/ollama.ts
  • mem0-ts/src/oss/src/llms/ollama.ts
  • mem0-ts/src/oss/tests/ollama-embedder.test.ts
模块标签
  • 模型调用与提供方适配
  • 检索、召回与索引
  • 系统架构
  • 测试、发布与运维
  • 界面与交互

章节正文

提供方生态

提供方生态系统

相关源文件

本章引用的主要源码文件:

  • docs/components/embedders/config.mdx
  • docs/components/embedders/models/aws_bedrock.mdx
  • docs/components/embedders/overview.mdx
  • docs/components/llms/config.mdx
  • docs/components/llms/overview.mdx
  • docs/components/vectordbs/dbs/opensearch.mdx
  • evaluation/metrics/llm_judge.py
  • mem0-ts/src/oss/src/embeddings/ollama.ts
  • mem0-ts/src/oss/src/llms/ollama.ts
  • mem0-ts/src/oss/tests/ollama-embedder.test.ts
  • mem0/configs/embeddings/base.py
  • mem0/configs/llms/aws_bedrock.py
  • mem0/configs/llms/azure.py
  • mem0/configs/llms/base.py
  • mem0/configs/llms/openai.py
  • mem0/embeddings/aws_bedrock.py
  • mem0/embeddings/base.py
  • mem0/embeddings/configs.py
  • mem0/embeddings/gemini.py
  • mem0/embeddings/huggingface.py
  • mem0/embeddings/ollama.py
  • mem0/embeddings/openai.py
  • mem0/llms/aws_bedrock.py
  • mem0/llms/base.py
  • mem0/llms/configs.py
  • mem0/llms/gemini.py
  • mem0/llms/groq.py
  • mem0/llms/litellm.py
  • mem0/llms/ollama.py
  • mem0/llms/openai.py
  • mem0/llms/together.py
  • mem0/llms/xai.py
  • tests/embeddings/test_huggingface_embeddings.py
  • tests/embeddings/test_ollama_embeddings.py
  • tests/embeddings/test_openai_embeddings.py
  • tests/llms/test_aws_bedrock.py
  • tests/llms/test_groq.py
  • tests/llms/test_litellm.py
  • tests/llms/test_ollama.py
  • tests/llms/test_openai.py
  • tests/llms/test_together.py

本文档记录了 mem0 中所有组件类型所支持的提供方:大语言模型(LLM)、向量存储、嵌入器、图存储和重排序器。它解释了基于工厂的选择机制,以及提供方如何通过字符串标识符进行动态实例化。

有关工厂模式实现的信息,请参见工厂模式与组件系统。有关配置详情,请参见配置系统

工厂系统总览

Mem0 使用五个工厂类来抽象提供方的选择和实例化过程。每个工厂维护一个注册表,将字符串标识符映射到实现类及其配置类型。

提供方选择流程

Mem0 · 工厂系统总览 · 图 1
Mem0 · 工厂系统总览 · 图 1

来源: mem0/utils/factory.py:1-284, mem0/llms/openai.py:14-150

工厂系统分三个阶段运行:

  1. 注册表查找:将提供方字符串(例如 "openai")映射到 (class_path, config_class) 元组 mem0/utils/factory.py:37-56
  2. 类加载:使用 importlib 通过 load_class 辅助函数动态导入提供方类 mem0/utils/factory.py:24-27
  3. 实例化:根据提供方特定的配置类验证配置,并实例化提供方实例 mem0/utils/factory.py:81-112

工厂类及其注册表

工厂类用途方法注册表位置
LlmFactory大语言模型提供方实例化create()mem0/utils/factory.py:37-56
EmbedderFactory嵌入模型实例化create()mem0/utils/factory.py:140-152
VectorStoreFactory向量数据库实例化create()mem0/utils/factory.py:168-192
GraphStoreFactory图数据库实例化create()mem0/utils/factory.py:217-223
RerankerFactory重排序器实例化create()mem0/utils/factory.py:242-248

来源: mem0/utils/factory.py:24-284

大语言模型提供方

LlmFactory 通过 provider_to_class 注册表支持 18 个以上的大语言模型提供方。每个提供方映射到 mem0/llms/ 中的一个实现和一个配置类。

大语言模型提供方注册表

Mem0 · 大语言模型提供方 · 图 2
Mem0 · 大语言模型提供方 · 图 2

来源: mem0/utils/factory.py:37-56, mem0/llms/openai.py:14-36, mem0/llms/ollama.py:15-41, mem0/llms/aws_bedrock.py:34-76

完整的大语言模型提供方列表

提供方字符串实现类配置类模块路径
openaiOpenAILLMOpenAIConfigmem0/utils/factory.py:39
anthropicAnthropicLLMAnthropicConfigmem0/utils/factory.py:46
azure_openaiAzureOpenAILLMAzureOpenAIConfigmem0/utils/factory.py:44
ollamaOllamaLLMOllamaConfigmem0/utils/factory.py:38
groqGroqLLMBaseLlmConfigmem0/utils/factory.py:40
togetherTogetherLLMBaseLlmConfigmem0/utils/factory.py:41
aws_bedrockAWSBedrockLLMAWSBedrockConfigmem0/utils/factory.py:42
litellmLiteLLMBaseLlmConfigmem0/utils/factory.py:43
openai_structuredOpenAIStructuredLLMOpenAIConfigmem0/utils/factory.py:45
azure_openai_structuredAzureOpenAIStructuredLLMAzureOpenAIConfigmem0/utils/factory.py:47
geminiGeminiLLMBaseLlmConfigmem0/utils/factory.py:48
deepseekDeepSeekLLMDeepSeekConfigmem0/utils/factory.py:49
minimaxMiniMaxLLMMinimaxConfigmem0/utils/factory.py:50
xaiXAILLMBaseLlmConfigmem0/utils/factory.py:51
sarvamSarvamLLMBaseLlmConfigmem0/utils/factory.py:52
lmstudioLMStudioLLMLMStudioConfigmem0/utils/factory.py:53
vllmVllmLLMVllmConfigmem0/utils/factory.py:54
langchainLangchainLLMBaseLlmConfigmem0/utils/factory.py:55

来源: mem0/utils/factory.py:37-56, mem0/llms/configs.py:12-32, docs/components/llms/overview.mdx:22-39

向量存储提供方

VectorStoreFactory 支持 24 个以上的向量数据库提供方。配置通过 VectorStoreConfig Pydantic 模型进行验证。

向量存储提供方注册表

Mem0 · 向量存储提供方 · 图 3
Mem0 · 向量存储提供方 · 图 3

来源: mem0/utils/factory.py:168-192, mem0/vector_stores/configs.py:13-38

嵌入器提供方

EmbedderFactory 支持 11 个嵌入模型提供方。嵌入器生成用于语义搜索的向量表示。

完整的嵌入器提供方列表

提供方字符串实现类默认模型模块路径
openaiOpenAIEmbeddingtext-embedding-3-smallmem0/embeddings/openai.py:11
ollamaOllamaEmbeddingnomic-embed-textmem0/utils/factory.py:142
huggingfaceHuggingFaceEmbeddingmulti-qa-MiniLM-L6-cos-v1mem0/embeddings/huggingface.py:15
azure_openaiAzureOpenAIEmbedding-mem0/utils/factory.py:144
geminiGoogleGenAIEmbeddingmodels/text-embedding-004mem0/utils/factory.py:145
vertexaiVertexAIEmbedding-mem0/utils/factory.py:146
togetherTogetherEmbedding-mem0/utils/factory.py:147
lmstudioLMStudioEmbedding-mem0/utils/factory.py:148
langchainLangchainEmbedding-mem0/utils/factory.py:149
aws_bedrockAWSBedrockEmbedding-mem0/utils/factory.py:150
fastembedFastEmbedEmbedding-mem0/utils/factory.py:151

来源: mem0/utils/factory.py:140-152, mem0/embeddings/huggingface.py:15-45, mem0/configs/embeddings/base.py:10-111, mem0/embeddings/openai.py:11-35

图存储提供方

GraphStoreFactory 支持 5 个用于实体关系存储的图数据库提供方。

提供方字符串实现类图技术
defaultMemoryGraphNeo4j
memgraphMemoryGraphMemgraph
neptuneMemoryGraphAWS Neptune(图)
neptunedbMemoryGraphAWS Neptune(数据库)
kuzuMemoryGraphKuzu

来源: mem0/utils/factory.py:214-231

重排序器提供方

RerankerFactory 支持 5 个用于提升搜索结果质量的重排序提供方。

提供方字符串实现类配置类
cohereCohereRerankerCohereRerankerConfig
sentence_transformerSentenceTransformerRerankerSentenceTransformerRerankerConfig
zero_entropyZeroEntropyRerankerZeroEntropyRerankerConfig
llm_rerankerLLMRerankerLLMRerankerConfig
huggingfaceHuggingFaceRerankerHuggingFaceRerankerConfig

来源: mem0/utils/factory.py:239-284

可选依赖

提供方的依赖被组织在 pyproject.toml 中的可选组中,从而允许最小化的核心安装。

依赖组结构

Mem0 · 可选依赖 · 图 4
Mem0 · 可选依赖 · 图 4

来源: pyproject.toml:26-74

依赖组摘要

安装命令关键提供方
vector_storespip install mem0ai[vector_stores]Chroma、Pinecone、Milvus、Redis、Elasticsearch、PGVector 等 pyproject.toml:30-54
llmspip install mem0ai[llms]Groq、Together、LiteLLM、Ollama、VertexAI、Gemini pyproject.toml:55-64
extraspip install mem0ai[extras]Boto3、Langchain、Sentence-Transformers、FastEmbed pyproject.toml:65-74

来源: pyproject.toml:26-74, Makefile:13-16