Progress on LLM failover support
This commit is contained in:
@@ -36,6 +36,7 @@ from pipecat.frames.frames import (
|
|||||||
FunctionCallsStartedFrame,
|
FunctionCallsStartedFrame,
|
||||||
InputAudioRawFrame,
|
InputAudioRawFrame,
|
||||||
InterimTranscriptionFrame,
|
InterimTranscriptionFrame,
|
||||||
|
LLMContextAssistantTimestampFrame,
|
||||||
LLMFullResponseEndFrame,
|
LLMFullResponseEndFrame,
|
||||||
LLMFullResponseStartFrame,
|
LLMFullResponseStartFrame,
|
||||||
LLMMessagesAppendFrame,
|
LLMMessagesAppendFrame,
|
||||||
@@ -44,7 +45,6 @@ from pipecat.frames.frames import (
|
|||||||
LLMSetToolChoiceFrame,
|
LLMSetToolChoiceFrame,
|
||||||
LLMSetToolsFrame,
|
LLMSetToolsFrame,
|
||||||
LLMTextFrame,
|
LLMTextFrame,
|
||||||
OpenAILLMContextAssistantTimestampFrame,
|
|
||||||
SpeechControlParamsFrame,
|
SpeechControlParamsFrame,
|
||||||
StartFrame,
|
StartFrame,
|
||||||
StartInterruptionFrame,
|
StartInterruptionFrame,
|
||||||
@@ -864,7 +864,7 @@ class LLMAssistantContextAggregator(LLMContextResponseAggregator):
|
|||||||
await self.push_context_frame()
|
await self.push_context_frame()
|
||||||
|
|
||||||
# Push timestamp frame with current time
|
# Push timestamp frame with current time
|
||||||
timestamp_frame = OpenAILLMContextAssistantTimestampFrame(timestamp=time_now_iso8601())
|
timestamp_frame = LLMContextAssistantTimestampFrame(timestamp=time_now_iso8601())
|
||||||
await self.push_frame(timestamp_frame)
|
await self.push_frame(timestamp_frame)
|
||||||
|
|
||||||
async def _handle_llm_messages_append(self, frame: LLMMessagesAppendFrame):
|
async def _handle_llm_messages_append(self, frame: LLMMessagesAppendFrame):
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ from pipecat.frames.frames import (
|
|||||||
FunctionCallResultFrame,
|
FunctionCallResultFrame,
|
||||||
FunctionCallResultProperties,
|
FunctionCallResultProperties,
|
||||||
InterimTranscriptionFrame,
|
InterimTranscriptionFrame,
|
||||||
|
LLMContextAssistantTimestampFrame,
|
||||||
LLMFullResponseEndFrame,
|
LLMFullResponseEndFrame,
|
||||||
LLMFullResponseStartFrame,
|
LLMFullResponseStartFrame,
|
||||||
OpenAILLMContextAssistantTimestampFrame,
|
|
||||||
SpeechControlParamsFrame,
|
SpeechControlParamsFrame,
|
||||||
StartInterruptionFrame,
|
StartInterruptionFrame,
|
||||||
TextFrame,
|
TextFrame,
|
||||||
@@ -738,7 +738,7 @@ class TestAnthropicAssistantContextAggregator(
|
|||||||
):
|
):
|
||||||
CONTEXT_CLASS = AnthropicLLMContext
|
CONTEXT_CLASS = AnthropicLLMContext
|
||||||
AGGREGATOR_CLASS = AnthropicAssistantContextAggregator
|
AGGREGATOR_CLASS = AnthropicAssistantContextAggregator
|
||||||
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, OpenAILLMContextAssistantTimestampFrame]
|
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, LLMContextAssistantTimestampFrame]
|
||||||
|
|
||||||
def check_message_multi_content(
|
def check_message_multi_content(
|
||||||
self, context: OpenAILLMContext, content_index: int, index: int, content: str
|
self, context: OpenAILLMContext, content_index: int, index: int, content: str
|
||||||
@@ -773,7 +773,7 @@ class TestAWSBedrockAssistantContextAggregator(
|
|||||||
):
|
):
|
||||||
CONTEXT_CLASS = AWSBedrockLLMContext
|
CONTEXT_CLASS = AWSBedrockLLMContext
|
||||||
AGGREGATOR_CLASS = AWSBedrockAssistantContextAggregator
|
AGGREGATOR_CLASS = AWSBedrockAssistantContextAggregator
|
||||||
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, OpenAILLMContextAssistantTimestampFrame]
|
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, LLMContextAssistantTimestampFrame]
|
||||||
|
|
||||||
def check_message_multi_content(
|
def check_message_multi_content(
|
||||||
self, context: OpenAILLMContext, content_index: int, index: int, content: str
|
self, context: OpenAILLMContext, content_index: int, index: int, content: str
|
||||||
@@ -814,7 +814,7 @@ class TestGoogleAssistantContextAggregator(
|
|||||||
):
|
):
|
||||||
CONTEXT_CLASS = GoogleLLMContext
|
CONTEXT_CLASS = GoogleLLMContext
|
||||||
AGGREGATOR_CLASS = GoogleAssistantContextAggregator
|
AGGREGATOR_CLASS = GoogleAssistantContextAggregator
|
||||||
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, OpenAILLMContextAssistantTimestampFrame]
|
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, LLMContextAssistantTimestampFrame]
|
||||||
|
|
||||||
def check_message_content(self, context: OpenAILLMContext, index: int, content: str):
|
def check_message_content(self, context: OpenAILLMContext, index: int, content: str):
|
||||||
obj = context.messages[index].to_json_dict()
|
obj = context.messages[index].to_json_dict()
|
||||||
@@ -848,4 +848,4 @@ class TestOpenAIAssistantContextAggregator(
|
|||||||
):
|
):
|
||||||
CONTEXT_CLASS = OpenAILLMContext
|
CONTEXT_CLASS = OpenAILLMContext
|
||||||
AGGREGATOR_CLASS = OpenAIAssistantContextAggregator
|
AGGREGATOR_CLASS = OpenAIAssistantContextAggregator
|
||||||
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, OpenAILLMContextAssistantTimestampFrame]
|
EXPECTED_CONTEXT_FRAMES = [OpenAILLMContextFrame, LLMContextAssistantTimestampFrame]
|
||||||
|
|||||||
Reference in New Issue
Block a user