Repository navigation
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: mudler/parakeet.cpp
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.2.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: mudler/parakeet.cpp
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.3.0
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 3 commits
- 25 files changed
- 5 contributors
Commits on Jun 12, 2026
-
feat(capi): ABI v5 - surface <EOU> vs <EOB> distinction across the C …
…boundary (#24) The streaming C API conflated end-of-utterance and backchannel: the feed eou_out flag and the JSON "eou" field were 1 for either token, so a voice agent could not tell "the user yielded the turn" (<EOU>, respond) from "the user acknowledged while listening" (<EOB>, do not treat as a turn). - parakeet_capi_stream_feed's *eou_out is now an event bitmask (PARAKEET_EVENT_EOU | PARAKEET_EVENT_EOB) instead of an any-event 0/1 - the streaming JSON documents carry separate "eou"/"eob" 0/1 flags plus an "events" array ({"type":"eou"|"eob","frame","t"}) with per-event timestamps - new parakeet_capi_stream_drain_events / parakeet_capi_free_events expose typed per-event records (token, is_eob, encoder_frame, time_sec) on the flat API; the queue is shared with the JSON entry points - StreamingSession gains a non-draining events() peek; the C layer watermarks the queue to attribute events to one feed pass (a feed can span several encoder chunks, which last_chunk_had_eou() cannot express) - decoder reset-on-<EOU>/<EOB> is deliberately unchanged (matches NeMo's reference driver); the distinction is a downstream turn-taking signal - tests: both C-API stream tests gain a two-utterance-clip phase (shared builder in tests/stream_clips.hpp, same construction as gen_stream_reset_baseline.py) asserting the typed mid-stream <EOU> and exact flag/mask agreement with the drained queue Verified against mudler/parakeet-cpp-gguf realtime_eou_120m-v1-f16: all 61 ctest targets pass; the two-utterance clip yields the mid-stream <EOU> at t=7.84s with mask=PARAKEET_EVENT_EOU. Assisted-by: Claude:claude-fable-5 [Claude Code]
Configuration menu - View commit details
-
Copy full SHA for 503d7ec - Browse repository at this point
Copy the full SHA 503d7ecView commit details -
build(cuda): enable GGML_CUDA_GRAPHS on CUDA builds (#26)
ggml leaves GGML_CUDA_GRAPHS off by default. Turning it on lets the CUDA backend capture and replay the compute graph, a small but free speedup (about 1% measured on a GB10: 1.4% on tdt-1.1b, 0.4% on tdt-0.6b-v3, and never negative across interleaved runs). Enable it whenever we forward CUDA so every CUDA build (docker, release, local) inherits it. The runtime kill-switch GGML_CUDA_DISABLE_GRAPHS=1 still disables it for A/B testing. Co-authored-by: Ettore Di Giacinto <[email protected]> Co-authored-by: Claude Opus 4.8 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b8012f1 - Browse repository at this point
Copy the full SHA b8012f1View commit details
Commits on Jun 17, 2026
-
OpenAI-compatible HTTP server + docker image (#8)
* feat(server): OpenAI-compatible transcription server example Squashed rebase of the worktree-openai-server branch (PR #8) onto current master. Adds examples/server (httplib-based POST /v1/audio/transcriptions), model resolver/fetcher, OpenAI response formatter, and unit + e2e tests. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * feat(docker): publish a dedicated parakeet-server image Split the Dockerfile into a shared build stage plus two runtime targets: runtime (cli, default, unchanged) and runtime-server (entrypoint parakeet-server --host 0.0.0.0, EXPOSE 8080, curl for alias fetch). The docker workflow now builds and publishes both ghcr images, cli and server, for each (variant, arch); the server build reuses the cli build stage so ggml compiles once per job. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * docs: document the OpenAI server and docker images; point to LocalAI for production Add an OpenAI-compatible server section to the main README (build, curl and OpenAI-client usage) and extend the Docker section to cover the new parakeet.cpp-server image alongside the cli. Note LocalAI as the production path in both the main README and examples/server/README.md. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> * ci: add server-e2e job driving the real parakeet-server over HTTP Builds parakeet-server and runs tests/server_e2e.sh (PARAKEET_SERVER_E2E=1): fetches the ~125 MB tdt_ctc-110m-q4_k model by alias, starts the server, and hits POST /v1/audio/transcriptions with a real WAV in json/text/verbose_json (plus word timestamps), checking the transcription and the 400 paths. Runs on pull_request and workflow_dispatch, like closed-loop; no NeMo/Python venv. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1055fb6 - Browse repository at this point
Copy the full SHA 1055fb6View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.2.0...v0.3.0