mirror of
https://github.com/langgenius/dify.git
synced 2024-11-16 11:42:29 +08:00
24 lines
1.0 KiB
Python
24 lines
1.0 KiB
Python
from services.recommend_app.buildin.buildin_retrieval import BuildInRecommendAppRetrieval
|
|
from services.recommend_app.database.database_retrieval import DatabaseRecommendAppRetrieval
|
|
from services.recommend_app.recommend_app_base import RecommendAppRetrievalBase
|
|
from services.recommend_app.recommend_app_type import RecommendAppType
|
|
from services.recommend_app.remote.remote_retrieval import RemoteRecommendAppRetrieval
|
|
|
|
|
|
class RecommendAppRetrievalFactory:
|
|
@staticmethod
|
|
def get_recommend_app_factory(mode: str) -> type[RecommendAppRetrievalBase]:
|
|
match mode:
|
|
case RecommendAppType.REMOTE:
|
|
return RemoteRecommendAppRetrieval
|
|
case RecommendAppType.DATABASE:
|
|
return DatabaseRecommendAppRetrieval
|
|
case RecommendAppType.BUILDIN:
|
|
return BuildInRecommendAppRetrieval
|
|
case _:
|
|
raise ValueError(f"invalid fetch recommended apps mode: {mode}")
|
|
|
|
@staticmethod
|
|
def get_buildin_recommend_app_retrieval():
|
|
return BuildInRecommendAppRetrieval
|