5 of 12 are AI & Agents work, shown first
Document-extraction pipeline
Now · each document type matched to the model that measured best · lower cost per document
in
- PDF upload
- blob URI
- Excel
sorted by type → read by
fields out · json
Named Insured
…
Policy Number
…
Effective Date
…
Occupancy: Owner Occupied
…
Building Coverage
…
Producer / Agency
…
01 Intake. A PDF upload, a blob URI or an Excel file. Each lands in Azure Blob Storage under one record ID.
Search and answers over the document archive
- 01 Embed question
- 02 SearchORDER BY embedding <=> $question LIMIT 3
- 03 Answer from chunks
property-policy-wording.pdf
- Covered causes of loss include fire, lightning, windstorm and hail.
- Sudden and accidental discharge of water from a plumbing system is covered.#1 cosine 0.89
- Excluded: seepage or leakage continuing over 14 days or more.#2 cosine 0.83
property-schedule-guide.pdf
- Form PC-1 lists each location with its construction, occupancy, protection and exposure.
- Every building on Form PC-1 needs a replacement value and the year built.
- Sprinkler and alarm details go in the protection section of the form.
underwriting-guidelines.pdf
- Buildings valued up to $5M may be quoted without referral.
- Buildings older than 1950 are referred to a senior underwriter.
- Sprinklered risks receive a 10% rate credit.
claims-handbook.pdf
- Claims should be reported within 30 days of the date of loss.
- Photos and a repair estimate are required for water claims.#3 cosine 0.76
synthetic documents · illustrative scores · cut-off 0.60
answer · PostgreSQL + pgvector
Yes, a burst pipe is a sudden and accidental discharge, which is covered. Slow leaks that went on for 14 days or more are excluded. To claim, send photos and a repair estimate.
The question never says "plumbing"; vectors match it by meaning.
Agent workflow: research-to-publish pipeline
A stateful graph
LangGraph passes state from one step to the next, from topic to published post.
LangGraphPython
Topics scored for demand
Trending topics are found and scored before anything is written.
Web research
Research on the chosen topic through Tavily.
Tavily
Drafting
The post is written with Azure OpenAI from the research.
Azure OpenAI (GPT-5 mini/nano)
No repeats
A pgvector check so the site doesn't repeat itself.
PostgreSQL + pgvector
Images and publishing
Images generated with Gemini, then the post goes out through the WordPress REST API.
GeminiWordPress REST API