import requests import sys import time # 定义SSE客户端函数,使用GET方法通过query参数调用SSE接口 # 参数:用户名、用户ID、用户消息 # 会逐步打印SSE返回的内容,实现打字机效果 def sse_client(username, user_id, user_message): url = "http://127.0.0.1:8000/agents/stream" # SSE接口地址 params = { "username": username, "user_id": user_id, "user_message": user_message } # 以GET方式发送参数,stream=True用于流式接收响应 with requests.get(url, params=params, stream=True) as resp: print("Agent:", end='', flush=True) for line in resp.iter_lines(decode_unicode=True): if line.startswith('data: '): content = line[6:] print(content, end='', flush=True) # 打字机效果输出 time.sleep(0.1) elif line == '': continue if __name__ == "__main__": print("开始信息收集对话...\n") # 这里直接使用固定用户名和用户ID,如需动态输入可自行修改 username = "test_user" user_id = "10001" while True: # 用户输入消息,前缀显示用户名 user_message = input(f"{username}:") if user_message.strip().lower() in ["exit", "退出"]: print("对话结束。") break sse_client(username, user_id, user_message) print() # 换行,便于阅读