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,101 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""Example of DashScope model calls with DashScopeMultiAgentFormatter.
|
||||
|
||||
The multi-agent formatter wraps prior conversation history in
|
||||
<history></history> tags, enabling the model to handle multi-agent
|
||||
conversations where more than one non-user agent is involved.
|
||||
"""
|
||||
import asyncio
|
||||
import os
|
||||
|
||||
from _utils import stream_and_collect
|
||||
from agentscope.formatter import DashScopeMultiAgentFormatter
|
||||
from agentscope.message import Msg, TextBlock
|
||||
from agentscope.model import DashScopeChatModel
|
||||
from agentscope.credential import DashScopeCredential
|
||||
|
||||
|
||||
async def example_multiagent() -> None:
|
||||
"""Simulate a multi-agent conversation and let qwen3.5-plus summarize it.
|
||||
|
||||
Alice and Bob discuss the weather, then a moderator (the model) is asked
|
||||
to summarize the conversation.
|
||||
"""
|
||||
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,
|
||||
)
|
||||
|
||||
# Multi-agent conversation history between Alice and Bob
|
||||
msgs = [
|
||||
Msg(
|
||||
name="system",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="You are a helpful moderator. Summarize the "
|
||||
"conversation.",
|
||||
),
|
||||
],
|
||||
role="system",
|
||||
),
|
||||
Msg(
|
||||
name="alice",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="Hi Bob! What do you think about the weather today?",
|
||||
),
|
||||
],
|
||||
role="user",
|
||||
),
|
||||
Msg(
|
||||
name="bob",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="It's quite sunny and warm, Alice. Perfect for a "
|
||||
"walk!",
|
||||
),
|
||||
],
|
||||
role="assistant",
|
||||
),
|
||||
Msg(
|
||||
name="alice",
|
||||
content=[
|
||||
TextBlock(text="Agreed! I might head to the park later."),
|
||||
],
|
||||
role="user",
|
||||
),
|
||||
Msg(
|
||||
name="bob",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="Great idea. I'll join you if I finish work early.",
|
||||
),
|
||||
],
|
||||
role="assistant",
|
||||
),
|
||||
Msg(
|
||||
name="moderator",
|
||||
content=[
|
||||
TextBlock(
|
||||
text="Please summarize the conversation above in one "
|
||||
"sentence.",
|
||||
),
|
||||
],
|
||||
role="user",
|
||||
),
|
||||
]
|
||||
|
||||
print("=== Multi-Agent Formatter Call ===")
|
||||
await stream_and_collect(await model(msgs))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(example_multiagent())
|
||||
Reference in New Issue
Block a user