checkpoint

This commit is contained in:
Ajay Raj 2023-03-13 00:11:57 -07:00
commit 620db3d640
3 changed files with 36 additions and 5 deletions

View file

@ -19,6 +19,7 @@ from vocode.models.transcriber import (
)
from vocode.models.agent import (
ChatGPTAgentConfig,
FillerAudioConfig,
RESTfulUserImplementedAgentConfig,
WebSocketUserImplementedAgentConfig,
EchoAgentConfig,
@ -43,12 +44,14 @@ if __name__ == "__main__":
input_device=microphone_input,
output_device=speaker_output,
transcriber_config=DeepgramTranscriberConfig.from_input_device(
microphone_input, endpointing_config=PunctuationEndpointingConfig()
microphone_input
),
agent_config=ChatGPTAgentConfig(
initial_message=BaseMessage(text="Hello!"),
prompt_preamble="The AI is having a pleasant conversation about life.",
generate_responses=True,
generate_responses=False,
end_conversation_on_goodbye=True,
send_filler_audio=FillerAudioConfig(use_typing_noise=True),
),
synthesizer_config=AzureSynthesizerConfig.from_output_device(speaker_output),
)

View file

@ -1,8 +1,15 @@
from vocode.models.synthesizer import AzureSynthesizerConfig
from vocode.output_device.telephone_output import TelephoneOutput
from vocode.telephony.outbound_call import OutboundCall
from vocode.models.telephony import CallEntity
from vocode.models.agent import EchoAgentConfig, WebSocketUserImplementedAgentConfig
from vocode.models.agent import (
EchoAgentConfig,
ChatGPTAgentConfig,
WebSocketUserImplementedAgentConfig,
)
from vocode.models.message import BaseMessage
if __name__ == '__main__':
if __name__ == "__main__":
call = OutboundCall(
recipient=CallEntity(
phone_number="+11234567890",
@ -10,6 +17,15 @@ if __name__ == '__main__':
caller=CallEntity(
phone_number="+11234567890",
),
agent_config=EchoAgentConfig(initial_message="Hello!")
agent_config=ChatGPTAgentConfig(
initial_message=BaseMessage(text="the quick fox jumped over the lazy dog "),
prompt_preamble="respond two sentences at a time",
generate_responses=True,
end_conversation_on_goodbye=True,
send_filler_audio=True,
),
synthesizer_config=AzureSynthesizerConfig.from_output_device(
output_device=TelephoneOutput(), voice_name="en-US-JennyNeural"
),
)
call.start()

View file

@ -1,6 +1,8 @@
from typing import Optional, Union
from enum import Enum
from pydantic import validator
from vocode.models.message import BaseMessage
from .model import TypedModel, BaseModel
@ -23,6 +25,16 @@ class AgentType(str, Enum):
class FillerAudioConfig(BaseModel):
silence_threshold_seconds: float = FILLER_AUDIO_DEFAULT_SILENCE_THRESHOLD_SECONDS
use_phrases: bool = True
use_typing_noise: bool = False
@validator("use_typing_noise")
def typing_noise_excludes_phrases(cls, v, values):
if v and values.get("use_phrases"):
values["use_phrases"] = False
if not v and not values.get("use_phrases"):
raise ValueError("must use either typing noise or phrases for filler audio")
return v
class AgentConfig(TypedModel, type=AgentType.BASE):