agent实验
准备工具
###################################
# 1. 模块导入
###################################
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain.agents import Tool,initialize_agent
from langchain.agents.agent_types import AgentType
from langchain_experimental.agents.agent_toolkits import create_csv_agent
from langchain_community.llms import Tongyi
import warnings
warnings.filterwarnings("ignore")
import json
###################################
# 2. 模型准备
###################################
# with open('./data/api_config.json') as f:
# key = json.load(f)
# sk-f6786566a950468ca2cb96752e37c503
llm = Tongyi(model_name='qwen-plus',
# dashscope_api_key=key['DASHSCOPE_API_KEY'],
dashscope_api_key="sk-f6786566a950468ca2cb96752e*",
temperature=1)
###################################
# 3. 表格转Agent
###################################
# 课程信息表
courses_agent = create_csv_agent(
llm=llm, # 大模型
path='C:/Users/19139/Desktop/xiao/pycharm/Agentshizhan/data/courses.csv', # 文件路径
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # agent类型
verbose=True, # 详细过程打印
allow_dangerous_code=True
)
# 订单信息表
orders_agent = create_csv_agent(
llm=llm, # 大模型
path='C:/Users/19139/Desktop/xiao/pycharm/Agentshizhan/data/orders.csv', # 文件路径
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # agent类型
verbose=True, # 详细过程打印
allow_dangerous_code=True
)
测试工具
orders_agent.invoke('姓名为黄梅的订单')

创建agent
###################################
# 4. 创建工具(Tools)函数
###################################
def chat(input):
'''模拟闲聊'''
return llm.invoke(input)
def search_courses(input):
'''查询课程信息'''
return courses_agent.invoke(input)
def search_orders(input):
'''查询订单信息'''
return orders_agent.invoke(input)
###################################
# 5. 工具组装
###################################
tools = [
Tool(
name='search_courses',
func=search_courses,
description='用来查询课程相关的信息'),
Tool(
name='search_orders',
func=search_orders,
description='用来查询订单相关的信息'),
Tool(
name='chat',
func=chat,
description='纯闲聊,回答与课程信息和订单信息无关的任何问题')
]
###################################
# 6. 创建Agent及使用
###################################
agent = initialize_agent(
llm=llm,
tools=tools, # 工具组
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # 'zero_shot_react_description'
verbose=True
)
测试
agent.invoke('今天天气怎么样')

question3 = "找到廖磊同学的订单情况"
print(agent.invoke(question3))


浙公网安备 33010602011771号