Skip to content

AI Landscape Monitor — A web‑based automation tool that generates briefings on the AI ecosystem by gathering, summarizing, and synthesizing research, news, tools, and perspectives using multiple AI engines

License

Notifications You must be signed in to change notification settings

ngstcf/ailandscapemonitor

Repository files navigation

AI Landscape Monitor

An automated intelligence briefing engine to stay ahead of the curve. The AI Landscape Monitor automates the creation of weekly intelligence briefings, leveraging large language models (LLMs) to gather, summarize, and format recent information into a clean HTML digest.

License: MIT Python 3.11+

📝 Blog Post: Read the announcement on the UNU C3 Blog — "Stop Drowning in AI Information: Meet the AI Landscape Monitor"

Overview

The explosive growth of AI research publications has made manual tracking nearly impossible. The AI Landscape Monitor addresses this challenge by automating the gathering, summarization, and formatting processes—transforming hours of manual research into minutes of configuration.

Key Features

  • Automated Content Generation — Generates four pre-defined sections:

    • 📚 Research Highlights: Novel AI research papers with meaningful contributions
    • 🌐 News & Trends: Industry news, model releases, partnerships, and policy updates
    • ⚙️ Tools & Resources: Open-source projects, datasets, and frameworks
    • 💡 Perspectives & Ethics: AI safety, policy, and societal impact discussions
  • Selectable AI Engines — Choose between Perplexity, Anthropic Claude, OpenAI, Brave, or SerpApi (Google), or mix engines per section

  • Customizable Content — Modify prompts, toggle sections, and adapt to any domain (e-government, GovTech, cybersecurity, climate tech, etc.) via the DOMAIN_KEYWORD configuration

  • Manual Curation & Synthesis — Add custom links with auto-generated summaries

  • Configurable Citation Styles — Inline or section-style citations with clickable sources

  • REST API — Programmatic access for automation and workflow integration

Documentation

Full documentation is available at: https://c3.unu.edu/projects/ai/landscapemonitor/

Quick Start

Prerequisites

  • Python 3.11 or higher
  • API keys for one or more: Perplexity, Anthropic Claude, OpenAI, Brave Search, or SerpApi

Installation

# Clone the repository
git clone https://github.com/ngstcf/landscapemonitor.git
cd landscapemonitor

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Copy environment template and configure
cp .env.example .env
# Edit .env with your API keys

Running the Application

# Set Flask app and run
FLASK_APP=app.py flask run --port=8000

# Or directly with Python
python app.py

The application will be available at http://localhost:8000

API Usage

Generate Digest via API

curl -X POST http://localhost:8000/api/external/generate \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your-api-key" \
  -d '{
    "api_choice": "claude",
    "citation_style": "inline",
    "days_delta": 7
  }' \
  --output digest.html

Health Check

curl http://localhost:8000/health

Configuration

Configure your environment variables in .env:

Variable Description Default
PERPLEXITY_API_KEY Perplexity API key -
CLAUDE_API_KEY Anthropic Claude API key -
OPENAI_API_KEY OpenAI API key -
BRAVE_API_KEY Brave Search API key -
SERPAPI_API_KEY SerpApi (Google Search) API key -
BRAVE_RATE_LIMIT Brave API rate limit (requests/sec) 1
OPENAI_MODEL OpenAI model to use gpt-4.1
OPENAI_TIMEOUT OpenAI request timeout (seconds) 300
GENERATOR_API_KEY External API access key -
TIMEDELTA Days to look back for sources (uses Perplexity's search_after_date_filter for any number of days) 7
DOMAIN_KEYWORD Domain keyword for search queries (e.g., AI, climate tech) AI
PPLX_MODEL Perplexity model sonar-pro
CLAUDE_MODEL Claude model claude-sonnet-4-5

Architecture

The AI Landscape Monitor is built with:

  • Flask — Web framework
  • Perplexity SDK — Search-augmented generation
  • Anthropic SDK — Claude API integration
  • OpenAI SDK — GPT models with web search
  • Brave Search API — Privacy-focused web search
  • SerpApi — Google Search Results API
  • BeautifulSoup — Web scraping for manual link synthesis
  • Markdown2 — Markdown processing

Search Engine Comparison

Engine Recency Handling Best For Notes
Perplexity Excellent General research, tools/resources Uses search_after_date_filter for precise control (any number of days)
Claude Very Good Research papers Effective fallback to extended time windows
OpenAI Very Good Comprehensive analysis Detailed coverage with slower speed
Brave Good Privacy-focused searches Section-optimized queries with freshness filters; extra snippets
SerpApi Good Broad Google search Section-optimized queries with knowledge graph support

Note: Brave and SerpApi now use section-specific optimized search queries (e.g., "AI news developments model releases partnerships policy updates 7 days") combined with built-in freshness parameters for improved recency accuracy. The domain keyword can be customized via the DOMAIN_KEYWORD environment variable to adapt the monitor to different domains (e.g., "development economics", "climate tech", "cybersecurity").

Project Status

This is an active research and development project by UNU Campus Computing Centre.

Author

Dr. Ng Chong UNU Campus Computing Centre

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Powered by Perplexity, Anthropic, OpenAI, Brave Search, and SerpApi

For more information, visit https://c3.unu.edu/projects/ai/landscapemonitor/

About

AI Landscape Monitor — A web‑based automation tool that generates briefings on the AI ecosystem by gathering, summarizing, and synthesizing research, news, tools, and perspectives using multiple AI engines

Topics

Resources

License

Stars

Watchers

Forks

Packages