-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Add finnews-agent-writer-crewai #197
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
base: main
Are you sure you want to change the base?
Add finnews-agent-writer-crewai #197
Conversation
WalkthroughAdds a new finnews multi-agent content pipeline including a README, a generated blog, four agent YAML configs, four task YAML configs, an env helper for API keys, and updated requirements for CrewAI and YAML tooling. All changes are additions; no existing code modified. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor U as User
participant O as Orchestrator (CrewAI)
participant H as Env Helper
participant M as Market News Monitor
participant A as Data Analyst
participant C as Content Creator
participant Q as Quality Assurance
participant Out as Markdown Output
U->>O: Submit {subject}
O->>H: load_env() / get_*_api_key()
Note right of H #lightgreen: Reads .env for MISTRAL/OPENAI/GROQ/SERPER
O->>M: monitor_financial_news({subject})
M-->>O: headlines summary
O->>A: analyze_market_data({subject}, headlines)
A-->>O: insights, analyses, visuals
O->>C: create_content({subject}, insights)
C-->>O: draft content (Markdown)
O->>Q: quality_assurance(draft)
Q-->>O: proofed, formatted Markdown
O-->>Out: persist final Markdown
O-->>U: deliver final content
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
Warning Tools execution failed with the following error: Failed to run tools: 14 UNAVAILABLE: read ECONNRESET Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (4)
finnews-agent-writer-crewai/README.md (1)
84-96
: Annotate fenced shell snippets with a languageMarkdownlint flags these blocks, and adding a language hint (e.g.,
bash
) also improves editor highlighting.-``` +```bash pip install -r requirements.txt...
-+
bash
export MISTRAL_API_KEY=your_key_here
export SERPER_API_KEY=your_key_here... -``` +```bash jupyter notebook main.ipynb
</blockquote></details> <details> <summary>finnews-agent-writer-crewai/helper.py (1)</summary><blockquote> `4-24`: **Cache `.env` loading to avoid redundant disk hits.** Every getter calls `load_env()`, which in turn re-reads the `.env` file. If these helpers are invoked multiple times during an agent run, that’s unnecessary disk I/O. Cache the load once and reuse it. ```diff +_ENV_LOADED = False + def load_env(): - _ = load_dotenv(find_dotenv()) + global _ENV_LOADED + if not _ENV_LOADED: + load_dotenv(find_dotenv()) + _ENV_LOADED = True
finnews-agent-writer-crewai/config/agents.yaml (1)
58-67
: Trim trailing blank lines to satisfy yamllint.Lines 58 onward are empty, triggering the
empty-lines
warning from yamllint (10 blank lines). Removing them keeps the config tidy and silences the check.- - - - - - - - - -finnews-agent-writer-crewai/config/tasks.yaml (1)
66-74
: Drop the extra blank lines at EOF.Similar to
agents.yaml
, the trailing empty lines violate yamllint’sempty-lines
rule. Trimming them keeps CI quiet.- - - - - - - - -
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
finnews-agent-writer-crewai/README.md
(1 hunks)finnews-agent-writer-crewai/config/agents.yaml
(1 hunks)finnews-agent-writer-crewai/config/tasks.yaml
(1 hunks)finnews-agent-writer-crewai/generated_blog.md
(1 hunks)finnews-agent-writer-crewai/helper.py
(1 hunks)finnews-agent-writer-crewai/requirements.txt
(1 hunks)
🧰 Additional context used
🪛 YAMLlint (1.37.1)
finnews-agent-writer-crewai/config/agents.yaml
[warning] 66-66: too many blank lines (10 > 2)
(empty-lines)
🪛 markdownlint-cli2 (0.18.1)
finnews-agent-writer-crewai/README.md
84-84: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
89-89: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
94-94: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
…rify references section; modify requirements.txt to ensure python-dotenv is listed correctly.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
finnews-agent-writer-crewai/generated_blog.md
(1 hunks)finnews-agent-writer-crewai/requirements.txt
(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- finnews-agent-writer-crewai/requirements.txt
…ity and completeness
@coderabbitai review |
✅ Actions performedReview triggered.
|
This project demonstrates an agentic content generation pipeline using CrewAI and Mistral models.
It monitors live market news, analyzes data, generates blog + social content, and runs QA checks before outputting clean markdown.
Summary by CodeRabbit
New Features
Documentation
Chores