__init__.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from typing import Optional
  2. from pydantic import BaseModel, Field
  3. from configs.middleware.redis_configs import RedisConfigs
  4. from configs.middleware.vdb.chroma_configs import ChromaConfigs
  5. from configs.middleware.vdb.milvus_configs import MilvusConfigs
  6. from configs.middleware.vdb.opensearch_configs import OpenSearchConfigs
  7. from configs.middleware.vdb.oracle_configs import OracleConfigs
  8. from configs.middleware.vdb.pgvector_configs import PGVectorConfigs
  9. from configs.middleware.vdb.pgvectors_configs import PGVectoRSConfigs
  10. from configs.middleware.vdb.qdrant_configs import QdrantConfigs
  11. from configs.middleware.vdb.relyt_configs import RelytConfigs
  12. from configs.middleware.vdb.tencent_vector_configs import TencentVectorDBConfigs
  13. from configs.middleware.vdb.tidb_vector_configs import TiDBVectorConfigs
  14. from configs.middleware.vdb.weaviate_configs import WeaviateConfigs
  15. class StorageConfigs(BaseModel):
  16. STORAGE_TYPE: str = Field(
  17. description='storage type,'
  18. ' default to `local`,'
  19. ' available values are `local`, `s3`, `azure-blob`, `aliyun-oss`, `google-storage`.',
  20. default='local',
  21. )
  22. STORAGE_LOCAL_PATH: str = Field(
  23. description='local storage path',
  24. default='storage',
  25. )
  26. class VectorStoreConfigs(BaseModel):
  27. VECTOR_STORE: Optional[str] = Field(
  28. description='vector store type',
  29. default=None,
  30. )
  31. class KeywordStoreConfigs(BaseModel):
  32. KEYWORD_STORE: str = Field(
  33. description='keyword store type',
  34. default='jieba',
  35. )
  36. class MiddlewareConfigs(
  37. # place the configs in alphabet order
  38. KeywordStoreConfigs,
  39. RedisConfigs,
  40. StorageConfigs,
  41. # configs of vdb and vdb providers
  42. VectorStoreConfigs,
  43. ChromaConfigs,
  44. MilvusConfigs,
  45. OpenSearchConfigs,
  46. PGVectorConfigs,
  47. PGVectoRSConfigs,
  48. QdrantConfigs,
  49. RelytConfigs,
  50. TencentVectorDBConfigs,
  51. TiDBVectorConfigs,
  52. WeaviateConfigs,
  53. OracleConfigs,
  54. ):
  55. pass