Add new GPT-4o transcription option to OpenAIRealtimeBetaLLMService
This commit is contained in:
@@ -21,7 +21,7 @@ from pipecat.pipeline.runner import PipelineRunner
|
|||||||
from pipecat.pipeline.task import PipelineParams, PipelineTask
|
from pipecat.pipeline.task import PipelineParams, PipelineTask
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai_realtime_beta import (
|
from pipecat.services.openai_realtime_beta import (
|
||||||
InputAudioTranscription,
|
InputAudioTranscriptionModels,
|
||||||
OpenAIRealtimeBetaLLMService,
|
OpenAIRealtimeBetaLLMService,
|
||||||
SessionProperties,
|
SessionProperties,
|
||||||
TurnDetection,
|
TurnDetection,
|
||||||
@@ -89,7 +89,7 @@ async def main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
session_properties = SessionProperties(
|
session_properties = SessionProperties(
|
||||||
input_audio_transcription=InputAudioTranscription(),
|
input_audio_transcription=InputAudioTranscriptionModels.Whisper1(),
|
||||||
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
||||||
# on by default
|
# on by default
|
||||||
turn_detection=TurnDetection(silence_duration_ms=1000),
|
turn_detection=TurnDetection(silence_duration_ms=1000),
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask
|
|||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai_realtime_beta import (
|
from pipecat.services.openai_realtime_beta import (
|
||||||
AzureRealtimeBetaLLMService,
|
AzureRealtimeBetaLLMService,
|
||||||
InputAudioTranscription,
|
InputAudioTranscriptionModels,
|
||||||
SessionProperties,
|
SessionProperties,
|
||||||
TurnDetection,
|
TurnDetection,
|
||||||
)
|
)
|
||||||
@@ -90,7 +90,7 @@ async def main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
session_properties = SessionProperties(
|
session_properties = SessionProperties(
|
||||||
input_audio_transcription=InputAudioTranscription(),
|
input_audio_transcription=InputAudioTranscriptionModels.Whisper1(),
|
||||||
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
||||||
# on by default
|
# on by default
|
||||||
# turn_detection=TurnDetection(silence_duration_ms=1000),
|
# turn_detection=TurnDetection(silence_duration_ms=1000),
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ from pipecat.processors.aggregators.openai_llm_context import (
|
|||||||
OpenAILLMContext,
|
OpenAILLMContext,
|
||||||
)
|
)
|
||||||
from pipecat.services.openai_realtime_beta import (
|
from pipecat.services.openai_realtime_beta import (
|
||||||
InputAudioTranscription,
|
InputAudioTranscriptionModels,
|
||||||
OpenAIRealtimeBetaLLMService,
|
OpenAIRealtimeBetaLLMService,
|
||||||
SessionProperties,
|
SessionProperties,
|
||||||
TurnDetection,
|
TurnDetection,
|
||||||
@@ -186,7 +186,7 @@ async def main():
|
|||||||
)
|
)
|
||||||
|
|
||||||
session_properties = SessionProperties(
|
session_properties = SessionProperties(
|
||||||
input_audio_transcription=InputAudioTranscription(),
|
input_audio_transcription=InputAudioTranscriptionModels.Whisper1(),
|
||||||
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
# Set openai TurnDetection parameters. Not setting this at all will turn it
|
||||||
# on by default
|
# on by default
|
||||||
turn_detection=TurnDetection(silence_duration_ms=1000),
|
turn_detection=TurnDetection(silence_duration_ms=1000),
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
from .azure import AzureRealtimeBetaLLMService
|
from .azure import AzureRealtimeBetaLLMService
|
||||||
from .events import InputAudioTranscription, SessionProperties, TurnDetection
|
from .events import InputAudioTranscriptionModels, SessionProperties, TurnDetection
|
||||||
from .openai import OpenAIRealtimeBetaLLMService
|
from .openai import OpenAIRealtimeBetaLLMService
|
||||||
|
|||||||
@@ -16,8 +16,17 @@ from pydantic import BaseModel, Field
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
class InputAudioTranscription(BaseModel):
|
class InputAudioTranscriptionModels:
|
||||||
model: Optional[str] = "whisper-1"
|
class Whisper1(BaseModel):
|
||||||
|
model: Optional[Literal["whisper-1"]] = "whisper-1"
|
||||||
|
|
||||||
|
class GPT4o(BaseModel):
|
||||||
|
model: Optional[Literal["gpt-4o-transcribe-latest"]] = "gpt-4o-transcribe-latest"
|
||||||
|
language: Optional[str] = None
|
||||||
|
prompt: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
InputAudioTranscription = Union[InputAudioTranscriptionModels.Whisper1, InputAudioTranscriptionModels.GPT4o]
|
||||||
|
|
||||||
|
|
||||||
class TurnDetection(BaseModel):
|
class TurnDetection(BaseModel):
|
||||||
|
|||||||
Reference in New Issue
Block a user