Skip to main content

AlphaAvatar Framework plugin for persona service

Project description

🧬 AlphaAvatar Persona Plugin

The Persona Plugin provides user identity recognition and profile management for AlphaAvatar.

🧩 Module Overview

The plugin is responsible for:

  • identifying users through face and speaker embeddings;
  • associating temporary face, speaker, and session identities with stable users;
  • maintaining user profile attributes;
  • exposing the active user persona to the Avatar Runtime;
  • publishing identity-related annotations into PerceptionRuntime.

Persona processing is divided into independent paths:

Visual Observation
    └── → Face Recognition

Speech Observation
    └── → Speaker Recognition

Conversation Context
    └── → Persona Profile

The resulting identity and profile information can be used by Memory, prompting, retrieval, and other runtime modules.

🔍 Identity Processing

👁️ Face Recognition

The face stream consumes visual observations from PerceptionRuntime.

Video / Screen Observation
            ↓
      PerceptionRuntime
            ↓
       FaceStreamWrapper
            ↓
     FaceAnalysisRunner
            ↓
 Face Embedding and Attributes
            ↓
      User Identity Match

Face processing:

  • samples frames independently from the shared visual stream;
  • performs face detection and embedding extraction;
  • matches embeddings against known user profiles;
  • updates face attributes and identity associations;
  • publishes face annotations back to the original observation;
  • optionally renders face bounding boxes into the annotated payload view.

Raw video observations remain unchanged. Rendered overlays are stored in the separate annotated payload view.

🎤 Speaker Recognition

The speaker stream consumes routed speech observations rather than subscribing directly to LiveKit audio.

PerceptionRuntime.audio
          ↓
AudioActivityProcessor
          ↓
PerceptionRuntime.speech
          ↓
     Speaker Stream
          ↓
 Speaker Embedding and Match

Speaker processing uses rolling speech windows to:

  • create speaker embeddings;
  • match speech against known users;
  • update voice identity attributes;
  • associate temporary speaker identities with stable user profiles.

Raw audio frames are used only during runtime processing and are not stored as persona profiles.

🧩 Supported Components

Component Input Output Function
FaceStreamWrapper video and screen observations Face annotations and user matches Detects faces, generates embeddings, matches users, and updates face attributes.
SpeakerStreamWrapper Routed speech observations Speaker matches and voice attributes Builds rolling speech windows, generates speaker embeddings, and resolves voice identities.
Persona profile runtime Conversation and identity context Active persona content Maintains user profile information and exposes it to the Avatar Runtime.
Identity alias handling Temporary and stable identity IDs Identity relationships Links session, face, speaker, and user identities across runtime modules.

Persona profiles may contain:

  • stable user identifiers;
  • face and speaker embeddings;
  • face and voice attributes;
  • profile text;
  • temporary identity aliases;
  • session and runtime metadata.

🔗 Module Relationships

PerceptionRuntime
    ├── → Face observations
    └── → Speech observations

Router Plugin
    └── → Routed speech stream

Persona Plugin
    ├── → Active user identity
    ├── → Persona prompt context
    ├── → Face and speaker annotations
    └── → Identity aliases

Memory Plugin
    └── → User ownership and identity-aware retrieval

📦 Installation

pip install alpha-avatar-plugins-persona

The plugin is loaded through the AlphaAvatar configuration.

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

alpha_avatar_plugins_persona-0.6.5.tar.gz (33.4 kB view details)

Uploaded Source

Built Distribution

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

alpha_avatar_plugins_persona-0.6.5-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

File details

Details for the file alpha_avatar_plugins_persona-0.6.5.tar.gz.

File metadata

File hashes

Hashes for alpha_avatar_plugins_persona-0.6.5.tar.gz
Algorithm Hash digest
SHA256 e04be58e705a8dcf70d09f49f4312c4d87c088c22fb1a28ea99c504bc0b0622f
MD5 25936234767dfa33b7b8914178a9cb4b
BLAKE2b-256 9fa6baaa7038b48b865f73512b0a1b9317b650fef001dc45f23c3cf6f9d50940

See more details on using hashes here.

File details

Details for the file alpha_avatar_plugins_persona-0.6.5-py3-none-any.whl.

File metadata

File hashes

Hashes for alpha_avatar_plugins_persona-0.6.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9b1b0dcc875a516aa71100099a885bebe48c516a6315cdebc5bf2eec73bdcfe4
MD5 50aef408c1e2d73085edfc65f27af952
BLAKE2b-256 af6dc88a31eaa4fecb6a0c1f37c09c2376bc827dabd755b521aff1a8b1cbf517

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