diff --git a/mem0-ts/src/oss/src/utils/factory.ts b/mem0-ts/src/oss/src/utils/factory.ts index 14a22ad46..35c2a21a1 100644 --- a/mem0-ts/src/oss/src/utils/factory.ts +++ b/mem0-ts/src/oss/src/utils/factory.ts @@ -1,5 +1,6 @@ import { OpenAIEmbedder } from "../embeddings/openai"; import { OllamaEmbedder } from "../embeddings/ollama"; +import { LMStudioEmbedder } from "../embeddings/lmstudio"; import { OpenAILLM } from "../llms/openai"; import { OpenAIStructuredLLM } from "../llms/openai_structured"; import { AnthropicLLM } from "../llms/anthropic"; @@ -19,6 +20,8 @@ import { Qdrant } from "../vector_stores/qdrant"; import { VectorizeDB } from "../vector_stores/vectorize"; import { RedisDB } from "../vector_stores/redis"; import { OllamaLLM } from "../llms/ollama"; +import { LMStudioLLM } from "../llms/lmstudio"; +import { DeepSeekLLM } from "../llms/deepseek"; import { SupabaseDB } from "../vector_stores/supabase"; import { SQLiteManager } from "../storage/SQLiteManager"; import { MemoryHistoryManager } from "../storage/MemoryHistoryManager"; @@ -41,6 +44,8 @@ export class EmbedderFactory { return new OpenAIEmbedder(config); case "ollama": return new OllamaEmbedder(config); + case "lmstudio": + return new LMStudioEmbedder(config); case "google": case "gemini": return new GoogleEmbedder(config); @@ -67,6 +72,8 @@ export class LLMFactory { return new GroqLLM(config); case "ollama": return new OllamaLLM(config); + case "lmstudio": + return new LMStudioLLM(config); case "google": case "gemini": return new GoogleLLM(config); @@ -76,6 +83,8 @@ export class LLMFactory { return new MistralLLM(config); case "langchain": return new LangchainLLM(config); + case "deepseek": + return new DeepSeekLLM(config); default: throw new Error(`Unsupported LLM provider: ${provider}`); } diff --git a/pyproject.toml b/pyproject.toml index c7f3f88f9..588055ebf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -64,6 +64,7 @@ llms = [ ] extras = [ "boto3>=1.34.0", + "langchain>=0.1.0", "langchain-community>=0.0.0", "sentence-transformers>=5.0.0", "elasticsearch>=8.0.0,<9.0.0", diff --git a/tests/llms/test_langchain.py b/tests/llms/test_langchain.py index c0ab2701c..1b5bf4c18 100644 --- a/tests/llms/test_langchain.py +++ b/tests/llms/test_langchain.py @@ -2,6 +2,8 @@ from unittest.mock import Mock import pytest +pytest.importorskip("langchain", reason="langchain not installed") + from mem0.configs.llms.base import BaseLlmConfig from mem0.llms.langchain import LangchainLLM