From b85072637ff173569a0dac62f3d5cd34ffff0d0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 10 Dec 2024 09:53:58 -0800 Subject: [PATCH] examples(26-simli-layer): use room returned by configure() --- .../{25-simli-layer.py => 26-simli-layer.py} | 55 +++++-------------- 1 file changed, 14 insertions(+), 41 deletions(-) rename examples/foundational/{25-simli-layer.py => 26-simli-layer.py} (64%) diff --git a/examples/foundational/25-simli-layer.py b/examples/foundational/26-simli-layer.py similarity index 64% rename from examples/foundational/25-simli-layer.py rename to examples/foundational/26-simli-layer.py index 15b62047f..55e6de2b7 100644 --- a/examples/foundational/25-simli-layer.py +++ b/examples/foundational/26-simli-layer.py @@ -1,3 +1,9 @@ +# +# Copyright (c) 2024, Daily +# +# SPDX-License-Identifier: BSD 2-Clause License +# + import asyncio import aiohttp import os @@ -10,13 +16,10 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat.frames.frames import LLMMessagesFrame from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext -from pipecat.services.ai_services import AIService from pipecat.services.cartesia import CartesiaTTSService -from pipecat.services.elevenlabs import ElevenLabsTTSService from pipecat.services.openai import OpenAILLMService from pipecat.transports.services.daily import DailyParams, DailyTransport -from pipecat.transports.services.helpers.daily_rest import DailyRESTHelper, DailyRoomParams from runner import configure from loguru import logger from dotenv import load_dotenv @@ -32,23 +35,11 @@ logger.add(sys.stderr, level="DEBUG") async def main(): async with aiohttp.ClientSession() as session: - _, token = await configure(session) - print("Creating room") - aiohttp_session = aiohttp.ClientSession() - daily_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=aiohttp_session, - ) - room = await daily_helper.create_room(DailyRoomParams()) - expiry_time: float = 60 * 60 - - token = await daily_helper.get_token(room.url, expiry_time) - print("Room created ", room.url) + room, token = await configure(session) transport = DailyTransport( - room.url, + room, token, - "Chatbot", + "Simli", DailyParams( audio_out_enabled=True, camera_out_enabled=True, @@ -57,45 +48,27 @@ async def main(): vad_enabled=True, vad_analyzer=SileroVADAnalyzer(), transcription_enabled=True, - # - # Spanish - # - # transcription_settings=DailyTranscriptionSettings( - # language="es", - # tier="nova", - # model="2-general" - # ) ), ) - # tts = ElevenLabsTTSService( - # api_key=os.getenv("ELEVENLABS_API_KEY"), - # voice_id="pNInz6obpgDQGcFmaJgB", - # ) - tts = CartesiaTTSService( api_key=os.getenv("CARTESIA_API_KEY"), voice_id="a167e0f3-df7e-4d52-a9c3-f949145efdab", ) + simli_ai = SimliVideoService( + SimliConfig(os.getenv("SIMLI_API_KEY"), os.getenv("SIMLI_FACE_ID")) + ) + llm = OpenAILLMService(api_key=os.getenv("OPENAI_API_KEY"), model="gpt-4o-mini") messages = [ { "role": "system", - # - # English - # "content": "You are a helpful LLM in a WebRTC call. Your goal is to demonstrate your capabilities in a succinct way. Your output will be converted to audio so don't include special characters in your answers. Respond to what the user said in a creative and helpful way.", - # - # Spanish - # - # "content": "Eres Chatbot, un amigable y útil robot. Tu objetivo es demostrar tus capacidades de una manera breve. Tus respuestas se convertiran a audio así que nunca no debes incluir caracteres especiales. Contesta a lo que el usuario pregunte de una manera creativa, útil y breve. Empieza por presentarte a ti mismo.", }, ] - simli_ai = SimliVideoService( - SimliConfig(os.getenv("SIMLI_API_KEY"), os.getenv("SIMLI_FACE_ID")) - ) + context = OpenAILLMContext(messages) context_aggregator = llm.create_context_aggregator(context)