> For the complete documentation index, see [llms.txt](https://public-intelligence.gitbook.io/taina-agente-ia-ogtic/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://public-intelligence.gitbook.io/taina-agente-ia-ogtic/arquitectura-y-conceptos/architecture/c4-model/2.3_component_view.md).

# Componentes

Esta sección amplía la vista de contenedores describiendo los componentes internos más relevantes del agente Taína IA.

<figure><img src="/files/bjYUclEkPYLHnUO6qbnC" alt=""><figcaption></figcaption></figure>

## Módulos del agente de voz (Backend)

* **Servidor API**\
  Expone endpoints para configuración, monitoreo y administración del agente. Controla parámetros de la sesión, registra métricas y autentica operaciones sensibles.
* **Orquestador WebRTC**\
  Maneja la conexión con LiveKit, se une a las salas, gestiona flujos de audio y sincroniza los canales de datos que viajan entre frontend y backend.
* **Detector de actividad de voz (VAD)**\
  Analiza el audio en tiempo real para determinar cuándo el ciudadano está hablando y cuándo debe responder el sistema, mejorando la naturalidad de la conversación.
* **Servicio de modelo de lenguaje**

  Procesa lenguaje natural usando la API de Gemini. Prepara contexto de conversación, envía prompts a la API de Gemini, procesa respuestas, maneja llamadas a funciones y gestiona prompts del sistema
* **Plugins STT y TTS**\
  Encapsulan las integraciones con Deepgram y ElevenLabs para convertir audio ↔ texto. Cada plugin gestiona credenciales, manejo de errores y sanitización de contenido.
* **Motor RAG**

  Recupera información relevante de la base de conocimiento para mejorar respuestas. Genera embeddings de consulta, busca en base de datos vectorial, formatea documentos recuperados como contexto.
* **Gestor de Conversación**

  Gestiona estado y contexto de conversación a lo largo de la interacción. Rastrea historial de conversación, mantiene contexto de usuario, coordina interacciones de componentes, maneja flujo de conversación, gestiona tiempos de espera y estados de error
* **Manejador de funciones**\
  Conjunto de funciones (`list_services`, `get_service_overview`, `ask_knowledge_base`, etc.) que consultan la base de conocimiento y devuelven datos estructurados al orquestador.

## Componentes de la Voice AI UI

* **Captura de audio y controles de sesión**\
  Gestionan el micrófono, el botón de inicio de conversación y el estado visual de “escuchando / pensando / respondiendo”.
* **Panel de información de servicio**\
  Presenta las transcripciones, los detalles recuperados (requisitos, costos, ubicaciones) y ofrece acciones de seguimiento.
* **Módulos de compatibilidad multicanal**\
  Ajustan la experiencia según se trate de un quiosco físico, la web o futuras integraciones móviles y de call center.

## Base de conocimiento dual (ChromaDB)

* **Colección de servicios (chunks)**\
  Documentos granulares que almacenan información de tipo “servicio principal”, “variaciones”, “ubicaciones” y “canales digitales”.
* **Colección pregunta-respuesta**\
  Pares sintetizados que fortalecen la conversión en un estilo conversacional natural, permitiendo recuperar ejemplos listos para usar.
* **Metadatos enriquecidos**\
  Permiten filtrar por institución, categoría, precio o tipo de documento, favoreciendo respuestas precisas.

## Consideraciones para integraciones

* Las solicitudes a Deepgram, Google Gemini y ElevenLabs se encapsulan en módulos con reintentos propios y manejo de errores.
* Cada componente registra métricas (`log_performance`, `log_system_health`) que se utilizan en los tableros operativos.
* Para pasos detallados de integración, consulta el documento [Flujos de API](/taina-agente-ia-ogtic/arquitectura-y-conceptos/architecture/integration/2.6_api_flows.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://public-intelligence.gitbook.io/taina-agente-ia-ogtic/arquitectura-y-conceptos/architecture/c4-model/2.3_component_view.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
