Skip to content

Commit fc7b36c

Browse files
authored
⚙️ fix: dependency crash, conditional imports for heavier packages (#79)
1 parent f21b6e7 commit fc7b36c

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

config.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
# config.py
22
import os
33
import json
4-
import logging
54
import boto3
5+
import logging
66
from enum import Enum
77
from datetime import datetime
88
from dotenv import find_dotenv, load_dotenv
9-
from langchain_ollama import OllamaEmbeddings
10-
from langchain_huggingface import HuggingFaceEmbeddings, HuggingFaceEndpointEmbeddings
11-
from langchain_aws import BedrockEmbeddings
12-
from langchain_openai import AzureOpenAIEmbeddings, OpenAIEmbeddings
139
from starlette.middleware.base import BaseHTTPMiddleware
1410
from store_factory import get_vector_store
1511

@@ -179,28 +175,40 @@ async def dispatch(self, request, call_next):
179175

180176
def init_embeddings(provider, model):
181177
if provider == EmbeddingsProvider.OPENAI:
178+
from langchain_openai import OpenAIEmbeddings
179+
182180
return OpenAIEmbeddings(
183181
model=model,
184182
api_key=RAG_OPENAI_API_KEY,
185183
openai_api_base=RAG_OPENAI_BASEURL,
186184
openai_proxy=RAG_OPENAI_PROXY,
187185
)
188186
elif provider == EmbeddingsProvider.AZURE:
187+
from langchain_openai import AzureOpenAIEmbeddings
188+
189189
return AzureOpenAIEmbeddings(
190190
azure_deployment=model,
191191
api_key=RAG_AZURE_OPENAI_API_KEY,
192192
azure_endpoint=RAG_AZURE_OPENAI_ENDPOINT,
193193
api_version=RAG_AZURE_OPENAI_API_VERSION,
194194
)
195195
elif provider == EmbeddingsProvider.HUGGINGFACE:
196+
from langchain_huggingface import HuggingFaceEmbeddings
197+
196198
return HuggingFaceEmbeddings(
197199
model_name=model, encode_kwargs={"normalize_embeddings": True}
198200
)
199201
elif provider == EmbeddingsProvider.HUGGINGFACETEI:
202+
from langchain_huggingface import HuggingFaceEndpointEmbeddings
203+
200204
return HuggingFaceEndpointEmbeddings(model=model)
201205
elif provider == EmbeddingsProvider.OLLAMA:
206+
from langchain_ollama import OllamaEmbeddings
207+
202208
return OllamaEmbeddings(model=model, base_url=OLLAMA_BASE_URL)
203209
elif provider == EmbeddingsProvider.BEDROCK:
210+
from langchain_aws import BedrockEmbeddings
211+
204212
session = boto3.Session(
205213
aws_access_key_id=AWS_ACCESS_KEY_ID,
206214
aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
@@ -237,9 +245,7 @@ def init_embeddings(provider, model):
237245
EMBEDDINGS_MODEL = get_env_variable(
238246
"EMBEDDINGS_MODEL", "amazon.titan-embed-text-v1"
239247
)
240-
AWS_DEFAULT_REGION = get_env_variable(
241-
"AWS_DEFAULT_REGION", "us-east-1"
242-
)
248+
AWS_DEFAULT_REGION = get_env_variable("AWS_DEFAULT_REGION", "us-east-1")
243249
else:
244250
raise ValueError(f"Unsupported embeddings provider: {EMBEDDINGS_PROVIDER}")
245251

@@ -258,7 +264,9 @@ def init_embeddings(provider, model):
258264
elif VECTOR_DB_TYPE == VectorDBType.ATLAS_MONGO:
259265
# Backward compatability check
260266
if MONGO_VECTOR_COLLECTION:
261-
logger.info(f"DEPRECATED: Please remove env var MONGO_VECTOR_COLLECTION and instead use COLLECTION_NAME and ATLAS_SEARCH_INDEX. You can set both as same, but not neccessary. See README for more information.")
267+
logger.info(
268+
f"DEPRECATED: Please remove env var MONGO_VECTOR_COLLECTION and instead use COLLECTION_NAME and ATLAS_SEARCH_INDEX. You can set both as same, but not neccessary. See README for more information."
269+
)
262270
ATLAS_SEARCH_INDEX = MONGO_VECTOR_COLLECTION
263271
COLLECTION_NAME = MONGO_VECTOR_COLLECTION
264272
vector_store = get_vector_store(

requirements.lite.txt

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
langchain==0.1.12
2-
langchain_community==0.0.34
3-
langchain_openai==0.0.8
4-
langchain_core==0.1.45
1+
langchain==0.3
2+
langchain_community==0.3
3+
langchain_openai==0.2.0
4+
langchain_core==0.3.5
55
sqlalchemy==2.0.28
66
python-dotenv==1.0.1
77
fastapi==0.110.0
88
psycopg2-binary==2.9.9
99
pgvector==0.2.5
1010
uvicorn==0.28.0
1111
pypdf==4.1.0
12-
unstructured==0.12.6
12+
unstructured==0.15.13
1313
markdown==3.6
1414
networkx==3.2.1
1515
pandas==2.2.1
@@ -20,11 +20,13 @@ PyJWT==2.8.0
2020
asyncpg==0.29.0
2121
python-multipart==0.0.9
2222
aiofiles==23.2.1
23-
rapidocr-onnxruntime==1.3.17
23+
rapidocr-onnxruntime==1.3.24
2424
opencv-python-headless==4.9.0.80
2525
pymongo==4.6.3
26-
langchain-mongodb==0.1.3
26+
langchain-mongodb==0.2.0
2727
cryptography==42.0.7
2828
python-magic==0.4.27
2929
python-pptx==0.6.23
30-
xlrd==2.0.1
30+
xlrd==2.0.1
31+
langchain-aws==0.2.1
32+
boto3==1.34.144

0 commit comments

Comments
 (0)