Job description extraction and Q&A

I built this to turn job descriptions into records I could use in code. It extracts fields such as budget, tools and deliverables, then lets me ask questions over the saved postings.

How it works

  • Pydantic defines the fields. The model returns structured output, and source checks compare supplied quotes with the posting.
  • The batch limits concurrent requests and retries temporary failures. It saves each completed record to JSONL so a restart can skip finished work.
  • A FastAPI endpoint extracts one posting at a time.
  • Embedding search retrieves postings and their extracted fields for an LLM to answer questions.
View the flow
Extract fields, save JSONL records, check source evidence, retrieve postings and answer a question.
Application flow

Limits

A valid record can still contain a wrong value. Answer citations are requested but not checked by code. Retrieved examples cannot support totals for the whole dataset.

Python, Pydantic, FastAPI, asyncio, OpenAI API, NumPy