Skip to content

Add config requirements and environment variables (and fix broken links!) #238

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 26, 2025
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions deep_research/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,22 @@ This pipeline can integrate with:
- **Alerting Systems**: Schedule research on key topics and receive regular reports
- **Other ZenML Pipelines**: Chain with downstream analysis or processing

## ☁️ Cloud Orchestrator Configuration

When running the pipeline with a cloud orchestrator (like Kubernetes, AWS SageMaker, etc.), you'll need to update the environment variables in the configuration files with your actual API keys instead of placeholder values.

The configuration files in `configs/` contain environment variable placeholders like:
```yaml
settings:
docker:
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
# ... other keys
```

Replace these placeholder values with your actual API keys when deploying to cloud environments. For security, consider using your cloud provider's secret management services (AWS Secrets Manager, Azure Key Vault, etc.) instead of hardcoding keys in configuration files.

## 📄 License

This project is licensed under the Apache License 2.0.
46 changes: 29 additions & 17 deletions deep_research/configs/balanced_research.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,57 +23,69 @@ langfuse_project_name: "deep-research"
# Research parameters for balanced research
parameters:
query: "Default research query"

steps:
initial_query_decomposition_step:
parameters:
llm_model: "sambanova/DeepSeek-R1-Distill-Llama-70B"
max_sub_questions: 10 # Balanced number of sub-questions
max_sub_questions: 10 # Balanced number of sub-questions

process_sub_question_step:
parameters:
llm_model_search: "sambanova/Meta-Llama-3.3-70B-Instruct"
llm_model_synthesis: "sambanova/DeepSeek-R1-Distill-Llama-70B"
cap_search_length: 20000 # Standard cap for search length
cap_search_length: 20000 # Standard cap for search length

cross_viewpoint_analysis_step:
parameters:
llm_model: "sambanova/DeepSeek-R1-Distill-Llama-70B"
viewpoint_categories:
[
viewpoint_categories: [
"scientific",
"political",
"economic",
"social",
"ethical",
"historical",
] # Standard viewpoints
] # Standard viewpoints

generate_reflection_step:
parameters:
llm_model: "sambanova/DeepSeek-R1-Distill-Llama-70B"

get_research_approval_step:
parameters:
timeout: 3600 # 1 hour timeout
max_queries: 2 # Moderate additional queries
timeout: 3600 # 1 hour timeout
max_queries: 2 # Moderate additional queries

execute_approved_searches_step:
parameters:
llm_model: "sambanova/Meta-Llama-3.3-70B-Instruct"
cap_search_length: 20000

pydantic_final_report_step:
parameters:
llm_model: "sambanova/DeepSeek-R1-Distill-Llama-70B"

# Environment settings
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"
17 changes: 15 additions & 2 deletions deep_research/configs/deep_research.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,22 @@ steps:
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"
15 changes: 14 additions & 1 deletion deep_research/configs/enhanced_research.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,22 @@ steps:
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"
17 changes: 15 additions & 2 deletions deep_research/configs/enhanced_research_with_approval.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,22 @@ steps:
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"
15 changes: 14 additions & 1 deletion deep_research/configs/quick_research.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,22 @@ steps:
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"
15 changes: 14 additions & 1 deletion deep_research/configs/rapid_research.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,22 @@ steps:
settings:
docker:
requirements:
- openai>=1.0.0
- zenml>=0.83.1
- tavily-python>=0.2.8
- exa-py>=1.0.0
- PyYAML>=6.0
- click>=8.0.0
- pydantic>=2.0.0
- typing_extensions>=4.0.0
- requests
- anthropic>=0.52.2
- litellm==1.69.1
- langfuse==2.60.8
environment:
OPENROUTER_API_KEY: "YOUR_OPENROUTER_API_KEY"
TAVILY_API_KEY: "YOUR_TAVILY_API_KEY"
EXA_API_KEY: "YOUR_EXA_API_KEY"
ANTHROPIC_API_KEY: "YOUR_ANTHROPIC_API_KEY"
LANGFUSE_PUBLIC_KEY: "YOUR_LANGFUSE_PUBLIC_KEY"
LANGFUSE_SECRET_KEY: "YOUR_LANGFUSE_SECRET_KEY"
LANGFUSE_HOST: "YOUR_LANGFUSE_HOST"