MoondreamService: yield vision response and text frames
This commit is contained in:
2
changelog/3252.changed.md
Normal file
2
changelog/3252.changed.md
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
- `MoondreamService` now pushes `VisionFullResponseStartFrame`,
|
||||||
|
`VisionFullResponseEndFrame` and `VisionTextFrame`.
|
||||||
@@ -19,8 +19,10 @@ from PIL import Image
|
|||||||
from pipecat.frames.frames import (
|
from pipecat.frames.frames import (
|
||||||
ErrorFrame,
|
ErrorFrame,
|
||||||
Frame,
|
Frame,
|
||||||
TextFrame,
|
|
||||||
UserImageRawFrame,
|
UserImageRawFrame,
|
||||||
|
VisionFullResponseEndFrame,
|
||||||
|
VisionFullResponseStartFrame,
|
||||||
|
VisionTextFrame,
|
||||||
)
|
)
|
||||||
from pipecat.services.vision_service import VisionService
|
from pipecat.services.vision_service import VisionService
|
||||||
|
|
||||||
@@ -104,10 +106,6 @@ class MoondreamService(VisionService):
|
|||||||
|
|
||||||
Args:
|
Args:
|
||||||
frame: The image frame to process.
|
frame: The image frame to process.
|
||||||
|
|
||||||
Yields:
|
|
||||||
Frame: TextFrame containing the generated image description, or ErrorFrame
|
|
||||||
if analysis fails.
|
|
||||||
"""
|
"""
|
||||||
if not self._model:
|
if not self._model:
|
||||||
yield ErrorFrame("Moondream model not available")
|
yield ErrorFrame("Moondream model not available")
|
||||||
@@ -123,4 +121,6 @@ class MoondreamService(VisionService):
|
|||||||
|
|
||||||
description = await asyncio.to_thread(get_image_description, frame.image, frame.text)
|
description = await asyncio.to_thread(get_image_description, frame.image, frame.text)
|
||||||
|
|
||||||
yield TextFrame(text=description)
|
yield VisionFullResponseStartFrame()
|
||||||
|
yield VisionTextFrame(text=description)
|
||||||
|
yield VisionFullResponseEndFrame()
|
||||||
|
|||||||
Reference in New Issue
Block a user