-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathrun_agent.py
More file actions
72 lines (53 loc) · 2.25 KB
/
run_agent.py
File metadata and controls
72 lines (53 loc) · 2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Tencent is pleased to support the open source community by making tRPC-Agent-Python available.
#
# Copyright (C) 2026 Tencent. All rights reserved.
#
# tRPC-Agent-Python is licensed under Apache-2.0.
import asyncio
import uuid
from dotenv import load_dotenv
from trpc_agent_sdk.runners import Runner
from trpc_agent_sdk.sessions import InMemorySessionService
from trpc_agent_sdk.types import Content
from trpc_agent_sdk.types import Part
load_dotenv()
async def run_parallel_agent():
"""Run the Parallel Agent Demo"""
APP_NAME = "parallel_agent_demo"
USER_ID = "demo_user"
print("=" * 40)
print("Parallel Agent Demo - Parallel Review")
print("=" * 40)
from agent.agent import root_agent
session_service = InMemorySessionService()
runner = Runner(app_name=APP_NAME, agent=root_agent, session_service=session_service)
test_content = """
AI Smart Home System - Our system collects user data including personal
preferences and usage patterns. Data is stored in cloud servers with
basic encryption. Users can access the system through mobile apps.
"""
print("Review Content:")
print(test_content.strip())
print("\nParallel Reviewing:")
user_message = Content(parts=[Part.from_text(text=test_content)])
session_id = str(uuid.uuid4())
async for event in runner.run_async(user_id=USER_ID, session_id=session_id, new_message=user_message):
if event.content and event.content.parts and event.author != "user":
if not event.partial:
for part in event.content.parts:
if part.text:
print(f"[{event.author}] Finished")
# Get the Parallel Review Results
session = await session_service.get_session(app_name=APP_NAME, user_id=USER_ID, session_id=session_id)
print("\nReview Result:")
print("-" * 30)
# Display the review results of each Agent
if session and session.state:
if "quality_review" in session.state:
print("\n[Quality Review]")
print(session.state["quality_review"])
if "security_review" in session.state:
print("\n[Security Review]")
print(session.state["security_review"])
if __name__ == "__main__":
asyncio.run(run_parallel_agent())