<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Agents on homelab</title>
    <link>https://homelab.nbkelley.com/tags/agents/</link>
    <description>Recent content in Agents on homelab</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 13 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab.nbkelley.com/tags/agents/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Book Discovery Pipeline</title>
      <link>https://homelab.nbkelley.com/docs/projects/book_discovery_pipeline/</link>
      <pubDate>Mon, 13 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/projects/book_discovery_pipeline/</guid>
      <description>&lt;h1 id=&#34;book-discovery-pipeline&#34;&gt;Book Discovery Pipeline&lt;a class=&#34;anchor&#34; href=&#34;#book-discovery-pipeline&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A multi-agent, multi-node pipeline designed to identify high-prestige, upcoming literary works by analyzing critical reviews before they hit the mainstream.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-decisions&#34;&gt;Key Decisions&lt;a class=&#34;anchor&#34; href=&#34;#key-decisions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Architecture:&lt;/strong&gt; Two-tier agent system. Lightweight models (E4B) on the Orchestrator (T480) handle routing/filtering; heavier models (26B) on the Inference node (Pavilion) handle deep analysis.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tech Stack:&lt;/strong&gt; n8n (Orchestration), PostgreSQL (Data Storage), Hugo (Static Site Generation), Python/JS (Custom Logic).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Data Sources:&lt;/strong&gt; RSS feeds (Literary Hub, etc.), Web Scraping (for indie blogs), and Goodreads API/Scraping for popularity comparison.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;current-configuration&#34;&gt;Current Configuration&lt;a class=&#34;anchor&#34; href=&#34;#current-configuration&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h3 id=&#34;the-pipeline-chain&#34;&gt;The Pipeline Chain&lt;a class=&#34;anchor&#34; href=&#34;#the-pipeline-chain&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Ingestion:&lt;/strong&gt; n8n fetches RSS feeds and scrapes blogs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Filtering (E4B):&lt;/strong&gt; Classifies content (Review vs. News). Discards non-reviews.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extraction (26B):&lt;/strong&gt; Extracts title, author, publisher, and critical language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scoring (26B):&lt;/strong&gt; Analyates &amp;ldquo;prestige signals&amp;rdquo; (e.g., phrases like &amp;ldquo;formally ambitious&amp;rdquo;) and compares against Goodreads popularity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Aggregation:&lt;/strong&gt; Aggregates data into PostgreSQL.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Publication:&lt;/strong&gt; n8n generates a Markdown file and commits it to a Hugo repository.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;data-schema-postgresql&#34;&gt;Data Schema (PostgreSQL)&lt;a class=&#34;anchor&#34; href=&#34;#data-schema-postgresql&#34;&gt;#&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;sources&lt;/code&gt;: RSS metadata.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;articles&lt;/code&gt;: Raw ingested content.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;books&lt;/code&gt;: Normalized book records.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;reviews&lt;/code&gt;: Links articles to books + extracted critical language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;prestige_scores&lt;/code&gt;: Historical scoring for trend tracking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;open-questions&#34;&gt;Open Questions&lt;a class=&#34;anchor&#34; href=&#34;#open-questions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How to effectively scrape Substack/paywalled content without high costs.&lt;/li&gt;&#xA;&lt;li&gt;Determining the optimal frequency for the pipeline run (Weekly vs. Bi-weekly).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;related-pages&#34;&gt;Related Pages&lt;a class=&#34;anchor&#34; href=&#34;#related-pages&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://homelab.nbkelley.com/docs/services/open_webui_deployment/&#34;&gt;Open WebUI Deployment&lt;/a&gt;, &lt;a href=&#34;https://homelab.nbkelley.com/docs/services/ollama_config/&#34;&gt;Ollama Configuration&lt;/a&gt;, &lt;a href=&#34;https://homelab.nbkelley.com/docs/monitoring/pipeline/&#34;&gt;AI-Driven Monitoring Pipeline&lt;/a&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
