Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d344799
feat(asr): replace TRANSCRIBE_WS_URI with TRANSCRIBE_BASE_URL/API_KEY
jedzill4 Jun 17, 2026
979b4bb
feat(asr): add coro boundary schema, remove WLK websocket schemas
jedzill4 Jun 17, 2026
9b0dace
refactor(asr): fold TranscriptionItem into ASRParagraph
jedzill4 Jun 17, 2026
93e1bdf
docs(asr): add ASRParagraph docstring
jedzill4 Jun 17, 2026
ce2f21c
feat(asr): rewrite client to consume coro over openai SDK SSE
jedzill4 Jun 17, 2026
46dda72
test(asr): drive async client test with asyncio.run (repo has no pyte…
jedzill4 Jun 17, 2026
cb5f78b
feat(asr): map coro segments to ASRParagraph in transcribe router
jedzill4 Jun 17, 2026
3e70e72
test(asr): update transcribe tests for coro client
jedzill4 Jun 17, 2026
aeeca23
test(asr): gate integration test on TRANSCRIBE_BASE_URL
jedzill4 Jun 17, 2026
6613bfa
build(asr): add openai dep (1.x, capped by marker-pdf), drop librosa
jedzill4 Jun 17, 2026
8570bb7
chore(asr): drop whisperlivekit compose service (coro runs via uv tool)
jedzill4 Jun 17, 2026
1e44ae8
docs(asr): add run-coro.sh (cpu/gpu) and README instructions
jedzill4 Jun 17, 2026
1858149
test(asr): cover openai connection error -> RuntimeError mapping
jedzill4 Jun 17, 2026
b147c49
test(asr): add coro SSE smoke test; pin uvx --python 3.12 in run-coro.sh
jedzill4 Jun 17, 2026
3302a59
feat(asr): add Argentine Spanish ASR evaluation notebook with transcr…
jansaldo Jun 19, 2026
1c21990
feat(asr): implement streaming transcription with progress estimation…
jedzill4 Jun 22, 2026
cd001a2
Merge branch 'feat/coroasr-integration' of github.com:AymurAI/backend…
jedzill4 Jun 22, 2026
55aa1d2
feat(asr): enable coro speaker diarization via diarized_json
jedzill4 Jun 22, 2026
3f4e015
feat(asr): add speaker turn handling and transcript processing for di…
jansaldo Jun 29, 2026
2e0438c
feat(asr): enhance tests for speaker turn handling and add new transc…
jansaldo Jun 29, 2026
f856fab
feat(asr): refactor speaker turn handling and add tests for validated…
jansaldo Jun 30, 2026
0921c66
feat(asr): add ASRValidationDocumentRequest model and update document…
jansaldo Jul 1, 2026
5a52a99
feat(asr): add title support to SSE messages in transcribe_stream
jansaldo Jul 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,34 @@ docker load -i aymurai-api.tar
For more information on Docker deployment, refer to the [Docker documentation](https://docs.docker.com/). If you need further assistance, feel free to contact us at [aymurai@datagenero.org](mailto:aymurai@datagenero.org).


## Running the ASR server (coro)
Audio transcription is handled by [coro](https://github.com/collectiveai-team/coro), an OpenAI-compatible ASR + speaker-diarization server. It runs as an isolated host process via `uv tool` (no dependency conflicts with the API), and the API talks to it over HTTP/SSE.

Prerequisites (both modes): `ffmpeg` on the host, [`uv`](https://docs.astral.sh/uv/) installed, and a real-disk `CORO_TRANSCRIPT_SPILL_DIR` (not a tmpfs path) so host RAM stays flat on long audio.

```bash
# GPU (NVIDIA): parakeet fp32 + NeMo diarization
./scripts/run-coro.sh gpu

# CPU: parakeet int8
./scripts/run-coro.sh cpu
```

Then point the API at it via the `TRANSCRIBE_BASE_URL` environment variable (see `.env`):

```
TRANSCRIBE_BASE_URL=http://localhost:8000/v1
```

The API connects over HTTP/SSE and is hardware-agnostic — coro's device is independent of the API container's `TORCH_DEVICE`. (`run-coro.sh` pins `uvx --python 3.12`, since NeMo/`kaldialign` lack wheels on newer Pythons.)

To verify the whole path end-to-end (start coro, transcribe a sample over SSE via both the OpenAI SDK and aymurai's client):

```bash
rtk uv run python scripts/smoke_coro.py cpu # or: gpu
```


## Pipeline
AymurAI’s backend utilizes a structured data processing pipeline to handle anonymized legal rulings and extract relevant information. This data is processed and made accessible via the API. For more details, please refer to the [pipeline documentation](docs/pipeline/README.md).

Expand Down
Loading