Tayra is an advanced call center analytics platform that evaluates and scores call center audio interactions. By converting audio files into transcriptions and applying various evaluation models, Tayra helps organizations measure performance, compliance, and customer satisfaction efficiently. It uses Python-based engines for flexibility and integration with machine learning frameworks, making it adaptable for custom evaluations.
Tayra can be tailored to various business scenarios, providing value in key areas:
-
Customer Experience & Sentiment Analysis
- Tayra analyzes customer sentiment during calls by examining tone, word choice, and language. This helps businesses gauge customer satisfaction and identify pain points.
- Example 1: A telecom company can monitor customer complaints and address issues before they escalate.
- Example 2: A retail call center can analyze agent handling of objections and suggest training based on sentiment analysis.
- Tayra analyzes customer sentiment during calls by examining tone, word choice, and language. This helps businesses gauge customer satisfaction and identify pain points.
-
Agent Performance Evaluation
- Tayra compares transcriptions against business rules and training guidelines to assess agent performance, including issue resolution, script adherence, and service quality.
- Example 1: In a banking call center, Tayra ensures agents follow regulatory requirements for customer identity verification.
- Example 2: In technical support, it measures call resolution time and satisfaction levels to evaluate troubleshooting efficiency.
- Tayra compares transcriptions against business rules and training guidelines to assess agent performance, including issue resolution, script adherence, and service quality.
-
Compliance & Regulatory Audits
- Tayra evaluates calls for compliance with industry regulations, flagging violations for review.
- Example 1: Financial services can check if agents follow proper disclosure procedures during sales calls.
- Example 2: Healthcare providers can ensure agents handle patient information correctly and comply with privacy laws (e.g., HIPAA).
- Tayra evaluates calls for compliance with industry regulations, flagging violations for review.
-
Custom Use-Cases and Adaptations
- Tayra's flexible architecture allows businesses to customize the system for specific needs.
- Example 1: A travel agency can assess how well agents upsell vacation packages.
- Example 2: Insurance companies can identify fraudulent claims by evaluating customer language during claims discussions.
- Tayra's flexible architecture allows businesses to customize the system for specific needs.
-
Multi-Language Support and Cross-Cultural Analysis
- Tayra supports multiple languages, enabling global organizations to monitor call centers across regions. It helps businesses understand cultural differences in customer interactions and adjust communication strategies.
Tayra offers the following features:
- Call Center Software Integration: Capture live calls and store audio files in Azure Data Lake for processing.
- Web Adapter: A Python-based API that retrieves audio files and forwards them to the Transcription Engine.
- Transcription Engine: Uses Azure Cognitive Services to transcribe audio files into text, stored in Azure Cosmos DB.
- Orchestrator: Runs Python scripts to evaluate transcriptions based on business rules, using logic-based scoring or machine learning models.
- AI-driven Evaluation Engine (Azure OpenAI & PromptFlow): Uses large language models to analyze sentiment, detect compliance violations, and identify improvement areas.
- Context Storage (Azure Cosmos DB): Stores configuration settings, business rules, and contextual data for evaluations.
- Memory Storage (Azure AI Search): Stores vectorized represenations of transcriptions for fast retrieval and matching.
- Management Interface: An Azure Static Web App using NestJS and React, allowing users to configure rules, monitor processes, and review results.
- Balancer and API Management: Uses Azure API Management and load balancers to handle large workloads and manage resources during high-traffic periods.
- Windows, Linux and MacOS
- Python 3.12
- Typescript 14
- Az CLI
- Docker 27.3.1 or greater
- Docker compose
docker compose up --build
git clone https://github.com/Azure-Samples/tayra.git
docker compose up
The run script with run four microservices (Evaluation, Transcription, Web Adapter and Web APIs) as well as the frontend application.
A demo app with sample data is included to show how to use the project. The sample data was generated using AI 😜. It simulates a conversation between a customer and a contact center company.
To run the demo, follow these steps:
- Configure the Managers (Configuration -> Configure Managers)
- Provide a Manager Name
- Provide a Manager Role (ex: Manager)
- Add the Team Members/Specialists (Provide the Specialist Name and Role)
- Configure the Rules (the criteria to be evaluated)
- Examples of criteria/description:
- Cordiality: Demonstrated cordiality with the customer
- Objectivity: Demonstrated objectivity and transparency with the client
- Introduction: Introduced yourself to the customer
- Examples of Business rules
- clarity, well-communication, customer-obsession
- Upload the Audio File (Job Management -> Upload). You can use the sample data provided.
- Transcribe the Audio File (Job Management -> Transcribe)
- Evaluate the Audio File (Job Management -> Evaluate)
- Analyze the results (Transcription Analysis)
You should see a screen like that with the evaluation results:
We use the CosmosDB native RBAC to authenticate with the application. Follow the instructions below to give the permission to the user/service-principal:
az login
- Allow Key authentication on Azure CosmosDB
az resource update --resource-type "Microsoft.DocumentDB/databaseAccounts" --resource-group $resourceGroupName --name $accountName --set properties.disableLocalAuth=false
- Add PowerBI dashboard template with analytics
- Add language selection option
- Add transcription service options (currently only Fast Transcription API is used)
- Add tracking status in the UI for all the features