Skip to main content

Add your description here

Project description

recallia

Minimal voice-to-notes pipeline with FunASR + Ollama.

Quickstart (Docker)

  1. Requirements: Docker & docker-compose; NVIDIA GPU + container toolkit recommended; Ollama (runs as a service in compose).
  2. (Optional) Reuse host Ollama models: set HOST_OLLAMA_MODELS=/path/to/host/.ollama before docker compose up.
  3. Build & run:
    docker compose up --build
    
  4. Drop audio files (.mp3/.wav/.m4a/.aac) into data/inbox/. Outputs land in data/archive/YYYY-MM-DD/<hash>/.

Flow

  • ASR via FunASR (GPU if available).
  • Summaries/tags + per-sentence emotions via Ollama.
  • Artifacts per file: original audio, transcript.jsonl, llm_summary.json, llm_emotion.json, run.log.
  • Metadata in SQLite data/db.sqlite3.

Config

  • docker-compose.yaml: OLLAMA_HOST (defaults to http://ollama:11434), GPU flags, caches (./cache, ./modelscope, optional HOST_OLLAMA_MODELS).
  • recallia/config.py: ASR device, LLM model, base paths.

Local (no Docker)

uv sync
python -m recallia

Ensure Ollama reachable at OLLAMA_HOST.

Demo data

Use examples/generate_demo_data.py to produce sample audio/text for testing.

Example archive (real output)

data/archive/2025-12-15/7daf3d771c04/

- 02_emergency_call.mp3
- transcript.jsonl
- llm_summary.json
- llm_emotion.json
- run.log
  • run.log key fields:
    • summary: 技术人员发现API网关出现502错误,原因是数据库连接延迟导致CPU负载过高和慢查询问题。决定手动添加索引并切换流量以缓解当前状况。
    • tags: api网关, 数据库连接, 索引
    • duration_sec: 7.064
  • llm_summary.json snippet:
{
  "response": {
    "summary": "技术人员发现API网关出现502错误,原因是数据库连接延迟导致CPU负载过高和慢查询问题。决定手动添加索引并切换流量以缓解当前状况。",
    "tags": "api网关, 数据库连接, 索引"
  }
}
  • transcript.jsonl starts with full text, then per-segment entries. Excerpt:
{"type": "full_text", "text": "Speaker 0: 喂,老张听得到吗?出大问题了, api 网关全是五百零二报错。\nSpeaker 2: 听到了,我刚看监控,数据库连接迟爆了, cpu 直接飙到百分之一百,\n..."}
{"type": "segment", "speaker": "Speaker 0", "text": "喂,", "start_time": 290, "end_time": 530, "emotion": "neutral"}
{"type": "segment", "speaker": "Speaker 2", "text": "数据库连接迟爆了,", "start_time": 10860, "end_time": 12400, "emotion": "neutral"}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recallia-0.0.2.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

recallia-0.0.2-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

Details for the file recallia-0.0.2.tar.gz.

File metadata

  • Download URL: recallia-0.0.2.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for recallia-0.0.2.tar.gz
Algorithm Hash digest
SHA256 05bd264fcdc7ba153fd060139835239adb2ff7b0b6e62325abf25e0772356055
MD5 de14b23791aebfee19665a4c1d408c7e
BLAKE2b-256 484e93822ad31a455e46df649c2c6ae3eceb8166e0d9719ca9d0c2874eadbcb9

See more details on using hashes here.

File details

Details for the file recallia-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: recallia-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for recallia-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 179dd68fe3ee95aa96c9cb7a6c6cd487712b6549e423c4707c1501f6ab2ddbf5
MD5 30a04d714ccec0b92b5ec3f4508ba09f
BLAKE2b-256 84cef84b0bbae8cd19e7101f4c05bf296219ee20a99ae0bc0de3c04cbf2e3c42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page