31 lines
1.4 KiB
Python
31 lines
1.4 KiB
Python
import asyncio
|
|
import logging
|
|
import signal
|
|
|
|
from vocode.conversation import Conversation
|
|
from vocode.helpers import create_microphone_input_and_speaker_output
|
|
from vocode.models.transcriber import DeepgramTranscriberConfig
|
|
from vocode.models.agent import ChatGPTAgentConfig, RESTfulUserImplementedAgentConfig, WebSocketUserImplementedAgentConfig, EchoAgentConfig, ChatGPTAlphaAgentConfig, ChatGPTAgentConfig
|
|
from vocode.models.synthesizer import AzureSynthesizerConfig
|
|
from vocode.user_implemented_agent.restful_agent import RESTfulAgent
|
|
|
|
logging.basicConfig()
|
|
logging.root.setLevel(logging.INFO)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
microphone_input, speaker_output = create_microphone_input_and_speaker_output(use_default_devices=False)
|
|
|
|
conversation = Conversation(
|
|
input_device=microphone_input,
|
|
output_device=speaker_output,
|
|
transcriber_config=DeepgramTranscriberConfig.from_input_device(microphone_input),
|
|
agent_config=ChatGPTAgentConfig(
|
|
initial_message="Hello!",
|
|
prompt_preamble="Vocode is an SDK that allows developers to create voice bots like this one in less than 10 lines of code. The AI is explaining to the human what Vocode is."
|
|
),
|
|
synthesizer_config=AzureSynthesizerConfig.from_output_device(speaker_output)
|
|
)
|
|
signal.signal(signal.SIGINT, lambda _0, _1: conversation.deactivate())
|
|
asyncio.run(conversation.start())
|
|
|