Files
Kunthawat Greethong c35fa52117 Base code
2026-01-08 22:39:53 +07:00

3.8 KiB

Persona Services Package

This package contains platform-specific persona generation and analysis services, providing a modular and extensible architecture for creating platform-optimized writing personas.

Structure

services/persona/
├── __init__.py                    # Package initialization
├── linkedin/                      # LinkedIn-specific persona services
│   ├── __init__.py               # LinkedIn package initialization
│   ├── linkedin_persona_service.py    # Main LinkedIn persona service
│   ├── linkedin_persona_prompts.py    # LinkedIn-specific prompts
│   └── linkedin_persona_schemas.py    # LinkedIn-specific schemas
└── README.md                     # This documentation

LinkedIn Persona Services

LinkedInPersonaService

The main service class for generating LinkedIn-specific persona adaptations.

Key Features:

  • Enhanced LinkedIn-specific prompt generation
  • Professional networking optimization
  • Industry-specific adaptations
  • Algorithm optimization for LinkedIn
  • Persona validation and quality scoring

Methods:

  • generate_linkedin_persona() - Generate LinkedIn-optimized persona
  • validate_linkedin_persona() - Validate persona data quality
  • optimize_for_linkedin_algorithm() - Algorithm-specific optimizations
  • get_linkedin_constraints() - Get LinkedIn platform constraints

LinkedInPersonaPrompts

Handles LinkedIn-specific prompt generation with professional optimization.

Key Features:

  • Industry-specific targeting (technology, business, etc.)
  • Professional networking focus
  • Thought leadership positioning
  • B2B optimization
  • LinkedIn algorithm awareness

LinkedInPersonaSchemas

Defines LinkedIn-specific JSON schemas for persona generation.

Key Features:

  • Enhanced LinkedIn schema with professional fields
  • Algorithm optimization fields
  • Professional networking elements
  • LinkedIn feature-specific adaptations

Usage

from services.persona.linkedin.linkedin_persona_service import LinkedInPersonaService

# Initialize the service
linkedin_service = LinkedInPersonaService()

# Generate LinkedIn persona
linkedin_persona = linkedin_service.generate_linkedin_persona(
    core_persona=core_persona_data,
    onboarding_data=onboarding_data
)

# Validate persona quality
validation_results = linkedin_service.validate_linkedin_persona(linkedin_persona)

# Optimize for LinkedIn algorithm
optimized_persona = linkedin_service.optimize_for_linkedin_algorithm(linkedin_persona)

Integration with Main Persona Service

The main PersonaAnalysisService automatically uses the LinkedIn service when generating LinkedIn personas:

# In PersonaAnalysisService._generate_single_platform_persona()
if platform.lower() == "linkedin":
    return self.linkedin_service.generate_linkedin_persona(core_persona, onboarding_data)

Benefits of This Architecture

  1. Modularity: Each platform has its own dedicated service
  2. Extensibility: Easy to add new platforms (Facebook, Instagram, etc.)
  3. Maintainability: Platform-specific logic is isolated
  4. Testability: Each service can be tested independently
  5. Reusability: Services can be used across different parts of the application

Future Extensions

This architecture makes it easy to add new platform-specific services:

  • services/persona/facebook/ - Facebook-specific persona services
  • services/persona/instagram/ - Instagram-specific persona services
  • services/persona/twitter/ - Twitter-specific persona services
  • services/persona/blog/ - Blog-specific persona services

Each platform service would follow the same pattern:

  • {platform}_persona_service.py - Main service class
  • {platform}_persona_prompts.py - Platform-specific prompts
  • {platform}_persona_schemas.py - Platform-specific schemas