198 lines
8.2 KiB
Python
198 lines
8.2 KiB
Python
import os, sys, requests
|
||
|
||
src_dir = os.path.join(
|
||
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||
)
|
||
sys.path.append(src_dir)
|
||
|
||
from dev_opsgpt.tools import (
|
||
toLangchainTools, get_tool_schema, DDGSTool, DocRetrieval,
|
||
TOOL_DICT, TOOL_SETS
|
||
)
|
||
|
||
from configs.model_config import *
|
||
from dev_opsgpt.connector.phase import BasePhase
|
||
from dev_opsgpt.connector.agents import BaseAgent
|
||
from dev_opsgpt.connector.chains import BaseChain
|
||
from dev_opsgpt.connector.schema import (
|
||
Message, load_role_configs, load_phase_configs, load_chain_configs
|
||
)
|
||
from dev_opsgpt.connector.configs import AGETN_CONFIGS, CHAIN_CONFIGS, PHASE_CONFIGS
|
||
import importlib
|
||
|
||
print(src_dir)
|
||
|
||
# tools = toLangchainTools([TOOL_DICT[i] for i in TOOL_SETS if i in TOOL_DICT])
|
||
|
||
TOOL_SETS = [
|
||
"StockInfo", "StockName"
|
||
]
|
||
|
||
tools = toLangchainTools([TOOL_DICT[i] for i in TOOL_SETS if i in TOOL_DICT])
|
||
|
||
|
||
role_configs = load_role_configs(AGETN_CONFIGS)
|
||
chain_configs = load_chain_configs(CHAIN_CONFIGS)
|
||
phase_configs = load_phase_configs(PHASE_CONFIGS)
|
||
|
||
agent_module = importlib.import_module("dev_opsgpt.connector.agents")
|
||
|
||
|
||
# agent的测试
|
||
query = Message(role_name="tool_react", role_type="human",
|
||
input_query="我有一份时序数据,[0.857, 2.345, 1.234, 4.567, 3.456, 9.876, 5.678, 7.890, 6.789, 8.901, 10.987, 12.345, 11.234, 14.567, 13.456, 19.876, 15.678, 17.890, 16.789, \
|
||
18.901, 20.987, 22.345, 21.234, 24.567, 23.456, 29.876, 25.678, 27.890, 26.789, 28.901, 30.987, 32.345, 31.234, 34.567, 33.456, 39.876, 35.678, 37.890, 36.789, 38.901, 40.987],\
|
||
我不知道这份数据是否存在问题,请帮我判断一下", tools=tools)
|
||
|
||
query = Message(role_name="tool_react", role_type="human",
|
||
input_query="帮我确认下127.0.0.1这个服务器的在10点是否存在异常,请帮我判断一下", tools=tools)
|
||
|
||
query = Message(role_name="code_react", role_type="human",
|
||
input_query="帮我确认当前目录下有哪些文件", tools=tools)
|
||
|
||
# "给我一份冒泡排序的代码"
|
||
query = Message(role_name="user", role_type="human",
|
||
input_query="对employee_data.csv进行数据分析", tools=tools)
|
||
|
||
role = role_configs["general_planner"]
|
||
agent_class = getattr(agent_module, role.role.agent_type)
|
||
agent = agent_class(role.role,
|
||
task = None,
|
||
memory = None,
|
||
chat_turn=role.chat_turn,
|
||
do_search = role.do_search,
|
||
do_doc_retrieval = role.do_doc_retrieval,
|
||
do_tool_retrieval = role.do_tool_retrieval,)
|
||
|
||
# message = agent.run(query)
|
||
# print(message.role_content)
|
||
|
||
|
||
# chain的测试
|
||
|
||
# query = Message(role_name="deveploer", role_type="human", role_content="编写冒泡排序,并生成测例")
|
||
# query = Message(role_name="general_planner", role_type="human", role_content="对employee_data.csv进行数据分析")
|
||
# query = Message(role_name="tool_react", role_type="human", role_content="我有一份时序数据,[0.857, 2.345, 1.234, 4.567, 3.456, 9.876, 5.678, 7.890, 6.789, 8.901, 10.987, 12.345, 11.234, 14.567, 13.456, 19.876 , 15.678, 17.890, 16.789, 18.901, 20.987, 22.345, 21.234, 24.567, 23.456, 29.876, 25.678, 27.890, 26.789, 28.901, 30.987, 32.345, 31.234, 34.567, 33.456, 39.876, 35.678, 37.890, 36.789, 38.901, 40.987],\我不知道这份数据是否存在问题,请帮我判断一下", tools=tools)
|
||
|
||
# role = role_configs[query.role_name]
|
||
# role1 = role_configs["general_planner"]
|
||
# role2 = role_configs["executor"]
|
||
|
||
# agents = [
|
||
# getattr(agent_module, role1.role.agent_type)(role1.role,
|
||
# task = None,
|
||
# memory = None,
|
||
# do_search = role1.do_search,
|
||
# do_doc_retrieval = role1.do_doc_retrieval,
|
||
# do_tool_retrieval = role1.do_tool_retrieval,),
|
||
# getattr(agent_module, role2.role.agent_type)(role2.role,
|
||
# task = None,
|
||
# memory = None,
|
||
# do_search = role2.do_search,
|
||
# do_doc_retrieval = role2.do_doc_retrieval,
|
||
# do_tool_retrieval = role2.do_tool_retrieval,
|
||
# stop = "\n**Observation:**",
|
||
# chat_turn=5,
|
||
# ),
|
||
# ]
|
||
|
||
# query = Message(role_name="user", role_type="human",
|
||
# input_query="确认本地是否存在book_data.csv,并查看它有哪些列和数据类型,分析这份数据的内容,根据这个数据预测未来走势", tools=tools)
|
||
# query = Message(role_name="user", role_type="human",
|
||
# input_query="确认本地是否存在employee_data.csv,并查看它有哪些列和数据类型;然后画柱状图", tools=tools)
|
||
# chain = BaseChain(chain_configs["executorChain"], agents, do_code_exec=False, chat_turn=1, do_checker=False)
|
||
|
||
# output_message, local_memory = chain.step(query)
|
||
# print(output_message.role_content)
|
||
|
||
# print("\n".join("\n".join([": ".join(j) for j in i]) for i in chain.get_agents_memory()))
|
||
# print("\n".join(": ".join(i) for i in chain.get_memory()))
|
||
# print( chain.get_agents_memory_str())
|
||
# print( chain.get_memory_str())
|
||
|
||
|
||
|
||
|
||
# 测试 phase
|
||
phase_name = "toolReactPhase"
|
||
phase_name = "codeReactPhase"
|
||
# phase_name = "chatPhase"
|
||
|
||
# phase = BasePhase(phase_name,
|
||
# task = None,
|
||
# phase_config = PHASE_CONFIGS,
|
||
# chain_config = CHAIN_CONFIGS,
|
||
# role_config = AGETN_CONFIGS,
|
||
# do_summary=False,
|
||
# do_code_retrieval=False,
|
||
# do_doc_retrieval=True,
|
||
# do_search=False,
|
||
# )
|
||
|
||
# query = Message(role_name="user", role_type="human",
|
||
# input_query="确认本地是否存在employee_data.csv,并查看它有哪些列和数据类型,并选择合适的数值列画出折线图")
|
||
|
||
|
||
phase_name = "baseTaskPhase"
|
||
phase = BasePhase(phase_name,
|
||
task = None,
|
||
phase_config = PHASE_CONFIGS,
|
||
chain_config = CHAIN_CONFIGS,
|
||
role_config = AGETN_CONFIGS,
|
||
do_summary=False,
|
||
do_code_retrieval=False,
|
||
do_doc_retrieval=True,
|
||
do_search=False,
|
||
)
|
||
|
||
query_content = "查询贵州茅台的股票代码,并查询截止到当前日期(2023年11月8日)的最近10天的每日时序数据,然后对时序数据画出折线图并分析"
|
||
query_content = "判断下127.0.0.1这个服务器的在10点的监控数据,是否存在异常"
|
||
query_content = "确认本地是否存在employee_data.csv,并查看它有哪些列和数据类型;然后画柱状图"
|
||
|
||
query = Message(role_name="user", role_type="human", role_content=query_content, input_query=query_content, origin_query=query_content, tools=tools)
|
||
|
||
query = Message(role_name="human", role_type="human", input_query=query_content, role_content=query_content, origin_query=query_content)
|
||
|
||
output_message = phase.step(query)
|
||
|
||
# print(phase.get_chains_memory(content_key="step_content"))
|
||
# print(phase.get_chains_memory_str(content_key="step_content"))
|
||
# print(output_message.to_tuple_message(return_all=True))
|
||
|
||
|
||
from dev_opsgpt.tools import DDGSTool, CodeRetrieval
|
||
# print(DDGSTool.run("langchain是什么", 3))
|
||
# print(CodeRetrieval.run("dsadsadsa", query.role_content, code_limit=3, history_node_list=[]))
|
||
|
||
|
||
# from dev_opsgpt.chat.agent_chat import AgentChat
|
||
|
||
# agentChat = AgentChat()
|
||
# value = {
|
||
# "query": "帮我确认下127.0.0.1这个服务器的在10点是否存在异常,请帮我判断一下",
|
||
# "phase_name": "toolReactPhase",
|
||
# "chain_name": "",
|
||
# "history": [],
|
||
# "doc_engine_name": "DSADSAD",
|
||
# "search_engine_name": "duckduckgo",
|
||
# "code_engine_name": "",
|
||
# "top_k": 3,
|
||
# "score_threshold": 1.0,
|
||
# "stream": False,
|
||
# "local_doc_url": False,
|
||
# "do_search": False,
|
||
# "do_doc_retrieval": False,
|
||
# "do_code_retrieval": False,
|
||
# "do_tool_retrieval": False,
|
||
# "custom_phase_configs": {},
|
||
# "custom_chain_configs": {},
|
||
# "custom_role_configs": {},
|
||
# "choose_tools": list(TOOL_SETS),
|
||
# "history_node_list": [],
|
||
# "isDetailed": False,
|
||
# "upload_file": ""
|
||
# }
|
||
|
||
|
||
# for answer in agentChat.achat(**value):
|
||
# print("answer:", answer) |