69 lines
2.5 KiB
Python
69 lines
2.5 KiB
Python
import logging
|
|
from fastapi import FastAPI
|
|
import os
|
|
from dotenv import load_dotenv
|
|
|
|
load_dotenv()
|
|
|
|
from vocode.streaming.agent.chat_gpt_agent import ChatGPTAgent
|
|
from vocode.streaming.models.agent import ChatGPTAgentConfig
|
|
from vocode.streaming.models.message import BaseMessage
|
|
from vocode.streaming.models.telephony import TwilioConfig
|
|
from vocode.streaming.telephony.config_manager.redis_config_manager import (
|
|
RedisConfigManager,
|
|
)
|
|
from vocode.streaming.telephony.conversation.outbound_call import OutboundCall
|
|
|
|
from vocode.streaming.telephony.server.base import InboundCallConfig, TelephonyServer
|
|
|
|
app = FastAPI(docs_url=None)
|
|
|
|
logging.basicConfig()
|
|
logger = logging.getLogger(__name__)
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
config_manager = RedisConfigManager()
|
|
|
|
BASE_URL = "59b8e140372d.ngrok.app"
|
|
|
|
telephony_server = TelephonyServer(
|
|
base_url=BASE_URL,
|
|
config_manager=config_manager,
|
|
inbound_call_configs=[
|
|
InboundCallConfig(
|
|
url="/inbound_call",
|
|
agent_config=ChatGPTAgentConfig(
|
|
initial_message=BaseMessage(text="What up"),
|
|
prompt_preamble="""You are a helpful gen Z AI assistant. You use slang like um, but, and like a LOT. All of your responses are 10 words or less. Be super chill, use slang like
|
|
hella, down, fire, totally, but like, slay, vibing, queen, go off, bet, sus, simp, cap, big yikes, main character, dank""",
|
|
generate_responses=True,
|
|
),
|
|
twilio_config=TwilioConfig(
|
|
account_sid=os.getenv("TWILIO_ACCOUNT_SID"),
|
|
auth_token=os.getenv("TWILIO_AUTH_TOKEN"),
|
|
),
|
|
)
|
|
],
|
|
logger=logger,
|
|
)
|
|
|
|
app.include_router(telephony_server.get_router())
|
|
|
|
# outbound_call = OutboundCall(
|
|
# base_url=BASE_URL,
|
|
# to_phone="+14088926228",
|
|
# from_phone="+14086600744",
|
|
# config_manager=config_manager,
|
|
# agent_config=ChatGPTAgentConfig(
|
|
# initial_message=BaseMessage(text="What up"),
|
|
# prompt_preamble="""You are a helpful gen Z AI assistant. You use slang like um, but, and like a LOT. All of your responses are 10 words or less. Be super chill, use slang like
|
|
# hella, down, fire, totally, but like, slay, vibing, queen, go off, bet, sus, simp, cap, big yikes, main character, dank""",
|
|
# generate_responses=True,
|
|
# ),
|
|
# twilio_config=TwilioConfig(
|
|
# account_sid=os.getenv("TWILIO_ACCOUNT_SID"),
|
|
# auth_token=os.getenv("TWILIO_AUTH_TOKEN"),
|
|
# ),
|
|
# logger=logger,
|
|
# )
|
|
# outbound_call.start()
|