Skip to content
/ Sentinal Public

An autonomous AI agent that monitors research papers from various sources for new AI research, generates technical blog posts using Gemini (RAG), and publishes them to a Hugo static site.

License

Notifications You must be signed in to change notification settings

ajthr/Sentinal

Repository files navigation

📚 Sentinal - Autonomous Research Agent

Sentinal Logo

Sentinal is an autonomous AI agent that monitors ArXiv for new AI research, generates technical blog posts using Gemini (RAG), and publishes them to a Hugo static site.

🚀 Setup

  1. Prerequisites: Python 3.10+, PowerShell (Windows).
  2. Initialize: Run the setup script to create folders:
    .\setup_sentinal.ps1
  3. Install Dependencies:
    pip install -r requirements.txt
  4. Showcase:
    • Sample blog posts: docs/showcase/blog_posts/
    • Sample papers (PDFs): docs/showcase/papers/

✅ Running Tests

Ensure your environment is set up correctly:

# Install test dependencies
pip install -r requirements-dev.txt

# Run the full suite
pytest

# Check code coverage
pytest --cov=src

See tests/README.md for detailed test architecture.

  1. Configuration:
    • Rename .env.example to .env.
    • Add your GOOGLE_API_KEY (Gemini).
  2. Hugo Theme: Download a theme (e.g., Ananke) into blog/themes/:
    git clone https://github.com/theNewDynamic/gohugo-theme-ananke.git blog/themes/ananke

🏃 Usage

Start the agent:

python main.py

🎯 Features

  • Automated Research Monitoring: Tracks ArXiv for new papers in AI/ML
  • RAG-Based Generation: Uses retrieval-augmented generation for accurate, grounded content
  • State Machine Workflow: LangGraph-powered pipeline with quality gates
  • Scheduled Execution: APScheduler for automated daily runs
  • Vector Database: ChromaDB for semantic search and retrieval
  • Chat Interface: Interactive chat with grounded responses from research papers

🏗️ Architecture

The system uses a state machine workflow:

  1. Download papers from ArXiv
  2. Extract and chunk text
  3. Generate embeddings and store in vector DB
  4. Generate blog post using RAG
  5. Quality review
  6. Publish to Hugo site

Workflow Overview

Workflow

Continuous Loop

Loop

RAG Pipeline

RAG Pipeline

📁 Project Structure

sentinal/
├── src/
│   ├── core/          # Core models, config, database
│   ├── modules/       # Research, writing, publishing modules
│   ├── rag/           # RAG components (chunking, embeddings, retrieval)
│   ├── scheduler/     # Job scheduling
│   ├── api/           # FastAPI routes
│   └── utils/         # Utilities (logging, PDF extraction, quality check)
├── config/            # Configuration files
├── examples/          # Example outputs
├── ui/                # Web interface
└── main.py           # Application entry point

About

An autonomous AI agent that monitors research papers from various sources for new AI research, generates technical blog posts using Gemini (RAG), and publishes them to a Hugo static site.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published