Aller au contenu principal

Workers des agents vocaux (livekit-agents)

Workers LiveKit Agents qui répondent aux appels routés vers un agent vocal Navin : inscrits sous le nom d'agent des règles de dispatch SIP, ils lisent la configuration de l'agent dans Navin Enterprise, dialoguent par des points d'accès compatibles OpenAI de transcription, de LLM (LiteLLM) et de synthèse vocale, transfèrent vers un humain et remontent les événements d'appel.

Généré depuis catalog/services/livekit-agents.yaml : ne pas modifier à la main.

Résumé​

Version1.0.0
Usageinstaller et configurer
Couchefonctionnelle (catalogue IA)
CatégorieInférence IA
Méthodes d'installationpython
Connexion externenon
Réservé au bac à sablenon

Licence​

Identifiant SPDXApache-2.0
Politique de licencelicence socle (MIT ou Apache-2.0)
Exception de licence-
Exceptions de licence de ses dépendancesLEX-029 (en attente de la décision du client), LEX-030 (en attente de la décision du client), LEX-031 (en attente de la décision du client)
Remarque de licenceLe SDK LiveKit Agents et ses greffons OpenAI et Silero sont sous Apache-2.0 (https://github.com/livekit/agents) ; le paquet navin-voice-agent est le code de Navin.
Composant de la plateformelivekit-agents

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
paquet Pythonnavin-voice-agent1.0.0LicenseRef-Navin-Enterpriseinterpréteurs, par ordre de préférence python3.12, python3.11, python3.10
paquet Pythonlivekit-agents1.8.10Apache-2.0interpréteurs, par ordre de préférence python3.12, python3.11, python3.10
paquet Pythonlivekit-plugins-openai1.8.10Apache-2.0interpréteurs, par ordre de préférence python3.12, python3.11, python3.10
paquet Pythonlivekit-plugins-silero1.8.10Apache-2.0interpréteurs, par ordre de préférence python3.12, python3.11, python3.10

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
pythonfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

  • au moins 2048 Mo de mémoire (avertissement, memory).
  • au moins 2 CPU (avertissement, cpu).

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
workerhealth8581/tcpnon
workermetrics6793/tcpoui

Services et connexions nécessaires​

Détail et résolution : voir Dépendances.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
pythonouiun environnement virtuel Python qui contient les paquets Python du descripteur

Composants​

ComposantTypeMéthodes d'installationPorts
Worker d'agent vocal (worker)travailleurpython8581/tcp, 6793/tcp

Worker unique (single) (par défaut)​

Un seul hôte de worker.

Ce que le mode déploie :

ComposantPlacement
workermin 1, max 1

Pool de workers (pool)​

Plusieurs workers inscrits sous le même nom d'agent ; LiveKit confie chaque nouvel appel à un worker sous son seuil de charge.

Ce que le mode déploie :

ComposantPlacement
workermin 2, recommandé 2

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez Workers des agents vocaux. La carte affiche la licence Apache-2.0 et les dépendances dont l'installation a besoin.

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : single (par défaut), pool. Chaque mode déploie les composants listés dans Méthodes et modes d'installation.

  4. Liez les dépendances. À l'étape Liaisons, choisissez pour chaque dépendance (livekit, navin_enterprise, litellm) Installer avec la plateforme ou Utiliser une connexion existante ; une dépendance facultative peut rester sur Aucune liaison.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Haute disponibilité​

Clusternatif (native)
Haute disponibilitéredondance (redundancy)
Basculenatif (native)
Réplicationaucun (none)
Quorumaucun (none)
Découverteregistre (registry)
Point d'entréeaucun (none)
Documentation officiellehttps://docs.livekit.io/agents/server/
Référenceshttps://github.com/livekit/agents

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
singleautonome (standalone)unique (single)-1Un worker, sans tolérance aux pannes.
poolha (ha)jobs parallèles (parallel-jobs)-2Plusieurs workers ; LiveKit confie chaque nouvel appel à un worker disponible.

Remarques​

  • La perte d'un worker arrête les sessions vocales qu'il porte ; la règle de secours de Navin Enterprise route ces appels vers une file humaine.

Paramètres de configuration​

Réseau​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port de santé (health_port)port8581-nonnonnonSanté HTTP du worker : 200 une fois inscrit auprès de LiveKit, 503 sinon ; /worker donne son nom d'agent et sa charge.
Port des métriques (metrics_port)port6793-nonnonnonPort Prometheus du worker.
URL LiveKit (livekit_url)string(vide)-nonnonnonURL ws:// ou wss:// du serveur LiveKit (son répartiteur en mode distribué) ; vide : le premier serveur de la liaison livekit.

Modèles​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Nom d'agent (agent_name)stringnavin-voice^[a-z][a-z0-9-]{1,62}$nonnonouiNom que les règles de dispatch de Navin Enterprise donnent dans room_config.agents (dispatch explicite).
Clé LLM (llm_api_key)password(vide)-nonouinonClé virtuelle LiteLLM des workers (sk-...) ; vide : la clé maître de la liaison litellm.
Clé vocale (speech_api_key)password(vide)-nonouinonClé des points d'accès de transcription et de synthèse ; vide : la clé LLM.

Capacité​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Seuil de charge (load_threshold)float0.7min 0.1, max 1.0nonnonnonCharge CPU au-dessus de laquelle un worker ne prend plus d'appel.
Processus prêts (idle_processes)int2min 0, max 64nonnonnonProcessus de tâche gardés prêts (VAD chargé) pour répondre sans délai.

Dépendances​

Pour chaque dépendance active, le Manager prend la première solution parmi : la liaison choisie dans l'assistant ; un service de la même installation qui la fournit ; un service déjà installé dans le cluster ; la seule connexion du type attendu. Sinon, une dépendance facultative reste non liée, et une dépendance obligatoire est ajoutée à l'installation dans son mode par défaut (la colonne ci-dessous nomme le service du catalogue ajouté).

LiaisonFournie parType de connexionPoint d'accèsFacultativeQuand rien n'est liéDescription
livekitlivekit-signalnonlivekit est ajouté à l'installationServeur LiveKit auprès duquel les workers s'inscrivent (paire de clés d'API).
navin_enterprisenavin-enterprise-apinonnavin-enterprise est ajouté à l'installationAPI téléphonie de Navin Enterprise : configuration des agents vocaux, événements d'appel, transferts et recherches (jeton de worker de la liaison).
litellmlitellm-apinonlitellm est ajouté à l'installationPasserelle compatible OpenAI du LLM et, quand Navin Enterprise les y route, des modèles vocaux.

Commandes​

CommandeComposantCibleDescription
État du worker (worker_info)workertous les hôtesNom d'agent, appels en cours et charge de chaque worker.
Journaux récents (logs)workerhôte choisiDernières lignes du journal du worker.

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
workerHTTP http://{{ host.ip or '127.0.0.1' }}:{{ config.health_port }}/Attendu 200 ; 60 tentatives ; intervalle 2 s ; délai 3 s

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
memorymemory_mb {"min": 2048}au moins 2048 Mo de mémoireavertissementtous les composants
cpucpu_count {"min": 2}au moins 2 CPUavertissementtous les composants

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.log }}.

Liens rapides​

  • Métriques : http://{{ host.fqdn }}:{{ config.metrics_port }}/metrics

Documentation amont​