Skip to main content

Call analytics pipeline for speech-to-text, summarization, and insights extraction

Project description

Parlona

Call analytics pipeline for speech-to-text, summarization, and insights extraction.

Installation

pip install parlona

Set your LLM API key (for OpenAI):

export OPENAI_API_KEY="your-api-key"

Quick Start

import parlona

# Process an audio file
result = parlona.process("call.wav")

# Access results
print(result.transcript)
print(result.summary)
print(result.headline)
print(f"Sentiment: {result.sentiment.label} ({result.sentiment.score})")
print(f"Entities: {result.entities}")

Features

  • Speech-to-Text: Powered by faster-whisper with stereo channel diarization
  • Call Summarization: LLM-powered summaries via OpenAI, Groq, vLLM, or Ollama
  • Sentiment Analysis: Automatic sentiment detection and scoring
  • Entity Extraction: Named entity recognition with speaker attribution
  • Multi-language Support: Automatic language detection

Advanced Usage

from parlona import CallProcessor, STTConfig, LLMConfig

# Custom configuration
stt_config = STTConfig(
    model_name="Systran/faster-whisper-medium",
    device="cuda",
    diarization_mode="stereo_channels",
    speaker_mapping={0: "agent", 1: "customer"}
)

llm_config = LLMConfig(
    backend="openai",
    api_key="your-api-key",
    model="gpt-4o-mini"
)

# Create processor and process
processor = CallProcessor(stt_config=stt_config, llm_config=llm_config)
result = processor.process("call.wav")

Modular Usage

Use STT and LLM components separately:

from parlona.stt import STTEngine, STTConfig
from parlona.llm import LLMClient, LLMConfig

# STT only
stt_engine = STTEngine(STTConfig())
transcription = stt_engine.transcribe("audio.wav")

# LLM only
llm_client = LLMClient(LLMConfig(backend="openai"))
summary, headline, lang, sentiment, entities, score = \
    llm_client.summarize_with_headline(transcript)

Requirements

  • Python 3.9+
  • OpenAI API key (or other LLM backend)

License

Apache-2.0

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

parlona-1.0.5.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

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

parlona-1.0.5-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file parlona-1.0.5.tar.gz.

File metadata

  • Download URL: parlona-1.0.5.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.21

File hashes

Hashes for parlona-1.0.5.tar.gz
Algorithm Hash digest
SHA256 f469d361b9c88c318c6a30d054bf6ff54c593a9effd564cb26a93369c1aa505f
MD5 bab3de42f678c45512509e9d64af2aa6
BLAKE2b-256 d789f85cb2010ffeaf621cceaf025b76c937bd89b9a500fa7deeebc3eb72b39d

See more details on using hashes here.

File details

Details for the file parlona-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: parlona-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.21

File hashes

Hashes for parlona-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4b1492a3a405d34ee1e0d74d74ef4104a11f66c46d848a1344f8155b27faa661
MD5 5a93dc7c224a78180d1a1c8e42c2c2e0
BLAKE2b-256 28b4e6b746d932a7f7a39db591fb1c3ca44c1c5b1e1b582611bce43828612b66

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