Spaces:
Running
Running
| from pilotcore.runtime.experiment_config import ( | |
| ExperimentConfig, | |
| ) | |
| def build_experiment_config( | |
| retrieval_strategy=None, | |
| reranker=None, | |
| enhancements=None, | |
| mode="production", | |
| ): | |
| config = ExperimentConfig() | |
| config.mode = mode | |
| if mode != "experimental": | |
| return config | |
| strategy_map = { | |
| "FAISS": "vector", | |
| "BM25": "lexical", | |
| "Hybrid": "hybrid", | |
| } | |
| selected = strategy_map.get(retrieval_strategy) | |
| if selected: | |
| config.retrieval_method = selected | |
| if reranker == "none": | |
| config.reranker = False | |
| elif reranker: | |
| config.reranker = True | |
| config.reranker_model = reranker | |
| config.query_rewrite = False | |
| config.hyde = False | |
| config.multi_query = False | |
| config.query_expansion = False | |
| config.parent_child = False | |
| config.contextual_retrieval = False | |
| config.graph_rag = False | |
| config.context_compression = False | |
| if enhancements: | |
| if "Query Rewrite" in enhancements: | |
| config.query_rewrite = True | |
| if "HyDE" in enhancements: | |
| config.hyde = True | |
| if "Multi Query" in enhancements: | |
| config.multi_query = True | |
| if "Query Expansion" in enhancements: | |
| config.query_expansion = True | |
| if "Parent Child" in enhancements: | |
| config.parent_child = True | |
| if "Contextual Retrieval" in enhancements: | |
| config.contextual_retrieval = True | |
| if "Graph RAG" in enhancements: | |
| config.graph_rag = True | |
| if "Context Compression" in enhancements: | |
| config.context_compression = True | |
| return config | |