From 5856edfb295bc3d4348398912da66824986dda09 Mon Sep 17 00:00:00 2001 From: Gregory Sinnott Date: Sat, 14 Oct 2023 04:33:34 -0600 Subject: User inputs and call criteria changes --- tools/vocode.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'tools/vocode.py') diff --git a/tools/vocode.py b/tools/vocode.py index f752eff..d50c8a3 100644 --- a/tools/vocode.py +++ b/tools/vocode.py @@ -1,12 +1,15 @@ import logging -import asyncio +import asyncio import os from langchain.agents import tool from dotenv import load_dotenv from vocode.streaming.models.message import BaseMessage from vocode.streaming.models.synthesizer import ElevenLabsSynthesizerConfig -from vocode.streaming.models.transcriber import DeepgramTranscriberConfig, PunctuationEndpointingConfig +from vocode.streaming.models.transcriber import ( + DeepgramTranscriberConfig, + PunctuationEndpointingConfig, +) load_dotenv() @@ -23,9 +26,11 @@ import time LOOP = asyncio.new_event_loop() asyncio.set_event_loop(LOOP) + @tool("call phone number") def call_phone_number(input: str) -> str: - """calls a phone number as a bot and returns a transcript of the conversation. + """Use when you need to make a phone call. Calls a phone number as a bot and returns a transcript of the conversation. + the input to this tool is a pipe separated list of a phone number, a prompt, and the first thing the bot should say. The prompt should instruct the bot with what to do on the call and be in the 3rd person, like 'the assistant is performing this task' instead of 'perform this task'. @@ -34,11 +39,11 @@ def call_phone_number(input: str) -> str: for example, `+15555555555|the assistant is explaining the meaning of life|i'm going to tell you the meaning of life` will call +15555555555, say 'i'm going to tell you the meaning of life', and instruct the assistant to tell the human what the meaning of life is. """ - phone_number, prompt, initial_message = input.split("|",2) + phone_number, prompt, initial_message = input.split("|", 2) call = OutboundCall( base_url=os.environ["BASE_URL"], to_phone=phone_number, - from_phone=os.environ['TWILIO_PHONE'], + from_phone=os.environ["TWILIO_PHONE"], config_manager=RedisConfigManager(), agent_config=ChatGPTAgentConfig( initial_message=BaseMessage(text=initial_message), @@ -47,12 +52,12 @@ def call_phone_number(input: str) -> str: ), synthesizer_config=ElevenLabsSynthesizerConfig.from_telephone_output_device( api_key=os.getenv("ELEVENLABS_API_KEY"), - voice_id=os.getenv("ELEVENLABS_VOICE_ID") + voice_id=os.getenv("ELEVENLABS_VOICE_ID"), ), transcriber_config=DeepgramTranscriberConfig.from_telephone_input_device( endpointing_config=PunctuationEndpointingConfig() ), - logger=logging.Logger("OutboundCall") + logger=logging.Logger("OutboundCall"), ) LOOP.run_until_complete(call.start()) while True: @@ -61,4 +66,4 @@ def call_phone_number(input: str) -> str: delete_transcript(call.conversation_id) return maybe_transcript else: - time.sleep(1) \ No newline at end of file + time.sleep(1) -- cgit v1.2.3