55 lines
1.8 KiB
Python
55 lines
1.8 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,
|
|
PunctuationEndpointingConfig,
|
|
GoogleTranscriberConfig,
|
|
)
|
|
from vocode.models.agent import (
|
|
ChatGPTAgentConfig,
|
|
RESTfulUserImplementedAgentConfig,
|
|
WebSocketUserImplementedAgentConfig,
|
|
EchoAgentConfig,
|
|
ChatGPTAlphaAgentConfig,
|
|
LLMAgentConfig,
|
|
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, endpointing_config=PunctuationEndpointingConfig()
|
|
),
|
|
# agent_config=WebSocketUserImplementedAgentConfig(
|
|
# initial_message="Hello!",
|
|
# respond=WebSocketUserImplementedAgentConfig.RouteConfig(
|
|
# url="wss://8b7425d5b2ab.ngrok.io/respond",
|
|
# )
|
|
# ),
|
|
# id="ajay",
|
|
agent_config=ChatGPTAgentConfig(
|
|
initial_message="goodbye",
|
|
prompt_preamble="you are an expert on the NBA",
|
|
generate_responses=True,
|
|
end_conversation_on_goodbye=True,
|
|
),
|
|
synthesizer_config=AzureSynthesizerConfig.from_output_device(speaker_output),
|
|
)
|
|
signal.signal(signal.SIGINT, lambda _0, _1: conversation.deactivate())
|
|
asyncio.run(conversation.start())
|