feat: Automate installation of required libraries. (#1795)

This commit is contained in:
Jaimin Godhani
2024-09-03 12:37:57 +05:30
committed by GitHub
parent 9804f078d0
commit d03ba0fc8a
4 changed files with 54 additions and 12 deletions

View File

@@ -1,3 +1,5 @@
import subprocess
import sys
from typing import Optional
from mem0.configs.embeddings.base import BaseEmbedderConfig
@@ -6,9 +8,17 @@ from mem0.embeddings.base import EmbeddingBase
try:
from ollama import Client
except ImportError:
raise ImportError(
"Ollama requires extra dependencies. Install with `pip install ollama`"
) from None
user_input = input("The 'ollama' library is required. Install it now? [y/N]: ")
if user_input.lower() == 'y':
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", "ollama"])
from ollama import Client
except subprocess.CalledProcessError:
print("Failed to install 'ollama'. Please install it manually using 'pip install ollama'.")
sys.exit(1)
else:
print("The required 'ollama' library is not installed.")
sys.exit(1)
class OllamaEmbedding(EmbeddingBase):