LLM Guide: Creating vCon Adapters
This guide provides essential information for Large Language Models tasked with generating vCon adapter code. Follow these patterns and requirements when creating adapters that convert conversation da
Core Requirements
Essential Imports
from abc import ABC, abstractmethod
from typing import Dict, List, Any, Optional, Union
from vcon import Vcon, Party, Dialog
from datetime import datetime, timezone
import json
import base64
import loggingBase Adapter Pattern
class BaseVconAdapter(ABC):
"""Base class for all vCon adapters."""
def __init__(self, config: Dict[str, Any]):
self.config = config
self.validation_errors = []
self.logger = logging.getLogger(self.__class__.__name__)
@abstractmethod
def extract_data(self, source: Any) -> Dict[str, Any]:
"""Extract raw data from the source system."""
pass
@abstractmethod
def transform_to_vcon(self, raw_data: Dict[str, Any]) -> Vcon:
"""Transform raw data into a vCon object."""
pass
def validate_vcon(self, vcon: Vcon) -> bool:
"""Validate the generated vCon."""
is_valid, errors = vcon.is_valid()
self.validation_errors = errors
return is_valid
def process(self, source: Any) -> Vcon:
"""Main processing pipeline."""
raw_data = self.extract_data(source)
vcon = self.transform_to_vcon(raw_data)
if not self.validate_vcon(vcon):
raise ValueError(f"Invalid vCon generated: {self.validation_errors}")
return vconKey Patterns to Follow
1. vCon Creation
2. Party Processing
3. Dialog Processing
4. Timestamp Handling
Media Handling Patterns
Audio/Video Content
Transfer Dialogs
Incomplete Dialogs
Error Handling Requirements
Robust Data Extraction
Validation and Fallbacks
Common Adapter Templates
Chat System Adapter
Call Center Adapter
Critical Requirements
1. Always Validate
2. Handle All Dialog Types
3. Use Proper MIME Types
4. Include Extensions and Must-Support (vCon 0.3.0)
Testing Pattern
Key Considerations for LLMs
Last updated
Was this helpful?