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
Release history Release notifications | RSS feed
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.0.tar.gz
(21.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
parlona-1.0.0-py3-none-any.whl
(23.1 kB
view details)
File details
Details for the file parlona-1.0.0.tar.gz.
File metadata
- Download URL: parlona-1.0.0.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d6c2198f1f1a50b14325b77cc654b7f51d8bfa9a4bd90eddba205320ff975557
|
|
| MD5 |
a55db6418b250f73edbf2cf38aec2d1c
|
|
| BLAKE2b-256 |
ad7ccf8c8f777ef3768def92c374f111a7c33d357d883addf87fc4891689d4ba
|
File details
Details for the file parlona-1.0.0-py3-none-any.whl.
File metadata
- Download URL: parlona-1.0.0-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c1ca6154b409b755dd23103acd0c6acc7e69ff24ad370ff754a0ae00040e514
|
|
| MD5 |
32d83cc7826dffac068336cb8ab75fd9
|
|
| BLAKE2b-256 |
feeb4fedbdbb962b5a0f51a93435800513cc372b01b2754a8e621c77c438340e
|