chore: import upstream snapshot with attribution
K8s Workspace Integration Tests / k8s-workspace-tests (push) Has been cancelled
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Web UI / check (push) Has been cancelled
K8s Workspace Integration Tests / k8s-workspace-tests (push) Has been cancelled
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Web UI / check (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Example of DashScope model calls with MultiAgentFormatter and image input.
|
||||
|
||||
Demonstrates combining DashScopeMultiAgentFormatter with multimodal (vision)
|
||||
content: Alice shares an image in a multi-agent conversation, and the model
|
||||
is asked to summarize what everyone is looking at.
|
||||
"""
|
||||
import asyncio
|
||||
import os
|
||||
|
||||
from _utils import stream_and_collect
|
||||
from agentscope.formatter import DashScopeMultiAgentFormatter
|
||||
from agentscope.message import Msg, TextBlock, DataBlock, URLSource
|
||||
from agentscope.model import DashScopeChatModel
|
||||
from agentscope.credential import DashScopeCredential
|
||||
|
||||
TEST_IMAGE_URL = (
|
||||
"https://help-static-aliyun-doc.aliyuncs.com/file-manage"
|
||||
"-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
|
||||
)
|
||||
|
||||
|
||||
async def example_multiagent_image_url() -> None:
|
||||
"""Multi-agent conversation where Alice shares an image for the group."""
|
||||
formatter = DashScopeMultiAgentFormatter()
|
||||
|
||||
model = DashScopeChatModel(
|
||||
credential=DashScopeCredential(
|
||||
api_key=os.environ["DASHSCOPE_API_KEY"],
|
||||
),
|
||||
model="qwen3.5-plus",
|
||||
stream=True,
|
||||
context_size=1_000_000,
|
||||
parameters=DashScopeChatModel.Parameters(thinking_enable=True),
|
||||
formatter=formatter,
|
||||
)
|
||||
|
||||
image_block = DataBlock(
|
||||
source=URLSource(url=TEST_IMAGE_URL, media_type="image/jpeg"),
|
||||
)
|
||||
|
||||
msgs = [
|
||||
Msg(
|
||||
name="system",
|
||||
content=[
|
||||
TextBlock(
|
||||
text=(
|
||||
"You are a helpful moderator in a group chat. "
|
||||
"Summarize what the image shows and what the "
|
||||
"participants said."
|
||||
),
|
||||
),
|
||||
],
|
||||
role="system",
|
||||
),
|
||||
Msg(
|
||||
name="alice",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="Hey everyone, look at this cute photo I took!",
|
||||
),
|
||||
image_block,
|
||||
],
|
||||
role="user",
|
||||
),
|
||||
Msg(
|
||||
name="bob",
|
||||
content=[
|
||||
TextBlock(text="Aww, that's adorable! Where was this taken?"),
|
||||
],
|
||||
role="assistant",
|
||||
),
|
||||
Msg(
|
||||
name="alice",
|
||||
content=[TextBlock(text="At the local park yesterday.")],
|
||||
role="user",
|
||||
),
|
||||
Msg(
|
||||
name="moderator",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="Please summarize the image content and the "
|
||||
"conversation in one paragraph.",
|
||||
),
|
||||
],
|
||||
role="user",
|
||||
),
|
||||
]
|
||||
|
||||
print("=== Multi-Agent + Multimodal Call ===")
|
||||
await stream_and_collect(await model(msgs))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(example_multiagent_image_url())
|
||||
Reference in New Issue
Block a user