Compare commits
2 Commits
hush/realt
...
hush/recor
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
50e9ef11e5 | ||
|
|
2cd8ff3848 |
@@ -21,6 +21,11 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
|||||||
from pipecat.services.cartesia import CartesiaTTSService
|
from pipecat.services.cartesia import CartesiaTTSService
|
||||||
from pipecat.services.openai import OpenAILLMService
|
from pipecat.services.openai import OpenAILLMService
|
||||||
from pipecat.transports.services.daily import DailyParams, DailyTransport
|
from pipecat.transports.services.daily import DailyParams, DailyTransport
|
||||||
|
from pipecat.transports.services.helpers.daily_rest import (
|
||||||
|
DailyMeetingTokenParams,
|
||||||
|
DailyRESTHelper,
|
||||||
|
DailyRoomParams,
|
||||||
|
)
|
||||||
|
|
||||||
load_dotenv(override=True)
|
load_dotenv(override=True)
|
||||||
|
|
||||||
@@ -30,10 +35,31 @@ logger.add(sys.stderr, level="DEBUG")
|
|||||||
|
|
||||||
async def main():
|
async def main():
|
||||||
async with aiohttp.ClientSession() as session:
|
async with aiohttp.ClientSession() as session:
|
||||||
(room_url, token) = await configure(session)
|
daily_rest_helper = DailyRESTHelper(
|
||||||
|
daily_api_key=os.getenv("DAILY_API_KEY"),
|
||||||
|
daily_api_url=os.getenv("DAILY_API_URL", "https://api.daily.co/v1"),
|
||||||
|
aiohttp_session=session,
|
||||||
|
)
|
||||||
|
|
||||||
|
room = await daily_rest_helper.create_room(
|
||||||
|
params=DailyRoomParams(properties={"enable_recording": "cloud"})
|
||||||
|
)
|
||||||
|
|
||||||
|
params = DailyMeetingTokenParams(
|
||||||
|
properties={
|
||||||
|
"enable_recording": "cloud",
|
||||||
|
"start_cloud_recording": True,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
token = await daily_rest_helper.get_token(
|
||||||
|
room_url=room.url, expiry_time=60 * 60, params=params
|
||||||
|
)
|
||||||
|
|
||||||
|
logger.debug(f"Room URL: {room.url} Room token: {token}")
|
||||||
|
|
||||||
transport = DailyTransport(
|
transport = DailyTransport(
|
||||||
room_url,
|
room.url,
|
||||||
token,
|
token,
|
||||||
"Respond bot",
|
"Respond bot",
|
||||||
DailyParams(
|
DailyParams(
|
||||||
@@ -85,6 +111,7 @@ async def main():
|
|||||||
@transport.event_handler("on_first_participant_joined")
|
@transport.event_handler("on_first_participant_joined")
|
||||||
async def on_first_participant_joined(transport, participant):
|
async def on_first_participant_joined(transport, participant):
|
||||||
await transport.capture_participant_transcription(participant["id"])
|
await transport.capture_participant_transcription(participant["id"])
|
||||||
|
# await transport.start_recording()
|
||||||
# Kick off the conversation.
|
# Kick off the conversation.
|
||||||
messages.append({"role": "system", "content": "Please introduce yourself to the user."})
|
messages.append({"role": "system", "content": "Please introduce yourself to the user."})
|
||||||
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
||||||
|
|||||||
Reference in New Issue
Block a user