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

2.2 · 提供方生态(Provider Ecosystem)

长期记忆与上下文管理 · 本章是 Mem0 DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目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
模块标签
  • 模型调用与提供方适配
  • 检索、召回与索引
  • 系统架构
  • 测试、发布与运维
  • 界面与交互

中文译文

提供方生态(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/mem0ai/mem0/2.2-provider-ecosystem
翻译时间:2026-05-27T08:45:07.690Z
翻译模型:deepseek-chat
原文字符数:13891
项目:Mem0 (mem0)

---

提供方生态系统

相关源文件

以下文件被用作生成此 Wiki 页面的上下文:

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

提供方选择流程

graph TB
    subgraph "自然语言空间"
        UserConfig["用户配置<br/>{provider: 'openai', config: {...}}"]
    end

    subgraph "代码实体空间"
        Factory["LlmFactory.create()"]
        Registry["LlmFactory.provider_to_class"]
        LoadClass["load_class() 辅助函数"]
        ConfigClass["OpenAIConfig"]
        Instance["OpenAILLM 实例"]

        UserConfig --> Factory
        Factory --> Registry
        Registry --> LoadClass
        LoadClass --> ConfigClass
        ConfigClass --> Instance
    end

    Registry -.-> |"将 'openai' 映射到<br/>(OpenAILLM, OpenAIConfig)"| LoadClass

来源: 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/ 中的一个实现和一个配置类。

大语言模型提供方注册表

graph LR
    subgraph "自然语言空间"
        Input["提供方名称字符串"]
    end

    subgraph "代码实体空间"
        LlmFactory["LlmFactory.create()"]

        subgraph "实现"
            OpenAI["OpenAILLM<br/>(mem0/llms/openai.py)"]
            Ollama["OllamaLLM<br/>(mem0/llms/ollama.py)"]
            Groq["GroqLLM<br/>(mem0/llms/groq.py)"]
            Bedrock["AWSBedrockLLM<br/>(mem0/llms/aws_bedrock.py)"]
        end

        subgraph "配置"
            OConfig["OpenAIConfig"]
            OlConfig["OllamaConfig"]
            BConfig["AWSBedrockConfig"]
        end
    end

    Input --> LlmFactory
    LlmFactory --> OpenAI
    LlmFactory --> Ollama
    LlmFactory --> Groq
    LlmFactory --> Bedrock

    OpenAI --- OConfig
    Ollama --- OlConfig
    Bedrock --- BConfig

来源: 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 模型进行验证。

向量存储提供方注册表

graph TB
    VectorStoreFactory["VectorStoreFactory.create()"]

    subgraph "开源数据库"
        Qdrant["qdrant<br/>Qdrant<br/>QdrantConfig"]
        ChromaDB["chroma<br/>ChromaDB<br/>ChromaDbConfig"]
        Milvus["milvus<br/>MilvusDB<br/>MilvusDBConfig"]
        Weaviate["weaviate<br/>Weaviate<br/>WeaviateConfig"]
        FAISS["faiss<br/>FAISS<br/>FAISSConfig"]
    end

    subgraph "PostgreSQL 扩展"
        PGVector["pgvector<br/>PGVector<br/>PGVectorConfig"]
        Supabase["supabase<br/>Supabase<br/>SupabaseConfig"]
    end

    subgraph "云/托管服务"
        Pinecone["pinecone<br/>PineconeDB<br/>PineconeConfig"]
        AzureAI["azure_ai_search<br/>AzureAISearch<br/>AzureAISearchConfig"]
        VertexAI["vertex_ai_vector_search<br/>GoogleMatchingEngine<br/>GoogleMatchingEngineConfig"]
        Neptune["neptune<br/>NeptuneAnalyticsVector<br/>NeptuneAnalyticsConfig"]
    end

    VectorStoreFactory --> Qdrant
    VectorStoreFactory --> ChromaDB
    VectorStoreFactory --> PGVector
    VectorStoreFactory --> Pinecone
    VectorStoreFactory --> Milvus

来源: 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 中的可选组中,从而允许最小化的核心安装。

依赖组结构

graph TB
    BaseInstall["pip install mem0ai<br/>核心 + Qdrant + OpenAI"]

    VectorGroup["[vector_stores]<br/>向量存储提供方"]
    LlmsGroup["[llms]<br/>大语言模型提供方"]
    ExtrasGroup["[extras]<br/>附加功能"]

    BaseInstall --> CoreDeps["核心依赖<br/>qdrant-client<br/>pydantic<br/>openai<br/>posthog<br/>sqlalchemy"]

    VectorGroup --> VectorDeps["chromadb<br/>pinecone<br/>weaviate-client<br/>faiss-cpu<br/>pymilvus<br/>redis<br/>+ 更多"]

    LlmsGroup --> LlmDeps["groq<br/>together<br/>litellm<br/>ollama<br/>google-generativeai<br/>vertexai"]

    ExtrasGroup --> ExtrasDeps["boto3<br/>sentence-transformers<br/>langchain<br/>fastembed"]

来源: 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