summarizer

summarizer
git clone https://git.prime8.dev/summarizer.git
Log | Files | Refs | README | LICENSE

commit f19bba4c3d90d9861a4e108bd470dfb8c62d2bc2
parent 564bf509f665c2fe14a306ecab876bd5b7d16a02
Author: Damian Myrda <damian@prime8.dev>
Date:   Tue,  6 Jan 2026 10:18:55 -0600

Improve README with architecture diagram and API docs

Diffstat:
MREADME.md | 65+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 59 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md @@ -1,10 +1,63 @@ -# summarizer -Summarize audio into text. +# Summarizer -## setup +Transcribe and summarize audio files using OpenAI's Whisper and GPT-4. -Create an `openai.env` file in the root of the project with `OPENAI_API_KEY="put your key here"`. +## Architecture -## running +The application uses a microservices architecture with Kafka for message passing: -The project can be run using Docker. Run `docker compose up` to start it up. In your web browser, navigate to `localhost:8000`. +``` +┌──────────┐ ┌───────────────┐ ┌──────────────┐ ┌────────────┐ +│ Frontend │───▶│ Transcriber │───▶│ Summarizer │───▶│ Response │ +│ (FastAPI)│ │ (Whisper API) │ │ (GPT-4) │ │ │ +└──────────┘ └───────────────┘ └──────────────┘ └────────────┘ + ▲ ▲ + └────── Kafka ───────┘ +``` + +- **Frontend**: FastAPI web server accepting audio file uploads +- **Transcriber**: Converts audio to text using OpenAI Whisper +- **Summarizer**: Generates summaries using GPT-4 Turbo + +## Setup + +1. Create an `openai.env` file in the project root: + ``` + OPENAI_API_KEY=your_api_key_here + ``` + +2. Ensure `kafka.env` exists (already provided in the repo). + +## Running + +```bash +docker compose up --build +``` + +Navigate to http://localhost:8000 to upload an audio file. + +## API + +### `GET /` +Returns an HTML form for file upload. + +### `POST /` +Upload an audio file. Returns JSON with transcription and summary: +```json +{ + "text": "Full transcription...", + "summary": "Summarized content..." +} +``` + +## Services + +| Service | Port | Description | +|---------|------|-------------| +| frontend | 8000 | Web interface | +| kafka | 9092 | Message broker | +| zookeeper | 2181 | Kafka coordination | + +## License + +[GPL-3.0](LICENSE)