11
"import_huggingface_hub",
31
"import_llama_cpp_python",
33
"import_selective_context",
48
from typing import Optional
50
from gptcache.utils.dependency_control import prompt_install
51
from gptcache.utils.softmax import softmax # pylint: disable=unused-argument
54
def _check_library(libname: str, prompt: bool = True, package: Optional[str] = None):
56
if importlib.util.find_spec(libname):
58
if not is_avail and prompt:
59
prompt_install(package if package else libname)
64
_check_library("pymilvus")
67
def import_milvus_lite():
68
_check_library("milvus")
72
_check_library("qdrant_client")
76
_check_library("sentence_transformers", package="sentence-transformers")
80
_check_library("cohere")
84
_check_library("fasttext", package="fasttext==0.9.2")
87
def import_huggingface():
88
_check_library("transformers")
92
_check_library("uform", package="uform==0.2.1")
96
_check_library("usearch", package="usearch==0.22.3")
100
_check_library("torch")
103
def import_huggingface_hub():
104
_check_library("huggingface_hub", package="huggingface-hub")
107
def import_onnxruntime():
108
_check_library("onnxruntime", package="onnxruntime==1.14.1")
112
_check_library("faiss", package="faiss-cpu")
116
_check_library("hnswlib")
119
def import_chromadb():
120
_check_library("chromadb", package="chromadb==0.3.26")
123
def import_sqlalchemy():
124
_check_library("sqlalchemy")
127
def import_postgresql():
128
_check_library("psycopg2", package="psycopg2-binary")
132
_check_library("pymysql")
135
# `brew install unixodbc` in mac
136
# and install PyODBC driver.
138
_check_library("pyodbc")
141
# install cx-Oracle driver.
142
def import_cxoracle():
143
_check_library("cx_Oracle")
147
_check_library("duckdb", package="duckdb")
148
_check_library("duckdb-engine", package="duckdb-engine")
151
def import_sql_client(db_name):
152
if db_name == "postgresql":
154
elif db_name in ["mysql", "mariadb"]:
156
elif db_name == "sqlserver":
158
elif db_name == "oracle":
160
elif db_name == "duckdb":
165
_check_library("pymongo")
166
_check_library("mongoengine")
169
def import_pydantic():
170
_check_library("pydantic")
173
def import_langchain():
174
_check_library("langchain")
178
_check_library("PIL", package="pillow")
182
_check_library("boto3")
185
def import_diffusers():
186
_check_library("diffusers")
189
def import_torchaudio():
190
_check_library("torchaudio")
193
def import_torchvision():
194
_check_library("torchvision")
198
_check_library("timm", package="timm")
202
_check_library("vit", package="vit")
205
def import_replicate():
206
_check_library("replicate")
209
def import_stability():
210
_check_library("stability_sdk", package="stability-sdk")
214
_check_library("scipy")
217
def import_llama_cpp_python():
218
_check_library("llama_cpp", package="llama-cpp-python")
222
_check_library("ruamel-yaml")
225
def import_selective_context():
226
_check_library("selective_context")
230
_check_library("httpx")
234
_check_library("openai", package="openai==0.28.1")
237
def import_docarray():
238
_check_library("docarray")
242
prompt_install("protobuf==3.20.0")
243
_check_library("paddlepaddle")
246
def import_paddlenlp():
247
_check_library("paddlenlp")
250
def import_tiktoken():
251
_check_library("tiktoken")
255
_check_library("uvicorn", package="'uvicorn[standard]'")
256
_check_library("fastapi")
260
_check_library("redis")
261
_check_library("redis_om", package="redis-om")
264
def import_starlette():
265
_check_library("starlette")
268
def import_weaviate():
269
_check_library("weaviate-client")