import sys import os parent_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), '..') sys.path.append(parent_dir) from qwen_agent.planning.plan_continue_executor import PlanContinueExecutor from qwen_agent.planning.plan_executor import PlanExecutor from qwen_agent.llm.llm_client import LLMClient, LLMAsyncClient from agent_config import ActionDict, LLMDict, LLMDict_GPT4, LLMDict_GPT4_TURBO, LLMDict_Code, LLMDict_Qwen72, LLMDict_Qwen_72B_1211 import asyncio import json llm_name = 'qwen-plus' # llm_name = 'gpt-4-turbo' max_ref_token = 4000 # workstation_port = int(sys.argv[4]) model_server = 'http://10.10.0.10:7905/v1' # model_server = 'http://127.0.0.1:7901/v1' # llm_client = LLMClient(model=llm_name, model_server=model_server) llm_client = LLMAsyncClient(model=llm_name, model_server=model_server) async def execute_plan(executor, data_raw, message): print(f'-----executor: {type(executor)}') async for rsp in executor.run(data_raw, message): data = json.loads(rsp) if 'system_signal' in data: print(f"-----execute response: {rsp}") clarification_data = '' while clarification_data == '': clarification_data = input('please input clarification data: ').strip() data['clarification_data'] = clarification_data print(f"user clarification data: {data['clarification_data']}") return json.dumps(data, ensure_ascii=False), True return rsp, False async def run(data, message, llm_dict): executor = PlanExecutor( llm_dict=llm_dict, llm=llm_client, stream=True ) while True: print(type(data)) res = await execute_plan(executor, data, message=message) data, continue_run = res if not continue_run: break executor = PlanContinueExecutor( llm_dict=llm_dict, llm=llm_client, stream=True ) # print(f'Final results: {data}') if __name__ == '__main__': # data = '请给我浙江省和万维空间一样招标内容相似的单位' # data = '上海安谱实验科技股份公司近几年中标金额折线图' # data = '浙江万维空间最近的中标情况' # data = '杭州市公安局今年的招标情况如何?' # data = '请给我杭州土地规划中标的一些记录' # data = '三亚经济发展研究所今年的招标情况如何?' # data = '三亚经济发展研究所过去几年的招标情况如何?' # data = '34部队过去一年的招标中,中标单位分布情况如何?' # data = '上海市青浦区徐泾镇政府在什么月份发招标公告最频繁?' # data = '浙江省有哪些企业提供无人机相关的产品或服务' data = '请分析下这两年电缆的中标金额情况' # data = '浙江万维空间去年的中标金额' # data = '重庆市万州区土地开发中心最近的中标金额' # data = '浙江万维空间信息技术有限公司最近一年每个月的中标金额' # data = '浙江万维空间信息技术有限公司最主要的几个甲方有哪些,给我画一个饼状图' # data = '三亚经济发展研究所今年的招标情况如何?' # data = '浙江万维空间过去几年的中标情况如何?' # data = '上海市青浦区徐泾镇人民政府常用的招标代理商有哪些' # data = '上海市青浦区徐泾镇政府在什么月份发招标公告最频繁?' # data = '浙江省采购车辆维修相关项目的单位或者企业有哪些?' # data = '广东省采购车辆维修项目预算最多的单位' # data = '中国旅游部去年从中建五局采购工程施工的金额' # data = '上海市青浦区徐泾镇人民政府今年的招标情况如何?' # data = '万维空间过去几年的中标情况如何?' # data = '34部队过去一年的招标中,中标单位分布情况如何?' # data = '上海市青浦区徐泾镇人民政府常用的招标代理商有哪些' # data = '上海市青浦区徐泾镇政府在什么月份发招标公告最频繁?' # data = '浙江省采购车辆维修相关项目的单位或者企业有哪些?' # data = '广东省采购车辆维修项目预算最多的单位' data = '上海市青浦区徐泾镇人民政府和哪家供应商采购关系最密切' # data = '上海市青浦区徐泾镇人民政府和上海兆孚文化传媒有限公司的一些合作记录发给我' # data = '上海兆孚文化传媒有限公司的中标地理位置分布情况' # data = '请分析下一仁电力设备有限公司的中标地理位置分布情况' # data = '请分析下上海安谱实验科技股份有限公司的中标地域分布情况' # data = '上海安谱实验科技股份有限公司这几年中标金额,画个折线图给我' # data = '请给我万维空间今年最大的几个中标项目' # data = '上海安谱实验科技股份有限公司合作的最好的几个单位' # data = '浙江省有哪些企业提供污水处理相关的产品或服务' #plan有问题(Instruction:你需要从招标相关表中,查询得到浙江省招标“污水处理”次数较多的一些企业),应该查中标 # data = '浙江省有哪些单位对污水相关服务或产品有需求' ## show case有点问题,要同时查询招标单位和产品。 # data = '请分析下这两年电缆的中标金额情况' # data = '通常是几月到几月采购电缆的需求比较多?' # data = '请给我浙江万维空间这个公司合作的招标单位有哪些?' # data = '浙江万维空间这个公司合作的甲方单位有哪些?' # data = '请给我浙江万维空间和诸暨市自然资源规划局一些合作项目名称' data = '浙江万维空间这个公司今年的中标的产品有哪些,请画一个产品词云给我。' # data = '浙江万维空间在湖州市做了哪些业务?' # data = '浙江省哪些企业供应无人机相关产品,请列出他们的中标次数' # data = '浙江万维今年在杭州市做的超过100万的项目有哪些?' # data = '浙江万维空间和浙江众向规划这两家公司在浙江的中标情况对比?' # data = '浙江万维的业绩怎么样' data = '浙江聚禾空间和浙江万维空间这两家公司在浙江的中标情况对比,把金额按照月画一个折线图进行对比' # data = '你好' # data = '一仁电力设备有限公司去年的中标情况如何?' # data = '上海市青浦区徐泾镇人民政府常用的招标代理商有哪些' # data = '浙江省采购污水处理相关项目的单位或者企业有哪些?' # data = '去年中标电缆产品的供应商,按照中标次数排序给我' data = '浙江万维空间今年中标的城市里,取中标次数前十,以城市维度画个柱状图给我。' # data = '浙江万维今年中了几个标?总金额多少?' asyncio.run(run(data, [], LLMDict_GPT4_TURBO))