The scenario
The decision was made on a call. Nobody wrote it down, or somebody wrote down half of it, and three weeks later the team is relitigating a thing that was already settled. The recording exists. It is just not answerable — nobody is going to scrub forty minutes of audio to check who agreed to what.Step 1 — Upload the audio
Audio is a file like any other.upload_file takes MP3 and WAV, transcribes
them, and stores the result as ordinary memory in the same space as everything
you have recorded by hand.
{"job_ids": [...]} rather than
waiting. Tag it on the way in — that is what lets you later ask about one
team’s meetings and not everyone’s.
Step 2 — Wait for it, or be told
Step 3 — Ask the meeting a question
Evals
- Upload one recording where you know the answer to a specific question.
- Ask that question. Check the answer names the right person.
- Ask something the recording does not cover. A useful system says it does
not know; if it invents an answer, your
min_scorefloor is too low — see Tuning Recall Quality. - Upload a second recording from a different team with different tags, and confirm a tagged query does not cross over.
Guardrails
- Per-file limits apply: 25 MB for audio, 64 MB for video. A long call may need splitting.
- A transcript is not a verbatim record. It is good enough to answer questions and to point you at the moment; it is not evidence. Keep the original file if the exact words matter.
- Tag on upload, not afterwards. There is no bulk retag, so an untagged corpus stays untagged.
Built from
Every call above appears in one of these two runnable scripts:document_qa.py,
background_ingestion.py.