__init__.py 1.9 KB

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