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.1.tar.gz (10.7 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.1-py3-none-any.whl (12.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: recallia-0.0.1.tar.gz
  • Upload date:
  • Size: 10.7 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.1.tar.gz
Algorithm Hash digest
SHA256 fdbbf5eeb97d8a0133b11ce730a23bd98f4530c0d156d97af8c966d66ec0950a
MD5 bba6a01e45d12a9c698f1f9990b4dc7c
BLAKE2b-256 787530b9ab00e0e89047f040ce8d882e1b36b8c37780e34954adf23342a74a67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: recallia-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e903ebcbc2f41263db8993697174fe03eebd2bf6c4bbbb62b40c4f4bc176cedf
MD5 56c326bda3c5e126f83d38d7b87036b9
BLAKE2b-256 da0b14af8e50f752de8b7e6b0bd97a739589626ec39bddfaceb952a2a800c158

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