GPTCache

Форк
0
/
__init__.py 
269 строк · 5.1 Кб
1
__all__ = [
2
    "import_pymilvus",
3
    "import_milvus_lite",
4
    "import_sbert",
5
    "import_cohere",
6
    "import_fasttext",
7
    "import_huggingface",
8
    "import_uform",
9
    "import_usearch",
10
    "import_torch",
11
    "import_huggingface_hub",
12
    "import_onnxruntime",
13
    "import_faiss",
14
    "import_hnswlib",
15
    "import_chromadb",
16
    "import_sqlalchemy",
17
    "import_sql_client",
18
    "import_mongodb",
19
    "import_pydantic",
20
    "import_langchain",
21
    "import_pillow",
22
    "import_boto3",
23
    "import_diffusers",
24
    "import_torchaudio",
25
    "import_torchvision",
26
    "import_timm",
27
    "import_vit",
28
    "import_replicate",
29
    "import_stability",
30
    "import_scipy",
31
    "import_llama_cpp_python",
32
    "import_ruamel",
33
    "import_selective_context",
34
    "import_httpx",
35
    "import_openai",
36
    "import_docarray",
37
    "softmax",
38
    "import_paddle",
39
    "import_paddlenlp",
40
    "import_tiktoken",
41
    "import_fastapi",
42
    "import_redis",
43
    "import_qdrant",
44
    "import_weaviate",
45
    ]
46

47
import importlib.util
48
from typing import Optional
49

50
from gptcache.utils.dependency_control import prompt_install
51
from gptcache.utils.softmax import softmax  # pylint: disable=unused-argument
52

53

54
def _check_library(libname: str, prompt: bool = True, package: Optional[str] = None):
55
    is_avail = False
56
    if importlib.util.find_spec(libname):
57
        is_avail = True
58
    if not is_avail and prompt:
59
        prompt_install(package if package else libname)
60
    return is_avail
61

62

63
def import_pymilvus():
64
    _check_library("pymilvus")
65

66

67
def import_milvus_lite():
68
    _check_library("milvus")
69

70

71
def import_qdrant():
72
    _check_library("qdrant_client")
73

74

75
def import_sbert():
76
    _check_library("sentence_transformers", package="sentence-transformers")
77

78

79
def import_cohere():
80
    _check_library("cohere")
81

82

83
def import_fasttext():
84
    _check_library("fasttext", package="fasttext==0.9.2")
85

86

87
def import_huggingface():
88
    _check_library("transformers")
89

90

91
def import_uform():
92
    _check_library("uform", package="uform==0.2.1")
93

94

95
def import_usearch():
96
    _check_library("usearch", package="usearch==0.22.3")
97

98

99
def import_torch():
100
    _check_library("torch")
101

102

103
def import_huggingface_hub():
104
    _check_library("huggingface_hub", package="huggingface-hub")
105

106

107
def import_onnxruntime():
108
    _check_library("onnxruntime", package="onnxruntime==1.14.1")
109

110

111
def import_faiss():
112
    _check_library("faiss", package="faiss-cpu")
113

114

115
def import_hnswlib():
116
    _check_library("hnswlib")
117

118

119
def import_chromadb():
120
    _check_library("chromadb", package="chromadb==0.3.26")
121

122

123
def import_sqlalchemy():
124
    _check_library("sqlalchemy")
125

126

127
def import_postgresql():
128
    _check_library("psycopg2", package="psycopg2-binary")
129

130

131
def import_pymysql():
132
    _check_library("pymysql")
133

134

135
# `brew install unixodbc` in mac
136
# and install PyODBC driver.
137
def import_pyodbc():
138
    _check_library("pyodbc")
139

140

141
# install cx-Oracle driver.
142
def import_cxoracle():
143
    _check_library("cx_Oracle")
144

145

146
def import_duckdb():
147
    _check_library("duckdb", package="duckdb")
148
    _check_library("duckdb-engine", package="duckdb-engine")
149

150

151
def import_sql_client(db_name):
152
    if db_name == "postgresql":
153
        import_postgresql()
154
    elif db_name in ["mysql", "mariadb"]:
155
        import_pymysql()
156
    elif db_name == "sqlserver":
157
        import_pyodbc()
158
    elif db_name == "oracle":
159
        import_cxoracle()
160
    elif db_name == "duckdb":
161
        import_duckdb()
162

163

164
def import_mongodb():
165
    _check_library("pymongo")
166
    _check_library("mongoengine")
167

168

169
def import_pydantic():
170
    _check_library("pydantic")
171

172

173
def import_langchain():
174
    _check_library("langchain")
175

176

177
def import_pillow():
178
    _check_library("PIL", package="pillow")
179

180

181
def import_boto3():
182
    _check_library("boto3")
183

184

185
def import_diffusers():
186
    _check_library("diffusers")
187

188

189
def import_torchaudio():
190
    _check_library("torchaudio")
191

192

193
def import_torchvision():
194
    _check_library("torchvision")
195

196

197
def import_timm():
198
    _check_library("timm", package="timm")
199

200

201
def import_vit():
202
    _check_library("vit", package="vit")
203

204

205
def import_replicate():
206
    _check_library("replicate")
207

208

209
def import_stability():
210
    _check_library("stability_sdk", package="stability-sdk")
211

212

213
def import_scipy():
214
    _check_library("scipy")
215

216

217
def import_llama_cpp_python():
218
    _check_library("llama_cpp", package="llama-cpp-python")
219

220

221
def import_ruamel():
222
    _check_library("ruamel-yaml")
223

224

225
def import_selective_context():
226
    _check_library("selective_context")
227

228

229
def import_httpx():
230
    _check_library("httpx")
231

232

233
def import_openai():
234
    _check_library("openai", package="openai==0.28.1")
235

236

237
def import_docarray():
238
    _check_library("docarray")
239

240

241
def import_paddle():
242
    prompt_install("protobuf==3.20.0")
243
    _check_library("paddlepaddle")
244

245

246
def import_paddlenlp():
247
    _check_library("paddlenlp")
248

249

250
def import_tiktoken():
251
    _check_library("tiktoken")
252

253

254
def import_fastapi():
255
    _check_library("uvicorn", package="'uvicorn[standard]'")
256
    _check_library("fastapi")
257

258

259
def import_redis():
260
    _check_library("redis")
261
    _check_library("redis_om", package="redis-om")
262

263

264
def import_starlette():
265
    _check_library("starlette")
266

267

268
def import_weaviate():
269
    _check_library("weaviate-client")
270

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.