Spaces:
Running
Running
Joseph Pollack
commited on
adds the initial iterative and deep research workflows
Browse files- src/orchestrator_factory.py +3 -2
- src/tools/__init__.py +1 -3
- src/utils/config.py +2 -11
src/orchestrator_factory.py
CHANGED
|
@@ -2,15 +2,16 @@
|
|
| 2 |
|
| 3 |
from typing import Any, Literal
|
| 4 |
|
|
|
|
|
|
|
| 5 |
from src.legacy_orchestrator import (
|
| 6 |
JudgeHandlerProtocol,
|
| 7 |
Orchestrator,
|
| 8 |
SearchHandlerProtocol,
|
| 9 |
)
|
|
|
|
| 10 |
from src.utils.models import OrchestratorConfig
|
| 11 |
|
| 12 |
-
import structlog
|
| 13 |
-
|
| 14 |
logger = structlog.get_logger()
|
| 15 |
|
| 16 |
|
|
|
|
| 2 |
|
| 3 |
from typing import Any, Literal
|
| 4 |
|
| 5 |
+
import structlog
|
| 6 |
+
|
| 7 |
from src.legacy_orchestrator import (
|
| 8 |
JudgeHandlerProtocol,
|
| 9 |
Orchestrator,
|
| 10 |
SearchHandlerProtocol,
|
| 11 |
)
|
| 12 |
+
from src.utils.config import settings
|
| 13 |
from src.utils.models import OrchestratorConfig
|
| 14 |
|
|
|
|
|
|
|
| 15 |
logger = structlog.get_logger()
|
| 16 |
|
| 17 |
|
src/tools/__init__.py
CHANGED
|
@@ -1,16 +1,14 @@
|
|
| 1 |
"""Search tools package."""
|
| 2 |
|
| 3 |
from src.tools.base import SearchTool
|
| 4 |
-
from src.tools.clinicaltrials import ClinicalTrialsTool
|
| 5 |
-
from src.tools.europepmc import EuropePMCTool
|
| 6 |
from src.tools.pubmed import PubMedTool
|
| 7 |
from src.tools.rag_tool import RAGTool, create_rag_tool
|
| 8 |
from src.tools.search_handler import SearchHandler
|
| 9 |
|
| 10 |
# Re-export
|
| 11 |
__all__ = [
|
| 12 |
-
"RAGTool",
|
| 13 |
"PubMedTool",
|
|
|
|
| 14 |
"SearchHandler",
|
| 15 |
"SearchTool",
|
| 16 |
"create_rag_tool",
|
|
|
|
| 1 |
"""Search tools package."""
|
| 2 |
|
| 3 |
from src.tools.base import SearchTool
|
|
|
|
|
|
|
| 4 |
from src.tools.pubmed import PubMedTool
|
| 5 |
from src.tools.rag_tool import RAGTool, create_rag_tool
|
| 6 |
from src.tools.search_handler import SearchHandler
|
| 7 |
|
| 8 |
# Re-export
|
| 9 |
__all__ = [
|
|
|
|
| 10 |
"PubMedTool",
|
| 11 |
+
"RAGTool",
|
| 12 |
"SearchHandler",
|
| 13 |
"SearchTool",
|
| 14 |
"create_rag_tool",
|
src/utils/config.py
CHANGED
|
@@ -30,10 +30,6 @@ class Settings(BaseSettings):
|
|
| 30 |
anthropic_model: str = Field(
|
| 31 |
default="claude-sonnet-4-5-20250929", description="Anthropic model"
|
| 32 |
)
|
| 33 |
-
# HuggingFace (free tier)
|
| 34 |
-
huggingface_model: str | None = Field(
|
| 35 |
-
default="meta-llama/Llama-3.1-70B-Instruct", description="HuggingFace model name"
|
| 36 |
-
)
|
| 37 |
hf_token: str | None = Field(
|
| 38 |
default=None, alias="HF_TOKEN", description="HuggingFace API token"
|
| 39 |
)
|
|
@@ -184,19 +180,14 @@ class Settings(BaseSettings):
|
|
| 184 |
|
| 185 |
@property
|
| 186 |
def has_huggingface_key(self) -> bool:
|
| 187 |
-
"""Check if HuggingFace
|
| 188 |
-
return bool(self.hf_token)
|
| 189 |
|
| 190 |
@property
|
| 191 |
def has_any_llm_key(self) -> bool:
|
| 192 |
"""Check if any LLM API key is available."""
|
| 193 |
return self.has_openai_key or self.has_anthropic_key or self.has_huggingface_key
|
| 194 |
|
| 195 |
-
@property
|
| 196 |
-
def has_huggingface_key(self) -> bool:
|
| 197 |
-
"""Check if HuggingFace API key is available."""
|
| 198 |
-
return bool(self.huggingface_api_key)
|
| 199 |
-
|
| 200 |
@property
|
| 201 |
def web_search_available(self) -> bool:
|
| 202 |
"""Check if web search is available (either no-key provider or API key present)."""
|
|
|
|
| 30 |
anthropic_model: str = Field(
|
| 31 |
default="claude-sonnet-4-5-20250929", description="Anthropic model"
|
| 32 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
hf_token: str | None = Field(
|
| 34 |
default=None, alias="HF_TOKEN", description="HuggingFace API token"
|
| 35 |
)
|
|
|
|
| 180 |
|
| 181 |
@property
|
| 182 |
def has_huggingface_key(self) -> bool:
|
| 183 |
+
"""Check if HuggingFace API key is available."""
|
| 184 |
+
return bool(self.huggingface_api_key or self.hf_token)
|
| 185 |
|
| 186 |
@property
|
| 187 |
def has_any_llm_key(self) -> bool:
|
| 188 |
"""Check if any LLM API key is available."""
|
| 189 |
return self.has_openai_key or self.has_anthropic_key or self.has_huggingface_key
|
| 190 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 191 |
@property
|
| 192 |
def web_search_available(self) -> bool:
|
| 193 |
"""Check if web search is available (either no-key provider or API key present)."""
|