Skip to content

CallCenterVillage/partyline33

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Party Line @ DEF CON 33

Details needed to power ElevenLabs Conversational AI for the Call Center Village party telephone line at DEF CON 33.

Disclaimer

AI was used in the creation of this software.

Overview

We're using the Twilio integration within ElevenLabs to tie an agent to a phone number. A custom ElevenLab's agent will answer the call and assist the caller based on the System Prompt and/or Agent knowledge base.

This document is meant to explain all the configuration used to reproduce the agent. You can also use it as a baseline for creating your own.

Content Sources

Build Complete Agent Package

Run the build command to generate all files:

php bin/console app:build-agent

This will:

  1. Generate agent/Keywords.txt from all markdown files in the kb/ folder
  2. Generate agent/pronunciation-dictionary.xml from all markdown files in the kb/ folder
  3. Compile all agent config files and kb files into dist/SystemPrompt.txt
  4. Copy all necessary files to the dist/ folder

Individual Commands

You can also run commands individually:

# Generate keywords from kb folder
php bin/console app:generate-keywords

# Generate pronunciation dictionary from kb folder
php bin/console app:generate-pronunciation-dictionary

# Compile system prompt only
php bin/console app:compile-agent

Output Files

All generated files will be in the dist/ folder:

  • SystemPrompt.txt - Complete system prompt for ElevenLabs
  • Keywords.txt - Extracted keywords from knowledge base
  • Opener.txt - Agent opener message
  • pronunciation-dictionary.xml - Pronunciation guide for ElevenLabs

File Structure

partyline-defcon33/
├── README.md
├── composer.json
├── composer.lock
├── .gitignore
├── bin/
│   └── console
├── config/
│   ├── bundles.php
│   └── services.php
├── src/
│   ├── Command/
│   │   ├── BuildAgentCommand.php
│   │   ├── CompileAgentCommand.php
│   │   ├── GenerateKeywordsCommand.php
│   │   └── GeneratePronunciationDictionaryCommand.php
│   └── Kernel.php
├── agent/
│   ├── System.md
│   ├── Opener.md
│   ├── Keywords.txt
│   ├── Settings.md
│   ├── pronunciation-dictionary.xml
│   ├── Personality.md
│   ├── Environment.md
│   ├── Tone.md
│   ├── Goal.md
│   ├── Guardrails.md
│   └── Tools.md
└── kb/
    ├── Events.md
    ├── Meetups.md
    └── Parties.md
└── dist/
    ├── SystemPrompt.txt
    ├── Keywords.txt
    ├── Opener.txt
    └── pronunciation-dictionary.xml

File Explanation

Source Files:

  • README.md - Detailed project information (this file)
  • agent/Settings.md - The specific settings used for the Agent within ElevenLabs
  • agent/Opener.md - The first message the agent will say
  • agent/System.md - The base system prompt detailing how the Agent should act
  • agent/Keywords.txt - A set of keywords to help identify things people might say
  • agent/pronunciation-dictionary.xml - Pronunciation aliases for technical terms and acronyms (W3C PLS format)

Agent Configuration Files:

  • agent/Personality.md - Defines agent identity, traits, role, and background
  • agent/Environment.md - Specifies communication context, channel, and situational factors
  • agent/Tone.md - Controls linguistic style, speech patterns, and conversational elements
  • agent/Goal.md - Establishes objectives that guide conversations toward meaningful outcomes
  • agent/Guardrails.md - Sets boundaries ensuring interactions remain appropriate and ethical
  • agent/Tools.md - Defines external capabilities the agent can access beyond conversation

Knowledge Base Files:

  • kb/Events.md - A list of all the events the Agent should be aware of
  • kb/Meetups.md - A list of all the meetups the Agent should be aware of
  • kb/Parties.md - A list of all the parties the Agent should be aware of

Generated Files:

  • dist/SystemPrompt.txt - Complete compiled system prompt for ElevenLabs (generated by command)
  • dist/Keywords.txt - Extracted keywords from knowledge base (generated by command)
  • dist/Opener.txt - Agent opener message (copied from agent folder)
  • dist/pronunciation-dictionary.xml - Pronunciation guide for ElevenLabs (generated by command)

Project Files:

  • composer.json - Used to install PHP libraries
  • composer.lock - Used by composer when installing PHP libraries
  • src/Command/BuildAgentCommand.php - Master command to build complete agent package
  • src/Command/CompileAgentCommand.php - Used to compile system prompt
  • src/Command/GenerateKeywordsCommand.php - Used to generate keywords from kb folder
  • src/Command/GeneratePronunciationDictionaryCommand.php - Used to generate pronunciation dictionary from kb folder
  • src/Kernel.php - App kernel
  • config/bundles.php - App bundles
  • config/services.php - App configuration
  • bin/console - App console host
  • .gitignore - Used for version control

About

The Party Line @ DEF CON 33

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages